WO2009005225A1 - Dispositif et procédé de codage/décodage de données vidéo - Google Patents

Dispositif et procédé de codage/décodage de données vidéo Download PDF

Info

Publication number
WO2009005225A1
WO2009005225A1 PCT/KR2008/003302 KR2008003302W WO2009005225A1 WO 2009005225 A1 WO2009005225 A1 WO 2009005225A1 KR 2008003302 W KR2008003302 W KR 2008003302W WO 2009005225 A1 WO2009005225 A1 WO 2009005225A1
Authority
WO
WIPO (PCT)
Prior art keywords
decoding
information
decoder
unit
bitstream
Prior art date
Application number
PCT/KR2008/003302
Other languages
English (en)
Inventor
Euee-Seon 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 WO2009005225A1 publication Critical patent/WO2009005225A1/fr

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/654Transmission by server directed to the client
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • 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/46Embedding additional information in the video signal during the compression process
    • H04N19/467Embedding additional information in the video signal during the compression process characterised by the embedded information being invisible, e.g. watermarking
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2662Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/462Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
    • H04N21/4621Controlling the complexity of the content stream or additional data, e.g. lowering the resolution or bit-rate of the video stream for a mobile client with a small screen
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/633Control signals issued by server directed to the network components or client
    • H04N21/6332Control signals issued by server directed to the network components or client directed to client
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/633Control signals issued by server directed to the network components or client
    • H04N21/6332Control signals issued by server directed to the network components or client directed to client
    • H04N21/6336Control signals issued by server directed to the network components or client directed to client directed to decoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • H04N21/64784Data processing by the network
    • H04N21/64792Controlling the complexity of the content stream, e.g. by dropping packets

Definitions

  • the present invention relates to encoding/decoding of video data, more specifically to a device and a method for encoding/decoding video data through organic coupling or selective activation of functional units.
  • a video is converted to a bitstream by an encoder.
  • the bitstream is stored depending on a coding type that satisfies the constraint condition of the encoder.
  • MPEG requests syntax and semantics, which are the constraint condition of the encoder.
  • the syntax which refers to the structure, format, or length of data, shows the sequence of expressing the data.
  • the syntax is to meet a rule for encoding / decoding and defines the sequence and length of each element of the bitstream and a corresponding data format.
  • the semantics refers to the meaning of each bit that constitutes data. In other words, the semantics shows the meaning of each element of the bitstream.
  • bitstream can be generated in various types depending on the encoding condition or the applied standard (or codec) of the encoder.
  • each standard e.g. MPEG-I, MPEG-2, MPEG-4 and MPEG-4 AVC
  • MPEG-4 AVC has different bitstream syntaxes.
  • bitstream encoded according to each standard or encoding condition has different types (i.e. syntax and semantics).
  • a decoder corresponding to a pertinent encoder must be used to perform the decoding of the bitstream.
  • the conventional bitstream decoder has a restriction that must satisfy the constraint condition of the encoder. This restriction makes it difficult to realize an integration decoder corresponding to a plurality of standards.
  • the present invention which is contrived to solve the aforementioned problems, provides a bitstream decoding device and a method thereof that can decode a bitstream encoded in various types (syntaxes and semantics) in accordance with each standard (e.g. MPEG-I, MPEG-2, MPEG-4 and MPEG-4 AVC) by using the same information recognizing method.
  • the present invention provides a bitstream encoding device and a method thereof that generate an extended bitstream added with a decoder description or independently generate a bitstream and a decoder description in order to decode a bitstream, encoded in various types (syntaxes and semantics), by using the same information recognizing method.
  • the present invention also provides a bitstream decoding device and a method thereof that parse a bitstream, compressed in various methods, by using the same information analyzing method and organically control each functional unit for performing the decoding by using the parsed data.
  • the present invention provides a bitstream encoding device and a method thereof that can apply a hierarchy structure of a codec to syntax parsing and decoding operations to more efficiently write a decoder description.
  • the present invention provides a bitstream decoding device and a method thereof that can suggest scheduling management of each codec and an organic processing structure (e.g. a parallel coupling structure, a series combining structure, an independent processing structure and an individual processing structure) by using a decoder description.
  • an organic processing structure e.g. a parallel coupling structure, a series combining structure, an independent processing structure and an individual processing structure
  • the present invention provides a bitstream encoding device and a method thereof that can design and build a system in various ways by using a written decoder description or hierarchy information only.
  • the present invention provides a bitstream encoding/decoding device and a method thereof that can commonly apply a syntax analyzing method for decoding various types of bit streams.
  • the present invention provides a bitstream encoding/decoding device and a method thereof that can apply a set of new commands for parsing various types of bitstreams by using a common syntax analyzing method.
  • the present invention provides a bitstream decoding device and a method thereof that can allow a decoder to easily decode a bitstream when a syntax element is changed, added or deleted.
  • the present invention provides a bitstream decoding device and a method thereof that can allow some elements used to decode a bit stream to share the element information (i.e. a result from syntax parsing) of analyzed syntax.
  • the present invention provides a bitstream decoding device and a method thereof that can allow the element information of already-analyzed syntax to be used to analyze the syntax element of a following bit stream.
  • the present invention provides a bitstream decoding device and a method thereof that can group various functions included in decoding methods suggested by a variety of standards (or codec) according to each functional unit to put the grouped functions in a toolbox.
  • the present invention provides a bitstream decoding device and a method thereof that can selectively use some functional units necessary for a toolbox in order to decode a bitstream encoded in various types.
  • the present invention provides a bitstream decoding device and a method thereof that can easily change, add or delete the functional units stored in a toolbox.
  • the present invention is to internationally standardize the generation of codec integration for decoding a bitstream, a decoder description for allowing a bitstream to be processed by the same information analyzing method and the realization of an extended bitstream.
  • a decoding device can include a toolbox, configured to include a plurality of functional units which are realized to perform individually each process determined by at least one decoding standard to decode a bitstream; a description storing unit, configured to store partial decoder descriptions for controlling operations of some or all of the functional units; and a decoder forming unit, configured to control an encoded video datum to be decoded as video datum by selectively loading some of all of the functional units with reference to at least one partial decoder description.
  • a working memory for allowing a functional unit loaded by a control of the decoder forming unit to perform a process can be included in the decoder forming unit or coupled to the decoder forming unit.
  • the decoder forming unit can include a storing unit, configured to store at least one of control signal/context information (CSCI) generated by a process performed by at least one functional unit and a datum for decoding; and a connection control unit, configured to control the functional unit(s) to be selectively loaded.
  • the toolbox can include at least one parsing functional unit configured to perform the syntax parsing of the bitstream and a plurality of decoding functional units configured to decode the encoded video datum.
  • a partial decoder description being stored in the description storing unit can include information related to a hierarchy of functional units, and the decoder forming unit performs a call between hierarchies of at least one functional unit by referring to the information.
  • the decoder forming unit can controls an object of an uppermost hierarchy to be generated and executed, and executing the object can load functional units included in the uppermost hierarchy and a calling unit for calling a hierarchy designated by the hierarchy information. If a datum necessary for at least one functional unit pertaining to a corresponding hierarchy to perform a predetermined process is stored in a storing unit, the calling unit can load the corresponding hierarchy.
  • the loaded functional unit can start to perform a process.
  • a result datum obtained by a process performed by each functional unit can be stored in the storing unit.
  • a hierarchy structure being recognized by the information related to a hierarchy can include at least one of a sequence layer, a picture layer, a slice layer, a macroblock layer and a block layer, and a lower hierarchy can be called by an upper hierarchy.
  • An encoded decoder description corresponding to a decoder description for forming the partial decoder description can be provided as a datum independent of the bitstream or as an element of an extended bitstream combined with the bitstream.
  • the decoding device can further include a dividing unit configured to divide the extended bitstream into the encoded decoder description and the bitstream.
  • the decoding device can further include a description decoder configured to convert the encoded decoder description to the decoder description.
  • the storing unit can include a CSCI storing unit, configured to store control signal/context information (CSCI) generated by the parsing functional unit; and a data storing unit, configured to store a datum for a decoding, which is at least one of a datum corresponding to the encoded video datum generated by the parsing functional unit and a process-datum processed by the decoding functional unit.
  • CSCI control signal/context information
  • the partial decoder description being stored in the description storing unit can include a decoding hierarchy table (DHT) which indicates information related to a hierarchy structure for decoding the encoded video datum and lower hierarchies per each hierarchy; a syntax element table (SET) which indicates a process for generating information related to a bitstream syntax and element information corresponding to the bitstream syntax; a syntax rule table (S-RT) which indicates names of a connection information between the bitstream syntaxes, information related to a lower hierarchy to be called per each hierarchy and CSCI in which a result datum generated by a process performed by the SET is to be stored; a control signal and context information table (CSCIT) which indicates a detailed information related to CSCI per hierarchy structure; a FU rule table (F-RT) which indicates a called or activated order of a plurality of decoding functional units based on the hierarchy structure; a FU list (FL) which indicates a list of the decoding functional units; and a FU-CSCIT which indicates CSCI necessary for
  • connection control unit can control at least one functional unit pertaining to an uppermost hierarchy to be loaded by using the F-RT.
  • the parsing functional unit can generate at least one of the CSCI and a datum to be decoded by referring to at least one of the SET, the S-RT and the CSCIT.
  • the decoding functional unit can perform a predetermined process by referring to at least one of the FL, the F-RT, the FU-CSCIT and the CSCIT.
  • the decoder description can include at least one distinguishment area, and information for forming the partial decoder description can be inserted into the distinguishment area(s).
  • the partial decoder description can include designated information corresponding to a codec number (codec No.) and a profile and level number (profile and level No.) to decode the bitstream, and the description decoder can extract tables in quantities of n corresponding to the designated information among a plurality of partial decoder descriptions that are pre-stored in the description storing unit.
  • the distinguishment areas in qualities of m, m being a natural number, among the distinguishment areas can include designated information corresponding to a codec number (codec No.) and a profile and level number (profile and level No.) of a corresponding partial decoder description, and the distinguishment areas in qualities of k, k being a natural number, can include binary code information for forming a corresponding partial decoder description, where the description decoder can extract m partial decoder descriptions corresponding to the designated information among the plurality of partial decoder descriptions pre- stored in the description storing unit, generate k tables by using the binary code information and store the k generated tables in the description storing unit.
  • codec No. codec No.
  • profile and level number profile and level No.
  • a decoding device can include a parser, configured to receive schema information for analyzing a bitstream and converting the bitstream to a meaningful datum to output the datum; and a decoding solution, configured to output a video datum by performing a bitstream decoding using the datum.
  • the decoding device can further include a toolbox configured to include at least one functional unit which is realized to perform a predetermined process; and a decoder forming unit configured to receive connection control information corresponding to the bitstream, set a connection relationship of at least one functional unit of the toolbox and control the functional unit(s) to be loaded on the decoding solution.
  • a toolbox configured to include at least one functional unit which is realized to perform a predetermined process
  • a decoder forming unit configured to receive connection control information corresponding to the bitstream, set a connection relationship of at least one functional unit of the toolbox and control the functional unit(s) to be loaded on the decoding solution.
  • the decoder forming unit can receive the datum from the parser and provide the received datum to the decoding solution.
  • the decoding device can further include a dividing unit configured to receive a decoder description and divides the received decoder description into the schema information and the connection control information to output the schema information and the connection control information, respectively.
  • the decoding solution can include a data interface configured to receive the datum and provide the received datum to a corresponding unit or to allow a corresponding functional unit to read the datum.
  • the schema information can include information related to details of syntax information included in the bitstream and comprises at least one of a length, a meaning, an appearance condition and a repeated appearance frequency of the syntax information.
  • the schema information can be written by using an XML grammar.
  • connection control information can be written by using a CAL markup language (CALML).
  • CALML CAL markup language
  • the toolbox can be formed to include subtoolboxes which are sets of the functional units distinguished according to an applied standard.
  • the decoding solution can include a working memory configured to allow at least one functional unit to be loaded and operated.
  • the toolbox can be an element of the decoder forming unit.
  • a functional unit loaded on the decoding solution can perform a predetermined process in which at least one of the datum and an output datum, outputted by a functional unit previously performing the process, is determined as an input datum.
  • another aspect of the present invention features a decoding method that can be universally used for various standards and/or a recorded medium recorded with a program for executing the method thereof.
  • the decoding method can include (a) generating and storing a decoder description corresponding to inputted encoded decoder description information, the decoder description being formed to include a plurality of partial decoder descriptions; and (b) loading a parsing functional unit and at least one decoding functional unit pertaining to an uppermost hierarchy with reference to at least one partial decoder description, where the parsing functional unit can perform a syntax parsing of a bitstream, and the decoding functional unit(s) of the uppermost hierarchy can perform a corresponding process if control signal/context information (CSCI) for performing a predetermined process and a datum for a decoding is stored at a storing unit by the parsing functional unit, and if the control signal/context information (CSCI) for activating a first hierarchy and the datum for a decoding is stored in the storing unit to correspond a hierarchy structure, the first hierarchy can be loaded by an activated second hierarchy.
  • CSCI control signal/context information
  • the decoding functional unit(s) can determine whether to be called or activated corresponding to a hierarchy structure of the encoded video datum, and a video datum corresponding to the bitstream can be outputted by a process performed at least one time by each decoding functional unit of the decoder description.
  • the parsing functional unit and the decoding functional unit(s) can be realized to independently perform functions suggested by each decoding standard to decode the bitstream.
  • the storing unit can include a CSCI storing unit, configured to store CSCI generated by the parsing functional unit; and a data storing unit, configured to store a datum for a decoding, which is at least one of a datum corresponding to the encoded video datum generated by the parsing functional unit and a process-datum processed by a decoding functional unit.
  • the decoding functional units can start their operations by storing CSCI necessary to perform a predetermined process and the datum for a decoding in the storing unit.
  • the decoder description can include a decoding hierarchy table (DHT) which indicates information related to a hierarchy structure for decoding the encoded video datum included in the bitstream and lower hierarchies per each hierarchy; a syntax element table (SET) which indicates a process for generating information related to a bitstream syntax and element information corresponding to the bitstream syntax; a syntax rule table (S-RT) which indicates names of a connection information between the bitstream syntaxes, information related to a lower hierarchy to be called per each hierarchy and CSCI in which a result datum generated by a process performed by the SET is to be stored; a control signal and context information table (CSCIT) which indicates a detailed information related to CSCI per hierarchy structure; a FU rule table (F-RT) which indicates a called or activated order of a plurality of decoding functional units based on the hierarchy structure; a FU list (FL) which indicates a list of the decoding functional units
  • DHT decoding hierarchy table
  • SET syntax element table
  • S-RT syntax
  • the decoder description can further include a partial decoder description, which is a default value table (DVT) indicating the relation between an actual value and a code value in an entropy coding.
  • DVD default value table
  • At least one functional unit pertaining to an uppermost hierarchy can be controlled to be activated or called by using the F-RT.
  • At least one of the CSCI and the datum to be decoded can be generated by referring to at least the SET, the S-RT and the CSCIT is generated.
  • a recorded medium tangibly embodying a program of instructions executable by a decoding device to perform a decoding method including (a) generating and storing a decoder description corresponding to an inputted encoded decoder description information, the decoder description being formed to include a plurality of partial decoder descriptions; and (b) loading a parsing functional unit and at least one decoding functional unit pertaining to an uppermost hierarchy with reference to at least one partial decoder description, where the parsing functional unit can perform a syntax parsing of a bitstream, and the decoding functional unit(s) of the uppermost hierarchy can perform a corresponding process if control signal/context information (CSCI) for performing a predetermined process and a datum for a decoding is stored at a storing unit by the parsing functional unit, and if the control signal/context information (CSCI) for activating a first hierarchy and the datum for
  • CSCI control signal/context information
  • a decoding method can include (a) converting a bitstream to a meaningful datum to output the datum by using an inputted schema information; (b) setting a sequence of successive operations of functional units by using an inputted connection control information; and (c) allowing a bitstream decoding to be performed by the functional units by using the datum.
  • the (b) can be performed by allowing a decoder forming unit to set a sequence of processes to be performed by at least one of a plurality of functional units included in a toolbox by using the connection control information.
  • the schema information can be information related to details of a syntax information included in the bitstream and comprises at least one of a length, a meaning, an appearance condition and a repeated appearance frequency of the syntax information.
  • the schema information can be written by using an XML grammar.
  • connection control information can be written by using a CAL markup language (CALML).
  • CALML CAL markup language
  • the functional unit can perform a predetermined process in which at least one of the datum and an output datum, outputted by a functional unit previously performing the process, is determined as an input datum.
  • a recorded medium tangibly embodying a program of instructions executable by a decoding device to perform a decoding method, the recorded medium being readable by the decoding device, including (a) inputted schema information; (b) setting a sequence of successive operations of functional units by using an inputted connection control information; and (c) allowing a bitstream decoding to be performed by the functional units by using the datum.
  • an integrated codec apparatus and a method thereof in accordance with the present invention can decode a bitstream encoded in various types (syntaxes and semantics) in accordance with each standard (e.g. MPEG-I, MPEG-2, MPEG-4 and MPEG-4 AVC) by using the same information recognizing method.
  • the present invention can also generate an extended bitstream added with a decoder description to decode a bitstream, encoded in various types (syntaxes and semantics), by using the same information recognizing method.
  • the present invention can apply a hierarchy structure of a codec to syntax parsing and decoding operations to more efficiently write a decoder description.
  • the present invention can suggest scheduling management of each codec and an organic processing structure (e.g. a parallel coupling structure, a series combining structure, an independent processing structure and an individual processing structure) by using a decoder description.
  • an organic processing structure e.g. a parallel coupling structure, a series combining structure, an independent processing structure and an individual processing structure
  • the present invention can design and build a system in various ways by using a written decoder description only.
  • the present invention can parse a bitstream, compressed in various methods, by using the same information analyzing method and organically control each functional unit for performing the decoding by using the parsed data.
  • the present invention can commonly apply a syntax analyzing method for decoding various types of bit streams.
  • the present invention can apply a set of new commands for parsing various types of bitstreams by using a common syntax analyzing method.
  • the present invention can easily decode a bitstream when a syntax element is changed, added or deleted.
  • the present invention can allow some elements used to decode a bit stream to share the element information of analyzed syntax (i.e. a result from syntax parsing).
  • the present invention can allow element information of analyzed syntax to be used to analyze the syntax element of a following bit stream.
  • the present invention can be used for the integration of a video or still image codec performing the processing in units of blocks besides MPEG-I, MPEG-2, MPEG-4 and MPEG-4 AVC codecs.
  • the present invention can group various functions included in decoding methods suggested by a variety of standards (or codec) according to each functional unit to put the grouped functions in a toolbox.
  • the present invention can selectively use some functional units necessary for a toolbox in order to decode a bitstream encoded in various types.
  • the present invention provides a bitstream decoding device and a method thereof that can easily change, add or delete the functional units stored in a toolbox.
  • FIG. 1 shows a brief structure of a typical decoder
  • FIG. 2 shows a brief structure of a typical encoder
  • FIG. 3 shows a brief structure of a decoder in accordance with an embodiment of the present invention
  • FIG. 4 shows a brief structure of a decoding processing unit in accordance with an embodiment of the present invention
  • FIG. 5 shows a brief structure of a decoding processing unit in accordance with another embodiment of the present invention
  • FIG. 6 shows a brief structure of an extended bitstream in accordance with an embodiment of the present invention
  • FIG. 7 shows types of functional units for syntax parsing in accordance with an embodiment of the present invention
  • FIG. 8 shows types of functional units performing decoding processing in accordance with an embodiment of the present invention
  • FIG. 9 shows a hierarchy structure determined by a decoding hierarchy table (DHT) in accordance with an embodiment of the present invention
  • FIG. 10 shows a call structure between hierarchies and a connection structure in a hierarchy, determined by a syntax rule table (S-RT) in accordance with an embodiment of the present invention
  • FIG. 11 is a view for describing an interface set for a functional unit to be applied to a plurality of standards in accordance with an embodiment of the present invention
  • FIG. 12 shows a connection structure of a dedicated buffer space between nodes per each hierarchy in accordance with an embodiment of the present invention
  • FIG. 13 shows how a dedicated buffer space for storing CSCI data is included in accordance with an embodiment of the present invention
  • FIG. 14 shows an including relationship of a dedicated buffer space for storing output data outputted by a functional unit in accordance with an embodiment of the present invention
  • FIG. 15 conceptually shows parallel processing syntax parsing and data decoding in accordance with an embodiment of the present invention
  • FIG. 16 shows the structure of an extended bitstream in accordance with a first embodiment of the present invention
  • FIG. 17 shows the structure of an extended bitstream in accordance with a second embodiment of the present invention
  • FIG. 18 shows the structure of an extended bitstream in accordance with a third embodiment of the present invention.
  • FIG. 19 shows the structure of an extended bitstream in accordance with a fourth embodiment of the present invention.
  • FIG. 20 shows the structure of an extended bitstream in accordance with a fifth embodiment of the present invention.
  • FIG. 21 shows the structure of an extended bitstream in accordance with a sixth embodiment of the present invention
  • FIG. 22 shows the structure of an extended bitstream in accordance with a seventh embodiment of the present invention
  • FIG. 23 shows the structure of an extended bitstream in accordance with an eighth embodiment of the present invention.
  • FIG. 24 is a block diagram showing an encoder in accordance with an embodiment of the present invention.
  • FIG. 25 shows a brief structure of a decoder in accordance with an embodiment of the present invention.
  • FIG. 26 detailedly shows how a decoding unit processes a bitstream in accordance with an embodiment of the present invention
  • FIG. 27 shows how a decoder description is inputted in accordance with another embodiment of the present invention
  • FIG. 28 shows how a decoder description is inputted in accordance with another embodiment of the present invention.
  • FIG. 29 shows the structure of a decoding unit in accordance with another embodiment of the present invention.
  • FIG. 30 shows the structure of a BSDL parser in accordance with another embodiment of the present invention.
  • FIG. 31 through FIG. 37 show how a CDDL structure for generating a parser FU supporting a requirement of ADM is changed in accordance with embodiments of the present invention.
  • 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.
  • FIG. 1 shows a brief structure of a typical decoder
  • FIG. 2 shows a brief structure of a typical encoder
  • 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 has a structure that can be changed depending on an applied standard and some elements can be replaced with other elements.
  • variable length decoding unit 110 determines a quantized discrete cosine transform (DCT) coefficient by using a predetermined Huffman table and the inverse scanning unit 115 generates data having the same sequence as a corresponding video 140 by performing inverse scanning.
  • DCT discrete cosine transform
  • the inverse scanning unit 115 outputs corresponding values in the inverse order of scanning in various ways.
  • a scanning direction can be determined depending on the distribution of a frequency band.
  • the scanning method can be performed in a zigzag form.
  • the scanning can be performed per codec in various ways.
  • Syntax parsing can be integratedly performed by the variable length decoding unit 110 or by an element for processing a bitstream 105 prior to the variable length decoding unit 110.
  • the syntax is parsed by a predetermined rule only, 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 band.
  • the inverse quantization unit 125 performs the inverse quantization of inversely scanned data. In other words, the inverse quantization unit 125 returns DC and AC coefficients by using a quantization parameter (OP) designated in an encoding process.
  • OP quantization parameter
  • the inverse discrete cosine transform unit 130 evaluates an actual video data pixel value to generate a video object plane (VOP) by performing an inverse discrete cosine transform.
  • VOP video object plane
  • 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 shall be evident to any person of ordinary skill in the art. Briefly, the encoder 200 converts a video signal (i.e. a digital video pixel value) to a frequency value through the DCT and the quantization in order to performs the encoding. Then, the encoder 200 performs variable length encoding that differentiates the length of a corresponding bit according to the frequency of information to output it in a compressed bitstream format.
  • a video signal i.e. a digital video pixel value
  • FIG. 3 shows a brief structure of a decoder in accordance with an embodiment of the present invention
  • FIG. 4 shows a brief structure of a decoding processing unit in accordance with an embodiment of the present invention
  • FIG. 5 shows a brief structure of a decoding processing unit in accordance with another embodiment of the present invention
  • FIG. 6 shows a brief structure of an extended bitstream in accordance with an embodiment of the present invention
  • FIG. 7 shows types of functional units for syntax parsing in accordance with an embodiment of the present invention
  • FIG. 8 shows types of functional units performing decoding processing in accordance with an embodiment of the present invention
  • FIG. 9 shows a hierarchy structure determined by a decoding hierarchy table (DHT) in accordance with an embodiment of the present invention
  • DHT decoding hierarchy table
  • FIG. 10 shows a call structure between hierarchies and a connection structure in a hierarchy, determined by a syntax rule table (S-RT) in accordance with an embodiment of the present invention.
  • FIG. 11 is a view for describing an interface set for a functional unit to be applied to a plurality of standards in accordance with an embodiment of the present invention
  • FIG. 12 shows a connection structure of a dedicated buffer space between nodes per each hierarchy in accordance with an embodiment of the present invention.
  • FIG. 13 shows an including relationship of a dedicated buffer space for storing CSCI data in accordance with an embodiment of the present invention
  • FIG. 14 shows an including relationship of a dedicated buffer space for storing output data outputted by a functional unit in accordance with an embodiment of the present invention.
  • FIG. 15 conceptually shows parallel processing syntax parsing and data decoding in accordance with an embodiment of the present invention.
  • data is provided to a decoder 300.
  • the data is extracted as hierarchy information or helps the hierarchy information to be generated, in order to perform an encoding/decoding method in accordance with the hierarchy structure of the present invention.
  • the data corresponding to the hierarchy information can form an extended bitstream along with a bitstream before being provided to the decoder 300 or can be provided to the decoder 300 independently of the bitstream.
  • a storing unit of the decoder 300 pre-stores hierarchy information corresponding to pertinent data, providing the pertinent data can be obviously omitted.
  • the decoder 300 including a decoding processing unit 320 that decodes a bitstream has a structure that is different from the conventional decoder (refer to FIG. 1).
  • the decoder 300 includes a dividing unit 310 and the decoding processing unit 320. It shall be obvious that at least one of the elements (e.g. the dividing unit 310, the decoding processing unit 320 or at least one element included in the decoding processing unit 320) can be realized as a software program (or a combination of program codes) , which is designed to perform a function described below.
  • the dividing unit 310 divides the inputted extended bitstream 305 into an encoded decoder description 313 and a typical bitstream 316 (hereinafter, referred to as "conventional bitstream") and inputs each of them into the decoding processing unit.
  • the encoded decoder description 313 for providing the hierarchy information can be inputted into a description decoder 505 and the conventional bitstream 316 can be inputted into a decoder forming unit 420.
  • the dividing unit 310 can be omitted.
  • the conventional bitstream 316 can have the identical format to the bitstream 105 of FIG. 1.
  • the extended bitstream 305 and the encoded decoder description 313 of FIG. 6 is an only example for the convenience of description and understanding. It shall be obvious that the format of the hierarchy information and/or the extended bitstream 305 in accordance with the present invention is not limited to the example of FIG. 6.
  • the hierarchy information indicates indicating a hierarchy structure for decoding encoded video data included in the conventional bitstream 316, the designation of a hierarchy to be called by each hierarchy and a called or activated sequence between functional units.
  • the hierarchy information can be also formed in various ways. However, it is assumed that the hierarchy information is formed to have a plurality of segmentalized information (hereinafter, referred to as "decoder description") in the below description.
  • the encoded decoder description 313 includes configuration information of the conventional bitstream 105 and information related to the encoding type of the conventional bitstream 316 (or connection information between the functional units) in order to parse a bitstream encoded by various encoding methods (or encoding standards) and/or the conventional bitstream 316 encoded by a function selected by a user among various functions, by using a common analyzing method.
  • the encoded decoder description 313 can be included in the extended bitstream 305 before being provided to decoder 300 (refer to FIG. 3). Of course, the encoded decoder description 313 can be provided to the decoder 300 in the form of independent bitstreams or data.
  • the encoded decoder description 313 can be written by any description method capable of being recognized and/or analyzed by a description decoder 405.
  • the encoded decoder description 313 can be written by using the description method such as a textual description or a binary description.
  • the description decoder 405 can be omitted.
  • the encoded decoder description 313 can be decoded by the description decoder 405 as a decoder description 314.
  • the decoder description 314 can be divided into partial decoder descriptions such as a functional unit list (FL) 610, a functional unit rule table (F-RT) 620, a functional unit CSCIT (FU-CSCIT) 630, a control signal and context information table (CSCIT) 640, a decoding hierarchy table (DHT) 650, a syntax element table (SET) 660, a syntax-rule table (S-RT) 670 and a default value table (DVT) 680.
  • FL functional unit list
  • F-RT functional unit rule table
  • FU-CSCIT functional unit CSCIT
  • CSCIT control signal and context information table
  • DHT decoding hierarchy table
  • SET syntax element table
  • S-RT syntax-rule table
  • DVD default value table
  • the aforementioned partial decoder descriptions can be used as hierarchy information for allowing a plurality of functional units of the decoder 300 in accordance with the present invention to be activated corresponding to the hierarchy structure of encoded video data and to perform each pre-designated process.
  • the partial decoder descriptions can be also used as operation control information that determines which input data each functional unit uses to perform a designated process and which name information each functional unit uses when storing result data generated from the performance of the process.
  • the operation control information can be obviously included in the hierarchy information.
  • the hierarchy information can be embodied by at least one of the F-RT 620, the DHT 650 and the S-RT 670. If it is assumed that the encoded video data has a hierarchy dependant structure consisting of "an uppermost hierarchy, a next hierarchy... a next hierarchy and a lower most hierarchy," the uppermost hierarchy is firstly activated (i.e. an object of the uppermost hierarchy is generated and executed), and successively, the next hierarchies are activated. Finally, the lowermost hierarchy is activated. Even though each hierarchy is successively activated, the decoding of the encoded video data may not be completed by the successive operations of the functional units included in each hierarchy.
  • alternate operations of the functional units of the plurality of hierarchies can complete the decoding of the encoded video data. If one hierarchy is activated, all the decoding functional units included in an object of the pertinent hierarchy and at least one calling unit pertaining to a next hierarchy included in the pertinent object are activated. If control signal/context information (CSCI) necessary to perform a predetermined process and data for decoding are stored at the CSCI storing unit 430, the decoding functional units pertaining to the activated hierarchy start their operations.
  • CSCI control signal/context information
  • the calling unit of the activated next hierarchy generates and executes an object of the pertinent hierarchy if CSCI for at least one decoding functional unit of the same hierarchy to perform the process and data for decoding are stored at the CSCI storing unit 430.
  • This activates all the decoding functional units included in the pertinent object and at least one calling unit pertaining to a next hierarchy included in the pertinent object.
  • performing an object of one hierarchy can call a next hierarchy.
  • Each part decoder description can form a decoder description in variously changeable orders.
  • first decoder descriptions the pertinent partial decoder descriptions can be referred to as "first decoder descriptions" as necessary).
  • the DHT 650 can be information related to hierarchy structure of each codec and lower hierarchies per each hierarchy (refer to FIG. 9).
  • the hierarchy structure of each codec can be represented as a structure between upper and lower hierarchies, which is segmentalized into a sequence layer, a GOP layer, a VOP layer, a slice layer, a macroblock (MB) layer and a block layer, for example.
  • each codec can include at least one layer and each hierarchy can include at least one object.
  • the decoding process of encoded video data including a plurality of hierarchies will be briefly described by giving examples. Of course, the method of decoding a bitstream to correspond a hierarchy structure is obviously not limited to the below description.
  • an object of an uppermost hierarchy i.e. a first layer
  • the calling unit can be an element or a control operation of the connection control unit 425.
  • the hierarchy structure is assumed to successively include a first layer, a second layer and a third layer
  • performing an object of the first layer activates the calling units of at least one hierarchy (e.g. a GOP-I layer, a GOP -2 layer and a GOP-3) pertaining to the second layer
  • performing an object of any one of the second layer activates the calling units of at least one hierarchy (e.g. a picture-1 layer and a picture-2 layer in the case of performing an object of the GOP-I layer and a picture-3 layer and a picture-4 layer in the case of performing an object of the GOP-2 layer) pertaining to the third layer.
  • the decoding functional units of the pertinent activated hierarchy start their operations if CSCI necessary to perform a predetermined process and data for decoding are stored at the CSCI storing unit 430.
  • the calling unit of a lower hierarchy (i.e. the second layer) of the pertinent activated hierarchy (i.e. the first layer) generates and executes an object of the pertinent hierarchy, and all the decoding functional units included in the pertinent object and at least one calling unit of a lower hierarchy (i.e. a third layer) of the pertinent object are activated.
  • performing an object of one hierarchy can activate a lower hierarchy and the decoding functional units of the called hierarchy perform a predetermined process.
  • the encoded video data is reconstructed and outputted as video data by allowing the functional units, designated by the decoder description, among the functional units of each hierarchy to perform their operations at least one time.
  • the FU-CSCIT 630 can be information related to the partial decoder description for mapping between each functional unit of a toolbox 415 and element information stored at the CSCI storing unit 430.
  • the element information can function as a control variable for each functional unit of the toolbox 415.
  • the description decoder 405 decodes the encoded decoder description 313 inputted from the dividing unit 310 to generate the decoder description 314. After that, the description decoder 405 divides the generated decoder description 314 into a plurality of partial decoder descriptions having the form capable of being recognized by the decoder forming unit 420 before storing the divided partial decoder descriptions at the description storing unit 410.
  • Each partial decoder description stored at the description storing unit 410 is unnecessary to be a table having a typical format. It is sufficient that the partial decoder description is information capable of being recognized by the decoder forming unit 420. In other words, the description decoder 405 converts the data, such as binary data, included in the extended bitstream 305 to information capable of being analyzed by any functional unit and/or the connection control unit 425 before storing the converted information at the description storing unit 410.
  • the partial decoder descriptions such as the FL 610, the F-RT 620, the FU-CSCIT 630, the CSCIT 640, the DHT 650, the SET 660, the S-RT 670 and the DVT 680 can be stored at the description decoder 405 by allowing the decoder description to be analyzed by the description decoder 405.
  • the description decoder 405 can allow a table identifier to be inserted according to each distinguishable partial decoder descriptions in order to distinguish each of the partial decoder descriptions.
  • the decoder description includes information corresponding to all partial decoder descriptions.
  • the decoder description can include a codec number and a profile and level number.
  • decoder description can include codec numbers and profile and level numbers for only some of the partial decoder descriptions.
  • the description decoder 405 can select a corresponding partial decoder description, to be used for the decoding, from the partial decoder descriptions pre-stored at the description storing unit 410, instead of generating a new partial decoded description for all partial decoder descriptions or some of the partial decoder descriptions.
  • the description decoder 405 can extract a partial decoder description corresponding to a pertinent codec from the partial decoder descriptions pre-stored at the description storing unit 410 and generate a new partial decoder description by applying the correction information.
  • the description decoder 405 can generate a new partial decoder description to be used in the decoding for all partial decoder descriptions or some of the partial decoder descriptions.
  • the decoder description can further include revision information in addition to the decoder description (DD-T) related to each partial decoder descriptions.
  • the description storing unit 410 stores each partial decoder description that is divided by the description decoder 405.
  • the description storing unit 410 can pre-store at least one partial decoder descriptions to allow at least one partial decoder descriptions to be used by the decoding unit 340.
  • the structure of the encoded decoder description 313 for extracting partial decoder descriptions will be described in detail later with reference to FIG. 16 through FIG. 23.
  • FIG. 4 shows a first embodiment of the decoding processing unit 320.
  • the decoding processing unit 320 can include a description decoder 405, a description storing unit 410, a toolbox 415 and a decoder forming unit 420.
  • the decoder forming unit 420 includes a connection control unit 425 and a CSCI storing unit 430.
  • the decoder forming unit 420 can further include a working memory (not shown) for loading at least one functional unit by the call of the connection control unit 425 and performing a predetermined process of the loaded functional units.
  • FIG. 5 shows a second embodiment of the decoding processing unit 320. Comparing with the decoding processing unit 320, the decoding processing unit 320 of FIG. 5 further includes a decoding solution 510.
  • the decoding solution 510 can be the working memory for loading at least one functional unit by the call of the connection control unit 425 and performing a predetermined process of loaded functional units.
  • the decoder 300 of the present invention can be re-combined or generated in various forms so as to enable an inputted bitstream to be decoded regardless of encoded formats, by selectively loading and decoding the functional units of the toolbox 415.
  • forming the toolbox 415 separately from other elements in the decoder 300 makes it possible to more easily apply different types of toolboxes without any modification of design structure of other elements according to the decoder. For example, in spite of a decoder manufactured so as to use a toolbox for performing the processing according to an MPEG standard, it becomes easier to substitute a non-MPEG standard toolbox having the same interface or optionally/personally manufactured toolbox for the pertinent toolbox.
  • the functions and operations of each element of the decoding processing unit 320 will be described with reference to the related drawings.
  • the description decoder 40 decodes an inputted decoder description 313 as the decoder description 314 and then allows a plurality of partial decoder descriptions to be stored at the description storing unit 410.
  • the toolbox 415 includes a plurality of functional units, respectively, realized to perform a predetermined process.
  • the pertinent functional units can include functional units for performing the syntax parsing (refer to FIG. 7 and sets of the pertinent functional units are referred to as syntax (SYN) parser group 700) and functional units for decoding encoded video data (refer to FIG. 8 and sets of the pertinent functional units are referred to as decoding function groups 800).
  • the SYN parser group 700 can be realized as one functional unit.
  • the SYN parser group 700 and/or each functional unit can be realized as a combination of each program code or an algorithm.
  • the toolbox 510 refers to an area in which the functional units realized to perform each function are included.
  • Each functional unit (hereinafter, referred to as a decoding functional unit) included in the decoding functional group 800 is activated by the control of the connection control unit 425 to output the encoded video data included in the conventional bitstream 105 as video data.
  • the connection control unit 425 can control corresponding functional units in units of each hierarchy structure to be successively activated (e.g. the functional units are activated in the order of a first hierarchy, a second hierarchy, a third hierarchy ... and when the second hierarchy is activated, the first hierarchy can maintain its activated status or if it is not necessary any more to process data, the first hierarchy becomes inactivated).
  • the processing can be delayed until the result data is generated and stored at the CSCI storing unit 430.
  • Each functional unit included in the decoding functional group 800 can pertain to at least one hierarchy divided according to the property of codec.
  • a functional unit (hereinafter, referred to as a parsing processing unit) of the called SYN parser group 700 performs the syntax parsing of a bitstream. If CSCI necessary to perform a designated process and data for decoding are stored, the decoding functional units perform the processing.
  • An upper hierarchy calls a decoding functional unit of a lower hierarchy according to the flow of CSCI and data (this is performed by the control of the connection control unit 425).
  • the video data corresponding to a bitstream is outputted by allowing every decoding functional unit of the decoder description to perform the process at least one time as necessary.
  • the decoder description (or the partial decoder description) makes it possible to suggest the scheduling management of each codec and the organic processing structure of each functional unit.
  • the connection control unit 425 activates the SYN parser group 700 to allow the syntax parsing with using the S-RT 670 to be started and controls the functional units of the uppermost hierarchy to be loaded or activated.
  • the first decoder description and the second decoder description are organically used in the form of each mutual reference.
  • each of the activated functional units are on standby until CSCI and/or data necessary for the processing are stored at the CSCI storing unit 430. If the CSCI and/or data necessary for the processing are stored at the CSCI storing unit 430, the respective activated functional units start the process per functional unit. Accordingly, the decoding processing unit 320 in accordance with the present invention can simultaneously perform the syntax parsing operation and the decoding of the data to output corresponding data (refer to FIG. 15). Moreover, since whether the functional units included in the decoding functional group is activated in units of hierarchy structure and whether each functional unit individually is on standby or starts its operation is determined, each of the functional units has free organic operations (e.g. the operation is performed by forming series/parallel coupling structure).
  • the SYN parser group 700 included in the toolbox 510 can be designed to perform the analysis of the conventional bitstream 105 without the connection control of the connection control unit 425 immediately if the conventional bitstream 105 is inputted.
  • the decoding functional units for performing a following processing can use element information, which is analyzed and stored in the CSCI storing unit 430 by the parsing functional units, and/or the data(hereinafter, referred to as "encoded data"), which is stored at the CSCI storing unit 430 by the parsing functional units.
  • the parsing functional units uses the DHT 650, the SET 660, the S-RT 670, the CSCIT 640 and the DVT 680 to analyze the inputted conventional bitstream 316 and stores element information, which is the result of the syntax parsing, at the CSCI storing unit 430.
  • the CSCI storing unit 430 can be a buffer memory.
  • the element information can be control signal/context information (CSCI), for example.
  • CSCI control signal/context information
  • the element information parsed and stored at the CSCI storing unit 430 by the SYN parser group 700 can be the result value parsed by the pertinent operation and simultaneously can be an input value determining a following syntax of the conventional bitstream 316.
  • the SYN parser group 700 can perform the entropy decoding of video data and a header of the syntax-parsed conventional bitstream 316 to store encoded data of a predetermined size (e.g. 1 pixel, 4 x 4 or 8 x 8 unit) at the CSCI storing unit 430 such that the functional units of the decoding functional group 800 can use the encoded data.
  • the SYN parser group 700 can store data, such as DC/ AC of the syntax, to be used for the decoding operation, at the CSCI storing unit 430.
  • the CSCI storing unit 430 can be a buffer memory having a dedicated buffer space capable of being pre-designated per each functional unit (refer to FIG. 12).
  • Each dedicated buffer can be also set to have the inclusion relationship per hierarchy as shown in FIG. 13 and FIG. 14. Accordingly, the activated functional unit can start the processing immediately if input data is written at the CSCI storing unit 430. In the case of using the processed result data as input data of another functional unit, the activated functional unit can write the result data at the CSCI storing unit 430.
  • the SYN parser group 700 can be formed by using one software program (including a combination of program codes). This is because even though the SYN parser group 700 is formed to perform a plurality of functions corresponding to a plurality of standards (e.g. MPEG- 1/2/4/ AVC), respectively, using the DHT 650, the SET 660, the S-RT 670, the CSCIT 640 and the DVT 680 makes it possible to perform corresponding operations.
  • the SYN parser group 700 as shown in FIG.7, can be obviously formed to be segmentalized into a plurality of functional units, each of which can be realized by using a combination of blocked program codes.
  • the SYN parser group 700 can include a network abstraction layer parsing (NALP) functional unit 710, a syntax parsing (SYNP) functional unit 720, a context determination (CTX) functional unit 730, a variable length decoding (VLD) functional unit 740, a ran length decoding (RLD) functional unit 750 and a macroblock generator (MBG) functional unit 760.
  • NALP network abstraction layer parsing
  • SYNP syntax parsing
  • CX context determination
  • VLD variable length decoding
  • RLD ran length decoding
  • MSG macroblock generator
  • the SYN parser group 700 can include any functional unit for performing the syntax parsing regardless of an applied standard, a functional unit necessary for performing the syntax parsing can be newly added, an existing functional unit can be modified and an unnecessary functional unit can be deleted. It is obviously possible to combine the functional units that are commonly applicable by a plurality of standards among each functional unit included in the SYN parser group 700 as one functional unit. Described below briefly is each function of the functional units which is evident to any person of ordinary skill in the art.
  • the NALP functional unit 710 parses a network abstraction layer (NAL) of MPEG-4 AVC, and the SYNP functional unit 720 parses the syntax of a bitstream.
  • the SYNP functional unit 720 can be included at the VLD functional unit 740.
  • the CTX functional unit 730 determines a VLC table of MPEG-4 AVC, and the VLD functional unit 740 performs the entropy decoding.
  • the RLD functional unit 750 performs the entropy decoding of AC values, and the MBG functional unit 760 combines DC values and AC values to generate one macroblock datum.
  • the VLD functional unit 740 can perform the functions of all or some of the functional units, included at the aforementioned SYN parser group 700, according to each system realizing type.
  • the SYN parser group 700 can be realized as one software program or a plurality of software programs (e.g. the VLD functional unit 740 can be independently realized as an independent software program).
  • the operation which the SYN parser group 700 extracts or generates element information by using the first description information i.e. at least one of the DHT 650, the SET 660, the S-RT 670, the DVT 680 and the CSCIT 640
  • the connection control unit 425 is described below.
  • the decoding functional group 800 processes encoded data, stored at the CSCI storing unit 430, in a predetermined processing unit and outputs the processed data as video data of a predetermined size.
  • the processing unit of the encoded data can be pre-determined so as to be differently applied per each functional unit or can be generalized as the same processing unit.
  • the decoding functional group 800 can include functional units for performing the foregoing functions according to each standard. Each function can be realized as an independent processing block (e.g. a software program, a combination of command codes and a function) to form the decoding functional group 800. Alternatively, the decoding functional group 800 can be realized as one integrated processing block. Although the decoding functional group 800 are realized as one integrated processing block, the corresponding processing can be obviously performed by the connection control of the connection control unit 425.
  • the decoding functional group 800 can include a de-blocking filtering (DF) functional unit 810, a VOP reconstructing (VR) functional unit 815, a frame field reordering (FFR) functional unit 820, an intra prediction and picture reconstruction (IPR) functional unit 830, an inverse transform (IT) functional unit 835, an inverse quantization (IQ) functional unit 845, an inverse AC prediction (IAP) functional unit 855, an inverse scanning (IS) functional unit 860 and a DC reconstruction (DCR) functional unit 865.
  • DF de-blocking filtering
  • VR VOP reconstructing
  • FFR frame field reordering
  • IPR intra prediction and picture reconstruction
  • An IT 4x4 functional unit 840, an IQ 4x4 functional unit 850 and a DCR 4x4 functional unit 870 process blocks having the size of 4x4. This is because although MPEG- 1/2/4 process data in 8x8 block size in the transform, quantization and prediction, MPEG-4 AVC may process data in 4x4 block size.
  • the decoding functional group 800 can include any functional unit for performing a data decoding function regardless of an applied standard, a functional unit necessary for the developed technology can be added, an existing functional unit can be modified and an unnecessary functional unit can be deleted.
  • the pertinent functional units can be included in the decoding functional group 800.
  • a special prediction (SPR) functional unit (not shown) can be also added to perform the intra prediction for the MPEG-4 AVC.
  • the DF functional unit 810 is a de-blocking filter of MPEG-4 AVC, and the VR functional unit 815 stores a decoded pixel value.
  • the FFR functional unit 820 is for an interlaced mode, and the IPR functional unit 830 stores a decoded pixel value after the intra prediction of MPEG-4AVC is performed. As described above, the intra prediction of MPEG-4 AVC can be performed by the SPR functional unit.
  • the IT functional unit 835 performs the inverse transform of DC values and
  • the IQ functional unit 845 performs the inverse quantization of the AC values.
  • the IAP functional unit 855 performs the inverse AC prediction of the AC values
  • the IS functional unit 860 performs the inverse scan of the AC values.
  • the DCR functional unit 865 performs the inverse AC prediction and the inverse quantization of the DC values.
  • the aforementioned SYN parser group 700 and decoding functional group 800 individually starts their operations.
  • Each functional unit of the decoding functional group 800 is activated by the activation control of the connection control unit 425. Then, each functional unit of the decoding functional group 800 individually starting its operation if CSCI and/or data necessary for the processing is written at the CSCI storing unit 430.
  • the CSCI storing unit 430 stores element information (e.g. CSCI), which is the result value by the syntax parsing that the SYN parsing functional group 700 performs by using the second decoder description (i.e. the CSCIT 640, the DHT 650, the SET 660, the S-RT 670 and the DVT 680).
  • the element information is stored corresponding to the CSCIT 640.
  • the CSCI storing unit 430 can be a buffer memory.
  • the element information stored at the CSCI storing unit 430 can be used as input data for performing a process of the SET 660 by the SYN parsing functional group 700 or as a control variable for determining a following connection index in the S-RT 670.
  • the element information stored at the CSCI storing unit 430 can be used to allow each functional unit, which is activated in units of hierarchy structure by the connection control unit 425 with reference to the F-RT 620, to map an input CSCI, designated by the FU-CSCIT 630, to the element information, stored at the CSCI storing unit 430.
  • the SYN parser group 700 can store the element information, capable of being used by the functional units of the decoding functional group 800, at the CSCI storing unit 430.
  • the CSCI storing unit 430 can store the CSCI, generated by the
  • the CSCI storing unit 430 can be realized to include a CSCI storing part for storing the CSCI and a data storing part for storing the data to be decoded, according to the type of information to be stored.
  • the connection control unit 425 controls each functional unit included in the
  • connection control unit 425 controls each functional unit included in the decoding functional group 800 to be loaded or activated in units of hierarchy structure with reference to the F-RT 620. This is because input data for the functional units pertaining to the lower hierarchies may be the result data processed by the functional units pertaining to the upper hierarchies.
  • the decoder forming unit 420 can include a working memory for loading at least one functional unit by the call of the connection control unit 425 and performing a predetermined process.
  • the connection control unit 425 controls each functional unit to be activated and to process and output the encoded data as video data by using the partial decoder descriptions such as the FL 610, the F-RT 620, the FU-CSCIT 630, the CSCIT 640 and the DHT 650.
  • Mutually organic operations of a plurality of functional unit of FIG. 8 make it possible to convert the encoded data to video data in order to output the video data. It may be possible to determine which functional units must successively be operated, in various ways according to each encoding standard. This is evident to any person of ordinary skill in the art. Accordingly, the organic relationship between the partial decoder descriptions of the first decoder description included in the extended bitstream, used as basic information for organically controlling the operations of the plurality of functional units will be hereinafter described.
  • the DHT 650 refers to the partial decoder description, which writes information related to the hierarchy structure of codec and the lower hierarchies of each hierarchy as shown in FIG. 9 and the following table 1.
  • the DHT 650 can include an index, which is the successively given hierarchy number, a name, which refers to the name of each hierarchy, and a children hierarchy, which show a lower hierarchy of a pertinent hierarchy.
  • the number of hierarchies or children hierarchies can be represented differently according to a codec. For example, as shown in FIG. 9, in the case of further including a VOP-3 and an MB-3, the corresponding hierarchy number can be obviously added.
  • the hierarchy structure indicated by the DHT 650 of the present invention shows that based on a codec, another codec can be freely integrated at any position of a hierarchy in a free form.
  • using an integrated codec including a plurality of different codec makes it possible to form a new codec, to thereby compress and uncompress video data.
  • the main function of the DHT 650 makes it easy to perform the various realizations (e.g. sequential/parallel, single/multiple threads and sw/hw hybrid decoding) of a decoding solution to be formed by use of the decoder description by applying the hierarchy structure to a given codec.
  • the hierarchy written through the DHT 650 of the table 1 is commonly applied in the syntax parsing and decoding operation. Of course, there may obviously be a hierarchy structure for being independently used in the syntax parsing or decoding operation.
  • the FL 610 refers to the partial decoder description, which writes information such as a list of each functional unit of the decoding functional group 800 and the number of input and output data of the pertinent functional units as shown in the table 2.
  • the FL 610 can further include a name of a dedicated buffer area (or an address in which pertinent data is written or an address of a buffer memory in which pertinent data is written), in which input data of each functional unit is written, and a name of a dedicated buffer area (or an address in which pertinent data is written or an address of a buffer memory in which pertinent data is written), in which output data outputted by the pertinent functional unit is to be written. Accordingly, each functional unit can use the FL 610 to read and process input data and write the corresponding output data. However, the FL 610 does not write input data and output data of the SYN parser group 700 which generates element information. This is because the SYN parsing functional group 700 can use information such as the SET 660 to generate element information and write the generated information at a designated position.
  • the FL 610 can include a FU ID, which refers to an identification number of the functional unit of the toolbox 510, a FU name, which refers to a name of each functional unit, an input CSCI, which refers to the number of input data, and an output CSCI, which refers to the number of result data (i.e. output data).
  • the order of arranging the functional units of the functional units of the FL 610 corresponds to the order of arranging the functional units of the FU-CSCIT 630 or the index number.
  • the FU name which refers to a name of each functional unit
  • the names of each functional unit described with reference to FIG. FIG. 8 can be written.
  • a particular functional unit of a hierarchy activated by the connection control unit 425 uses the FU-CSCIT 630 and the CSCIT 640 in order to read desired data from the CSCI storing unit 430 and perform a predetermined process before generating output data.
  • the generated output data can be written in the CSCI storing unit 430, and the data stored in the CSCI storing unit 430 can be used as input data of the functional unit which performs a following processing.
  • the functional unit refers to a series of processing operations (e.g. actions, algorithms and functions), which performs a predetermined process of input data to generate output data, included in the decoding functional group 800.
  • the FL 610 can include only information related to the functional units for performing the corresponding processing in the pertinent standard.
  • the FL 610 is required to include the information related to the functional units conforming to a plurality of standards necessary to decode the encoded video data among all functional units conforming to a plurality of corresponding standards.
  • each of the FL 610 can include information related to the functional units conforming to each corresponding standard.
  • the FL 610 can be written in a description method such as a textual description or a binary description (i.e. a bit-converted binary code form).
  • the minimum necessary data of the partial decoder description can be written in a similar script language.
  • the F-RT 620 provides connection information of the functional unit to be used to decode the inputted conventional bitstream 316.
  • the F-RT 620 is configured to allow an upper hierarchy to call a lower hierarchy by using the hierarchy structure of the DHT 650 as shown in the following Table 3.
  • the F-RT 620 includes a decoding hierarchy, showing each hierarchy structure, a children, showing a functional unit to be activated or a lower hierarchy to be called, a loop, showing whether a loop is operated or not, a loop condition, showing the loop condition when the loop is necessary to be operated, and an input, showing decoding hierarchy and children as input information (or activation order) of each functional or lower hierarchy.
  • a FHO hierarchy is firstly activated, and a FHl hierarchy is successively activated because of using result data of a FUl as input data.
  • the FHl hierarchy can be also activated simultaneously with the FHO hierarchy, and then, the processing operation of the FHl hierarchy can be delayed until result data of the FUl is stored at the CSCI storing unit 430.
  • each hierarchy is generated as an independent object with the concept of instance/object.
  • a plurality of FHl 's such as FHl [0], FHl [1], FHl [2], ..., and FHl [n] can be generated.
  • This structure can be identically applied to other hierarchies (e.g. FHO, FH2 and FH3).
  • a dedicated buffer space of each object can be allotted. As shown in FIG. 12 and FIG. 13, each dedicated buffer space stores CSCI or data for processing the functional units of a certain hierarchy structure.
  • the F-RT 620 can be written in a description method such as a textual description or a binary description (i.e. a bit-converted binary code form).
  • the minimum necessary data of the partial decoder description can be written in a similar script language.
  • the FU-CSCIT 630 is a partial decoder description for connecting element information stored at the CSCI storing unit 430 to the element information (i.e. input CSCI) necessary for each functional unit. [Table 4]
  • the FU-CSCIT 630 includes an index number, which is one-to-one mapped to the FU ID and an index (i.e. CSCI table element) of the CSCIT 640 for mapping.
  • the functional units of the FL 610 and the index numbers of the FU-CSCIT 630 are one-to-one mapped to each other because their arrangement orders correspond to each other.
  • the FU-A of a first functional unit of the table 2 is mapped to the index No. 1 of a first index 1 of the FU-CSCIT 630.
  • the FU-CSCIT 630 further includes information related to how many interface sets each index numbers have.
  • the number of interface sets refers to the frequency showing how many times the mapping is performed. For example, since D0092 of the FL 610 has one interface set designated by the FU-CSCIT 630, only CH2.C6 and CH2.C1 are used. However, D0098 has 2 interface sets, CH3.C1 and CH.3.C6 are used as element information in a case, and CH4.C2 and CH4.C5 are used in another case.
  • Each of the functional units reads designated element information from the CSCI storing unit 430 to perform a predetermined process before storing generated output data (i.e. result data) at the CSCI storing unit 430.
  • the reason that the number of interface sets per each index number is written at the FU-CSCIT 630 is that one functional unit may perform a different processing operation according to different data flow. For example, as shown in FIG. 11, if the FU-A can be used at the MPEG-2 and MPEG-4 simultaneously, different element information can be used when data encoded in an MPEG-2 standard is processed and data encoded in an MPEG-4 standard is processed. Accordingly, a plurality of interface sets are required in order to distinguishably use the element information when processing the data encoded according to each standard.
  • the FU-CSCIT 630 can be written in a description method such as a textual description or a binary description (i.e. a bit-converted binary code form).
  • the minimum necessary data of the partial decoder description can be written in a similar script language.
  • the CSCIT 640 writes details related to the element information (e.g. CSCI) as result information of a process that the SYN parser group 700 performs by using the SET 660 and S-RT 460.
  • the CSCIT 640 is processed from the conventional bitstream 316 and stored at the CSCI storing unit 430.
  • the CSCIT 640 also has information related to all meaningful data (i.e. element information) to be used by the decoding functional unit 800.
  • the CSCIT 640 includes a decoding hierarchy, which distinguishes a hierarchy of each element information, an index, which refers to an identifier as an identification number of pertinent element information, an element name, which refers to a name of pertinent element information, and a type (e.g. determination whether the pertinent element information is an integer or array type), which refers to an attribute for designating a data-structural property of pertinent element information.
  • the CSCI formed per hierarchy can be used in the forms of a plurality of arrays as necessary when the decoder is formed.
  • the CSCIT 640 can be written in a description method such as a textual description or a binary description (i.e. a bit-converted binary code form).
  • the minimum necessary data of the partial decoder description can be written in a similar script language.
  • the CSCIT 640, the DHT 650, the SET 660, the S-RT 670 and the DVT 680, which are used to allow the SYN parser group 700 to extract or generate element information from the conventional bitstream 316 and to store the extract or generated element information at the CSCI storing unit 430, will be described.
  • the CSCIT 640 and the DHT 650 have been described above, the corresponding description will be omitted.
  • Mutually organic operations of the plurality of functional units of FIG. 7 can make it possible to generate the element information and store it at the CSCI storing unit 430.
  • the element information can have different formats according to each encoding standard. This is evident to any person of ordinary skill in the art.
  • the SET 660 refers to a partial decoder description formed to include information related to the syntaxes of an inputted conventional bitstream 316.
  • the SET 660 includes an index of each syntax, an element name, input data, and a SET-process (process by SET-PROC).
  • the index refers to an identifier S identifying each syntax used for the S-RT 670.
  • the element name which is a name of the syntax, can be named with reference to the meaning or function of the syntax.
  • the input data refers to a nominal length of a bit inputted at one time in the conventional bitstream 316.
  • the output data is stored at the CSCI storing unit 430 as element information (i.e. CSCI information (C)).
  • the CSCI information e.g. CH0.C1 is determined in the S-RT 670 with reference to a Syntax #ID of the S-RT 670.
  • the SET 660 can be written in a description method such as a textual description or a binary description (i.e. a bit-converted binary code form).
  • the minimum necessary data of the partial decoder description can be written in a similar script language.
  • the S-RT 670 refers to a hierarchy and connection information between the syntaxes in the conventional bitstream 316 as shown in the following table 7.
  • the S-RT 670 has information indicating to allow an upper hierarchy to call a syntax of a lower hierarchy and to move to a next syntax.
  • the SYN parser group 700 uses the S-RT 670 to read the conventional bitstream 316 or to determine the sequence of storing and/or renewing the element information in the CSCI storing unit 430.
  • the SYN parser group 700 configured to include a plurality of threads can allow an upper thread to call a lower thread by referring to the S-RT 670. This can make it possible to perform the syntax parsing per hierarchy.
  • the S-RT 670 includes a decoding hierarchy, which distinguishes a hierarchy of each syntax, an index (R), an ID of a syntax (syntax #ID), input data (CSCI) and branch information.
  • the index (R) indexes each connection information (Rule). Since the index (S) of the syntax designates the syntax to be processed in a particular connection index in each hierarchy, the SYN parser group 700 uses the SET 660 to perform the designated process of the pertinent syntax.
  • the input data indicates a list of the element information to be used for the conditional determination to control the connection of a pertinent connection index.
  • the result of the process performed by the SET 660 is stored as a name of input data corresponding to the syntax #ID.
  • the branch information refers to a condition determining algorithm to determine which connection index will be processed next. It is possible to directly determine which contents is read and in which order the determined contents is read by the branch information. If the number of branches is 1 (e.g. the syntax # ID is 1), there may be no input data.
  • the S-RT 670 can be written in a description method such as a textual description or a binary description (i.e. a bit-converted binary code form).
  • the minimum necessary data of the partial decoder description can be written in a similar script language.
  • the DVT 680 refers to a partial decoder description in which Huffman table information to be used by each encoder/decoder is written.
  • Huffman table information to be used by each encoder/decoder is written in each encoding.
  • MP EG- 1/2/4/ A VC performs entropy coding.
  • a Huffman coding method is mainly used. In this case, the Huffman table is used.
  • the Huffman table information to be used by the pertinent decoder is required in each decoding in order to realize an integrated codec.
  • the decoding description in accordance with the present invention includes the Huffman table information corresponding to each syntax when the syntax is parsed.
  • the transmission of the DVT 680 will be omitted or it is possible to include a codec number (Codec #) and a profile and level number (Profile and level number) only.
  • the DVT 680 includes a name of each Huffman table, an actual value outputted after being compressed by a Huffman coding and a code value used when the compressed actual value is stored at the conventional bitstream 316.
  • the code value, 011 is written at the conventional bitstream 316 by a Huffman table mapping work (e.g. a process part of the SET 660).
  • a function VLD can be called.
  • the coded value can be obtained by reading the conventional bitstream 316 as much as a length (i.e. a fixed length or a variable length) pre-determined by the function. Then, the corresponding actual value can be obtained by the Huffman table mapping work.
  • a Huffman table [1] which is the first table CBPY, is used.
  • the DVT 680 can be written in a description method such as a textual description or a binary description (i.e. a bit-converted binary code form).
  • the minimum necessary data of the partial decoder description can be written in a similar script language.
  • the DVT 680 can be written in the textual description as follows.
  • connection control unit 425 calls the functional units of the uppermost hierarchy determined in the F-RT 620 of the description storing unit 410.
  • the called functional units are on standby until data and/or CSCI necessary for the processing is stored at the CSCI storing unit 430 by the SYN parser group 700.
  • the SYN parser group 700 reads a syntax corresponding to the uppermost hierarchy among the rule information of the S-RT 670 to recognizes a VS start code and reads a corresponding bit (i.e.
  • the SYN parser group 700 uses the SET 660 to generate element information and to store the generated element information at the CSCI storing unit 430, if a VLD function (e.g. an index S74 of the SET 660) is called, the entropy decoding is performed by using the DVT 680. In this operation, if the element information is generated, the generated element information is stored at the CSCI storing unit 430.
  • a VLD function e.g. an index S74 of the SET 660
  • each activated functional unit of the decoding functional group 800 checks whether all data and/or element information necessary to perform a predetermined process is stored.
  • the pertinent functional unit can check whether all is stored with reference to the FU-CSCIT 630. It is also possible to recognize what the pertinent element is through the mapping to the CSCIT 640. If all necessary element information and/or data is stored, the pertinent functional unit starts to perform a predetermined process and stores the processed result data at the CSCI storing unit 430.
  • the functional units can be successively activated or called in units of hierarchy structure.
  • connection control unit 425 which monitors whether the processing of the element information and/or data necessary for a hierarchy is currently completed and which is the hierarchy.
  • the called functional units reads and processes the data and/or element information necessary to perform a predetermined process if the functional units recognizes that the data and/or element information is stored. This operation brings about the same effect as the case that each functional unit is connected successively or in parallel to perform the processing.
  • the decoding processing unit 320 can output video data corresponding to the inputted conventional bitstream 316 by allowing all hierarchies of the functional units necessary for the conversion to video data to be activated.
  • FIG. 15 conceptually shows parallel processing syntax parsing and data decoding in accordance with an embodiment of the present invention.
  • using the aforementioned decoder description information can make it possible to allow the syntax parsing and the data decoding to be individually (or independently) performed by the SYN parser group 700 and the decoding functional group 800, respectively.
  • a pertinent functional unit can perform a predetermined process.
  • each functional unit of the decoding functional group 800 which performs the decoding processing, performs its independent functions if the functional unit does not use result data of another functional unit as input data.
  • the decoder 400 of the present invention start its operation only after all the syntax parsing is completed. It is also possible that the SYN parser group 700 and the decoding functional group 800 individually performs the processing and that each functional unit of the decoding functional group 800 performs the individual processing.
  • the present invention can use the conventional profile by using the functional units provided from the conventional standard (i.e. codec) and can form a new decoder by using the conventional functional units or new functional units.
  • a decoder in various ways without any restriction.
  • the compile operation of the algorithm may be additionally required.
  • each element parses a bitstream compressed in various ways to decode the parsed bitstream with a decoding method corresponding to the encoding method.
  • the pertinent bitstream can be formed in various shapes in which a variety of standards (or codecs) are mixed or can be formed to include various shapes by a variety of encoding methods in one standard.
  • a variety of standards or codecs
  • codecs or codecs
  • the present invention can organically connect and control each functional unit by use of the same information analyzing method regardless of the encoding type of the encoded bitstream by providing a decoder description together with the encoded bitstream.
  • the present invention can also actively cope with the situation that the syntax of a bitstream is changed or newly added by amending the pertinent information or inserting addition information with regard to the S-RT 670.
  • the present invention can set the connection relationship of the functional units included in the decoding functional group 800 of a pertinent decoder by selecting a function desired by a user in units of processing such as a bitstream level, a frame level and macroblock level and forming the F-RT 620.
  • Each of the foregoing tables shows an example of a command to be used in each partial decoder description.
  • Information i.e. partial decoder description
  • for parsing the syntax of a standard such as MPEG-2/MPEG-4/MPEG-4 AVC can be formed by using each of the commands.
  • Each partial decoder description can be formed to include the commands such as READ, SEEK, FLUSH, IF, WHILE, UNTIL, DO-WHILE, DO-UNTIL, BREAK, SET, STOP and PUSH.
  • commands such as READ, SEEK, FLUSH, IF, WHILE, UNTIL, DO-WHILE, DO-UNTIL, BREAK, SET, STOP and PUSH.
  • all commands are unnecessary for being used in each of the partial decoder descriptions. It shall be obvious that any command can be selectively used per each partial decoder description. Described below briefly is how each command is used.
  • READ is the command for reading a bit from a bitstream, used as, for example, "READ bits B > CSCI;”.
  • bits indicates the number of bits to be read.
  • B refers to a byte-alignment flag.
  • > CSCI indicates a CSCI index to be stored.
  • B and "> CSCI” is used as options. If "> CSCI” is not designated, it is determined to be stored at the IBS only.
  • SEEK is the command for reading a bit from a bitstream but allowing a file pointer not to be moved.
  • the file pointer refers to a reference position for the operation reading a bit, for example.
  • a parameter of the SEEK command can be used identically to the above-described REED.
  • FLUSH is the command for moving the file pointer at a bitstream according to the number of the bits. Its parameter can be used identically to the REED.
  • IF is the command for providing the branch according to a given condition, used as "IF (condition) ⁇ - ⁇ ELSE ⁇ ⁇ ⁇ ".
  • WHILE is the command for repeatedly performing a designated block during a period of time while the given condition is true, used as "WHILE (condition) ⁇ ⁇ ⁇ ".
  • UNTIL is the command for repeatedly performing a designated block during a period of time until the given condition is true, used as "UNTIL (condition) ⁇ ⁇ ⁇ .
  • DO ⁇ WHILE is the transformation of the WHILE command and the command for performing a block prior to the conditional determination, used as "DO ⁇ ⁇ ⁇ WHILE (condition)".
  • DO-UNTIL is the transformation of the UNTIL command and the command for performing a block prior to the conditional determination, used as "DO ⁇ ⁇ ⁇ UNTIL (condition)".
  • all computing formulas of SET-PROC can be written in parentheses, and operators such as arithmetic (i.e. addition, subtraction, multiply and division), substitution, addition/subtraction, (++/--), bit operation, logical sum/logical product and checking whether CSCI is used.
  • BREAK is the command for being released from a nearest loop.
  • SET is the command for setting a flag related to whether to use the designated CSCI.
  • the CSCI to designate flags can be arranged and broken by comma.
  • the CSCI can be broken as SET CO, C2;.
  • STOP is the command for stopping the currently-processed processing of syntax element and turning to a next operation.
  • PUSH is the command for adding given data in the back of written data in an arrangement CSCI.
  • the added values are arranged and broken by comma (e.g. PUSH C8 8, 16, 32;).
  • GO is the command for branching into a specified position. For example,
  • GOR# indicates branching into R#, and GO RT indicates returning to a called position.
  • HEX is the command for reporting that a hexadecimal follows the HEX command.
  • RLD is an interface for an RLD function supportable in MPEG-4, used as "RLD index, level, run, islastrun, t#;".
  • index, level, run and islastrun indicates an internal variable and CSCI storing an RLD return value.
  • t# indicates a Huffman table ID used for RLD.
  • VLD2 is a VLD function for MPEG-2, used as "VLD2 [t#] in > vl, v2, v3;".
  • t# indicates a Huffman table ID used for RLD, and in indicates an index value to be inputted
  • vl , v2 and v3 indicate output result values.
  • VLD4 is a VLD function for MPEG-4, used as "VLD4 [T#] > CSCI;".
  • t# indicates a Huffman table ID used for RLD
  • > CSCI indicates a CSCI index to be stored.
  • > CSCI is used as an option. If "> CSCI” is not designated, it is determined to be stored at a variable IBS only.
  • FIG. 16 shows the structure of an extended bitstream in accordance with a first embodiment of the present invention
  • FIG. 17 shows the structure of an extended bitstream in accordance with a second embodiment of the present invention.
  • FIG. 18 shows the structure of an extended bitstream in accordance with a third embodiment of the present invention
  • FIG. 19 shows the structure of an extended bitstream in accordance with a fourth embodiment of the present invention.
  • the encoded decoder description 313 included in the extended bitstream 305 of the present invention can be formed to include applied standard information except for information for generating the partial decoder description (No table), to include all table information (Full tables) or to include some table information (Partial tables).
  • the decoding description information can include stream identifier (SI) information.
  • SI stream identifier
  • the extended bitstream 305 which is a decoding description, can include an SI 1060 (i.e. 00), showing that no table information is included, a codec number 1620 and a profile and level number 1630.
  • SI 1060 i.e. 00
  • the decoding processing unit 320 can perform the decoding by using the instructed partial decoder descriptions.
  • the SET 660, the CSCIT 640, the FL 610, the FU-CDCIT 630 and the DVT 680 can be written per applied standard (or codec), and the F-RT 420 and the S-RT 460 can be written per profile of each applied standard (refer to the tables 10 and 11).
  • a decoding method can be described by using an SET#3, a FL#3, a CSCIT#3, a FU-CSCIT#3, a DVT#3, a F-RT#3-1 and an S-RT#3-1. If the transmission is performed by designating the codec number as 3 and the profile and level number as 2, the decoding processing unit 320 can perform the decoding operation with reference to corresponding tables. As shown in FIG. 17, the extended bitstream 305 can include the encoded decoder description 313 corresponding to all of the above-described partial descriptions. In this case, an SI 1610 will be determined as 01 with reference to the table 9.
  • Each table can include a table identifier (TI) 1710, a table start code (TS code) 1720, a table description (TD) 1730 and a table end code (TE) 1740.
  • the TI 1710 and the TS code 1720 can have the changeable sequences.
  • the TD 1730 can be written in the binary description. Of course, the sequence of each table is changeable.
  • the extended bitstream 305 can include some of the above-described partial decoder descriptions and codec numbers corresponding to the partial decoder descriptions.
  • the SI 1610 will be determined as 10 with reference to the table 9.
  • a structure identifier 1810 is further equipped in the back of the table identifier 1170 to determine which configuration the pertinent partial decoder description has.
  • the extended bitstream 305 can further include a decoder description (DD-T) 1910 related to the partial decoder description and update information.
  • DD-T decoder description
  • the decoder description 1910 related to the partial decoder description may be any one of the partial decoder descriptions described above with reference to the related drawings, and the SI 1610 will be determined as a corresponding value.
  • the update information can include a revision start code (RS code) 1920 and a revision 1930.
  • the revision 1930 may be related to the addition, deletion or update of rule information (Rule) of a partial decoder description.
  • the revision 1930 can be used as "insert index into table-name defined;", “delete index from table-name;”, or “update index in table-name(...);”.
  • the description decoder 405 reads the revision 1930 and the decoding processing unit 320 performs the decoding of the pertinent extended bitstream 305, it is required to store the partial decoder descriptions of the revised details at the description storing unit 410.
  • the decoding processing unit 320 or a trigger can provide the description decoder 405 with a completion notice related to whether the decoding is completed.
  • whether the decoding is completed can be recognized by allowing the description decoder 405 to monitor whether the decoding processing unit 320 completes the decoding.
  • the present invention can use the conventional profile by using the functional units provided from the conventional standard (i.e. codec) and can form a new decoder by using the conventional functional units or new functional units.
  • a decoder in various ways without any restriction.
  • an algorithm i.e. a description related to the functional unit
  • the compile operation of the algorithm may be additionally required.
  • the elements are organically controlled such that each element parses a bitstream compressed in various ways to decode the parsed bitstream with a decoding method corresponding to the encoding method.
  • the pertinent bitstream can be formed in various shapes in which a variety of standards (or codecs) are mixed or can be formed to include various shapes by a variety of encoding methods in one standard.
  • various functions to be used in various standards into separate units and select the functions desired and necessary for a user to form one type of codec (i.e. encoder and decoder).
  • the present invention can organically connect and control each functional unit by use of the same information analyzing method regardless of the encoding type of the encoded bitstream by providing a decoder description together with the encoded bitstream.
  • the present invention can also actively cope with the situation that the syntax of a bitstream is changed or newly added by amending the pertinent information or inserting addition information with regard to the S-RT 670.
  • the present invention can set the connection relationship of the functional units included in the decoding functional group 800 of a pertinent decoder by selecting a function desired by a user in units of processing such as a bitstream level, a frame level and macroblock level and forming the F-RT 620.
  • FIG. 20 shows the structure of an extended bitstream in accordance with a fifth embodiment of the present invention
  • FIG. 21 shows the structure of an extended bitstream in accordance with a sixth embodiment of the present invention
  • FIG. 22 shows the structure of an extended bitstream in accordance with a seventh embodiment of the present invention
  • FIG. 23 shows the structure of an extended bitstream in accordance with an eighth embodiment of the present invention.
  • the extended bitstream 305 of the present invention is formed to include the encoded decoder description 313 and the conventional bitstream 316. It is evident to any person of ordinary skill in the art that the conventional bitstream 316 is formed to include coded video data (and/or coded audio data).
  • the encoded decoder description 313 can be formed to have a different structure according to a codec property to be applied to decode the conventional bitstream 316.
  • a first decoder description structure can be applied.
  • a second decoder description structure can be applied.
  • a third decoder description structure can be applied.
  • the foregoing four decoder description structures can be distinguished as each different codec type.
  • FIG. 20 shows the structure of the first decoder description.
  • the encoded decoder description 313 can be formed to include a codec type (codec type) 2010, a codec number (codec_num) 2020 and a profile and level number (profile_level_num) 2030.
  • codec type codec type
  • codec_num codec number
  • profile_level_num profile_level_num
  • FIG. 21 shows the structure of the second decoder description.
  • the encoded decoder description 313 can be formed to include a codec type (codec type) 2010, a codec number (codec_num) 2020, a profile and level number (profile_level_num) 2030 and a table description 2110.
  • codec type codec type
  • codec_num codec number
  • profile_level_num profile_level_num
  • table description 2110 is individually included for each partial decoder description.
  • each table description 2110 can include a table start code (table_start_code) 2120, a table identifier (table_identifier) 2130, a table type (tablejype) 2140, a content 2145 and a table end code (table_end_code) 2150.
  • table_start_code table start code
  • table_identifier table identifier
  • table type table type
  • table_end_code table end code
  • each field can have a size that is capable of being increased or decreased as necessary.
  • the content 2145 can be also omitted or included according to the information of the table type 2140.
  • the table type 2140 has the value of "0,” it can be recognized that the conventional partial decoder description (i.e. the codec type 2010, the codec number 2020, the profile and level number 2030 and the partial decoder description recognized by the table identifier 2130) is applied without any revision. In this case, the content 2145 can be omitted.
  • the conventional partial decoder description i.e. the codec type 2010, the codec number 2020, the profile and level number 2030 and the partial decoder description recognized by the table identifier 2130
  • the content 2145 can be omitted.
  • the table type 2140 has the value of "1," it can be recognized that some (i.e. revised by using the contents defined in the content 2145) of the conventional partial decoder description (i.e. the codec type 2010, the codec number 2020, the profile and level number 2030 and the partial decoder description recognized by the table identifier 2130) is revised and used.
  • revised contents (such as an update command) are written in the content 2145.
  • the revised contents may be the information including commands such as an update, an insert, and/or a delete and revising partial decoder description contents of an index corresponding to a pertinent table.
  • the table type 2140 has the value of "2," it can be recognized that the conventional partial decoder description (i.e. the codec type 2010, the codec number 2020, the profile and level number 2030 and the partial decoder description recognized by the table identifier 2130) is completely revised (i.e. changed to the contents defined in the content 2145). In this case, the changed contents (e.g. the contents for newly defining the pertinent table like a new command) can be written in the content 2145.
  • the conventional partial decoder description i.e. the codec type 2010, the codec number 2020, the profile and level number 2030 and the partial decoder description recognized by the table identifier 2130
  • the changed contents e.g. the contents for newly defining the pertinent table like a new command
  • FIG. 22 shows the structure of the third decoder description.
  • the encoded decoder description 313 can be formed to include the codec type 2010 and the table description 2110.
  • the encoded decoder description 313 is written based on the revised contents of the partial decoder descriptions and the codec to be applied.
  • the table description is individually included for each partial decoder description.
  • the encoded decoder description 313 may be related to a plurality of partial decoder descriptions.
  • Each table description 2110, as shown in FIG. 22, can include a table start code
  • each field can have a size that is capable of being increased or decreased as necessary.
  • the table type 2140 has the value of "0,” it can be recognized that the conventional partial decoder description (i.e. the codec type 2010, the codec number 2020, the profile and level number 2030 and the partial decoder description recognized by the table identifier 2130) is applied without any revision. In other words, the profile and level number 2030 and the codec number 2020, corresponding to the partial decoder description to be applied to the field of the content 2145 are written.
  • the table type 2140 has the value of "1," it can be recognized that some of the conventional partial decoder description (i.e. the codec type 2010, the codec number 2020, the profile and level number 2030 and the partial decoder description recognized by the table identifier 2130) is revised (i.e. revised by using the contents defined in the content 2145) and used.
  • the profile and level number 2030 and the codec number 2020, corresponding to the partial decoder description to be applied to the field of the content 2145 can be written in the field of the content 2145, and the revised contents (such as an update command) can be written in the field of the revised contents.
  • the table type 2140 has the value of "2,” it can be recognized that the conventional partial decoder description (i.e.
  • the partial decoder description recognized by the table identifier 2130 is completely revised (i.e. changed to the contents defined in the content 2145).
  • the changed contents e.g. the contents for newly defining the pertinent table like a new command
  • the table type 2140 has the value of 0 or 1
  • a certain codec is used as it is or some of the partial decoder descriptions are revised and used. Accordingly, the information (i.e. the codec number and the profile and level number) related to the codec is required.
  • the table has the value of 2
  • the completely new table information is defined. Accordingly, additional codec information is not necessary.
  • FIG. 23 shows the structure of the fourth decoder description.
  • the encoded decoder description 313 can be formed to include the codec type 2010 and the table description 2110.
  • the partial decoder descriptions are written in a partial decoder description area.
  • the table description 2110 is individually included for each partial decoder description.
  • each table description 2110 can include a table start code (table_start_code) 2120, a table identifier (table_identifier) 2130, a table type (tablejype) 2140, a content 2145 and a table end code (table_end_code) 2150.
  • table_start_code table start code
  • table_identifier table identifier
  • table type tablejype
  • content table end code
  • table_end_code table end code
  • each field can have a size that is capable of being increased or decreased as necessary.
  • the table type 2140 has a predetermined value (e.g. 2)
  • the information e.g. the contents for newly defining the pertinent table like a new command
  • the table type 2010 can be designated as one or omitted.
  • the codec type can be an 8-bit code which is information for recognizing a codec type.
  • the codec number can be an 8-bit code which is information for indicating a code of a used codec.
  • the profile and level number can be an 8-bit code which is information for indicating the profile and level number of a codec.
  • the profile and level number can be identical to the profile and level number of each MPEG standard.
  • the table start code (table start code) can be a 26-bit character string of a hexadecimal, OxFFFFFE, which indicates the start of the table description.
  • the table identifier (table identifier) can be each 4-bit code as shown in the table 12.
  • the table type is a 4-bit value which is information for determining whether to maintain the existing table, to update the existing table or to generate a new table.
  • the table end code (table end-code) can be a 26-bit character string of a hexadecimal, OxFFFFFF, which indicates the end of the table description.
  • index# can refer to a 4-bit character string indicating an index number of a table
  • table# can refer to a 32-bit character string as a table identifier
  • bits has any value of 3 through 34 bits that indicates the number of required bits
  • B refers to a 1-bit character string indicating a byte alignment.
  • > refers to a 1-bit character string for printing an output of a left side.
  • VLD2 for MPEG-2
  • VLD4 for MPEG-4
  • FIG. 24 is a block diagram showing an encoder in accordance with an embodiment of the present invention.
  • the encoder 2400 of the present invention further includes an extended bitstream generating and outputting unit 2410 as compared with the conventional encoder 200 described with reference to FIG. 2.
  • the extended bitstream generating and outputting unit 2410 generates a decoder description by using control information (e.g. a list and connection relationship of used functional units and input data, syntax information and syntax connection information of a pertinent functional unit) of the generating operation of the conventional bitstream 316 generated by the processing of the previous operations.
  • the extended bitstream 305 is generated by using the generated decoder description 313 and the conventional bitstream 316 before being transmitted to the decoder 300.
  • the encoder 2400 can also include a toolbox having a plurality of functional units and a bitstream conforming to at least one encoding standard can be generated through successive or organic combinations of the functional units included in the toolbox.
  • variable length encoding unit 235 an element (e.g. the encoding unit) that ultimately performs the encoding to generate the conventional bitstream 316 in the encoder 2400 is merely named as the variable length encoding unit 235.
  • the element that ultimately performs the encoding is not limited to the variable length encoding unit 235. This does not depart the scope of claims of the present invention.
  • FIG. 24 shows that the extended bitstream 305 generated by using the decoder description information and the conventional bitstream 316 is provided to the decoder.
  • the decoder description can be transferred to the decoder 300 in the form of separate data or bitstreams.
  • an encoded decoder description generating and outputting unit (not shown) can be placed in back of the variable length encoding unit 235 to provide the decoder 300 with the encoded decoder description generated independently of the conventional encoding unit 200.
  • the decoder has been used hitherto to describe the integrated codec apparatus and the method thereof in accordance with an embodiment of the present invention
  • the mutual relationship between the decoder and the encoder is evident to any person of ordinary skill in the art and it shall be obvious that the present invention is not limited to the decoder when it is considered that the encoder can be easily formed by using only detailed descriptions related to the decoder.
  • the integrated codec apparatus and the method thereof in accordance with the present invention makes it easy to analyze a syntax element and control the connection of the functional units in one standard (or codec) or between different standards (or codecs). In other words, it is possible to change the sequence of syntax elements in the bitstream to be generated according to a certain standard, to insert a new syntax element or to delete the existing syntax elements.
  • the decoder is unable to normally decode a pertinent bitstream when the syntax element is manipulated. For example, if the bitstream is re-formed and transmitted by changing the sequence of the bitstream information from ABC to ACB, the decoder is not able to recognize the re-formed bitstream. This makes it impossible to normally decode the re-formed bitstream. Similarly, if the bitstream is re-formed as ABFC by newly inserting F or as AC by deleting B, the decoder is also not able to recognize the re-formed bitstream.
  • the integrated codec apparatus and the method thereof in accordance with the present invention can allow the decoder description information to be included in an expanded bitstream or to be provided to the decoder description information as independent data, the decoder 300 can smoothly perform the decoding operation.
  • FIG. 25 shows a brief structure of a decoder in accordance with an embodiment of the present invention
  • FIG. 26 detailedly shows how a decoding unit processes a bitstream in accordance with an embodiment of the present invention.
  • the decoder description and video bitstream of FIG. 25 can be information generated and provided by an encoder, for example.
  • the decoder 2500 includes a decoding unit 2505 and a dividing unit 2510.
  • the decoding unit 2505 includes a BSDL parser 2520, a decoder forming unit 2530, a toolbox 2535 and a decoding solution 2540.
  • the BSDL parser 2520 analyzes the syntax information of a video bitstream inputted from the outside by using a BSDL schema inputted from the dividing unit 2510.
  • the video bitstream inputted into the BSDL parser 2520 is used as data encoded by an encoding type (e.g. MPEG-4 or AVS). It can be understood by any person of ordinary skill in the art through this description that the BSDL parser 2520 itself can analyze the BSDL schema or can be formed by an outer algorithm.
  • the BSDL parser 2520 includes a BSDL analysis processing unit 2525, which is an inner processing unit for reading the BSDL schema written in an XML grammar and re-defining the structure of the BSDL parser 2520.
  • the basic points only will be suggested below. Firstly, this is to recognize information related to the length and semantics of a bitstream written in the BSDL schema. Secondly, this is to realize a program routine that is operated by a same repeat or a conditional sentence by reading a repeated structure or conditional executable structure that is defined on the BSDL schema. Accordingly, before it is re-defined, the BSDL parser 2520 can be formed to include functions for achieving the above points, and the re-defining operation can refer to the operation that uses the aforementioned parsing functions to realize the BSDL parser 2520.
  • the BSDL parser 2520 can be realized by using a program such as caltrop actor language (CAL), C, C++ or Java that can form a fluid data flow by the control of the BSDL analysis processing unit 2525.
  • CAL caltrop actor language
  • C C
  • C++ C++
  • Java Java
  • the BSDL analysis processing unit 2525 and the BSDL parser 2520 can be realized according to the design standard without any restriction. Of course, it can be possible to use the previously suggested BSDL operation program such as a BSDL reference soft ware.
  • the BSDL reference software is the official software made for smoothly operating the BSDL standardized by the MPEG. It shall be obvious that the BSDL parser 2520 can be also more easily realized by using this type of software resource.
  • the basic structure of the BSDL parser 2520 can be designed in various ways as selected by a decoder designer. In other words, the decoder designer can selectively apply and design a detailed algorithm for performing a designated function of the BSDL parser 2520.
  • the BSDL parser 2520 can be re-defined by the result of reading the BSDL schema. The re-defined result must work (e.g. communicate) with other elements of the decoding unit 2505.
  • the details of the syntax information included in the bitstream are written in the BSDL schema inputted into the BSDL parser 2520.
  • the details can include the length, meaning and appearance condition of the syntax information and a repeated appearance frequency.
  • the length of the syntax information refers to the length of bits occupied by certain information in the bitstream.
  • the meaning of the syntax information shows what meaning the pertinent information has. This is because if a functional unit requests some information of A, for example, it may be necessary to distinguish which information is A.
  • the attributes of the bitstream may change whether a part of the syntax information appears or how many times a part of the syntax information appears.
  • the appearance condition and the repeated appearance frequency can be included in the BSDL schema.
  • the appearance condition may be necessary to allow motion vector information not to be read when an infra frame is processed, and if a pertinent macroblock is assumed to have 6 identical structural blocks, the repeated appearance frequency can be used to repeat the pertinent block.
  • the BSDL analysis processing unit 2525 helps the BSDL parser 2520 to read the information included in the bitstream according to the sequence of designated by the BSDL schema by transferring result information of the analyzed details to the BSDL parser 2520.
  • the BSDL parser 2520 converts contents of the bitstream, which is inputted by referring to the result information provided from the BSDL analysis processing unit 2525, to meaningful data in order to provide the meaningful data to the decoder forming unit 2530 and/or the decoding solution 2540.
  • the meaningful data, provided to the decoder forming unit 2530 and/or the decoding solution 2540 can include encoded video data of a predetermined macroblock size, an AC prediction flag (ACpred_flag) for intra-coded macroblocks, MB type & coded block pattern for chrominance (MCBPC) and a coded block pattern for luminance (CBPY), for example. This data providing operation can be performed regardless of whether the decoder forming unit 2530 or the decoding solution 2540 is driven.
  • the present invention is to allow the decoder description to be realized to have the structure using a BSDL system format and an XML based format that is linkable to the BSDL system.
  • the decoder description can have the XML format such as a BSDL and a CALML, and the BSDL schema and the CALML can have separated functions to be used for a syntax parsing operation and connection control between functional units, respectively.
  • the BSDL performs the writing in a form of an XML document or an XML schema including information related to the structure and the constituting type of the bitstream.
  • the language is designed to represent at least one video bitstream structure.
  • decoder description 2560 and encoded video data 2580 are inputted from the outside.
  • decoder description 2560 and encoded video data 2580 is already stored at an element of the decoding unit 2505.
  • the decoder forming unit 2530 controls the decoding solution 2540 to be realized by using the connection control information inputted from the dividing unit 2510 and some (e.g. at least one of encoded video data of a predetermined macroblock size, an AC prediction flag (ACpred flag) for intra-encoded macroblocks, MB type & coded block pattern for chrominance (MCBPC) and a coded block pattern for luminance (CBPY)) of the bitstream data inputted from the BSDL parser 2520.
  • some e.g. at least one of encoded video data of a predetermined macroblock size, an AC prediction flag (ACpred flag) for intra-encoded macroblocks, MB type & coded block pattern for chrominance (MCBPC) and a coded block pattern for luminance (CBPY)
  • the decoder forming unit 2530 controls some or all functional units of the toolbox 2535 to be loaded and arranged in the decoding solution 2540 by being organically connected to each other by use of the connection control information.
  • the connection control information is written by using a CAL markup language (CALML).
  • the CALML is the XML format capable of writing the constitution of a decoder by using the caltrop markup language, which has currently been disputed by the MPEG.
  • the caltrop markup language is constituted to include a program object, Actor, and connection relationships between Actors.
  • the CALML is the caltrop markup language which is expressed by the XML format.
  • the decoder forming unit 2530 has an authority to access the toolbox 2535 including the sets of various functional units.
  • the decoder forming unit 2530 also sets the input and output connection between the functional units of the toolbox 2535 and forms the decoding solution 2540 as the result.
  • the input and output connection structure and executing sequence between the functional units is determined by referring to the connection control information.
  • the decoder forming unit 2530 can receive some information to recognize the type of the inputted bitstream from the BSDL parser 2520 and refer to the received information in a functional unit connecting operation.
  • connection structure of functional units when it is expected that data is continuously inputted from the outside, the connection structure can be considered as an independent decoder, capable of analyzing and decoding all types of video bitstreams intended by a pertinent decoder description designer. At this time, this completed functional connection structure can be referred to as the decoding solution 2540.
  • the toolbox 2535 includes a plurality of functional units, each of which is realized to perform a predetermined process.
  • Each of the functional units can be realized as a combination of program codes.
  • Functional units included in the toolbox 2535 can be segmentalized into a plurality of subtoolboxes as each applied usage set.
  • the functional units can be segmentalized into a first toolbox including the functional units for MPEG and a second toolbox including other functional units.
  • functional units can be segmentalized into a first toolbox as a set of the functional units for MPEG-2, a second toolbox as a set of the functional units for MPEG-4 and a third toolbox as a set of the functional units for AVS, which is a digital TV compression standard in China.
  • a plurality of toolboxes 2535 can have an independent connection relationship with the decoder forming unit 2530 and the decoding solution 2540.
  • the first toolbox and the second toolbox, described above can be realized in the form of independent toolboxes. This is not shown.
  • one toolbox 2535 includes a plurality of subtoolboxes or all functional units are included by being scattered without being grouping into sets.
  • the toolbox 2535 includes the functional units realized to perform each function (i.e. a predetermined process). Each functional unit forms successive connecting operation relationships by being loaded on the decoding solution 2540 by the connection control of the decoder forming unit 2530, to thereby output the encoded video data included in the video bitstream as decoded video data.
  • the toolbox 2535 can include a de-blocking filtering (DF) functional unit, a VOP reconstructing (VR) functional unit, a frame field reordering (FFR) functional unit, an intra prediction and picture reconstruction (IPR) functional unit, an inverse transform (IT) functional unit, an inverse quantization (IQ) functional unit, an inverse AC prediction (IAP) functional unit, an inverse scanning (IS) functional unit and a DC reconstruction (DCR) functional unit, for example.
  • DF de-blocking filtering
  • VR VOP reconstructing
  • FFR frame field reordering
  • IPR intra prediction and picture reconstruction
  • IPR intra prediction and picture reconstruction
  • IPR intra prediction and picture reconstruction
  • IPR intra prediction and picture reconstruction
  • IPR intra prediction and picture reconstruction
  • IPR intra prediction and picture reconstruction
  • IPR inverse transform
  • IQ inverse quantization
  • IAP inverse AC prediction
  • IS inverse scanning
  • DCR DC reconstruction
  • An IT 4x4 functional unit, an IQ 4x4 functional unit and a DCR 4x4 functional unit process the blocks having the size of 4x4. This is because while MPEG- 1/2/4 process data in 8x8 block size in the transform, quantization and prediction, MPEG-4 AVC may process data in 4x4 block size.
  • the toolbox 2535 can include any functional unit for performing a data decoding function regardless of an applied standard, a necessary functional unit for the developed technology can be added, an existing functional unit can be modified and an unnecessary functional unit can be deleted. For example, if the IS functional unit processing data in 4x4 block size to perform the decoding is needed, the pertinent functional units can be included in the toolbox 2535. Moreover, a special prediction (SPR) functional unit can be added to perform the intra prediction for the MPEG-4 AVC.
  • SPR special prediction
  • the DF functional unit is a de-blocking filter of MPEG-4 AVC, and the VR functional unit stores a decoded pixel value.
  • the FFR functional unit is for an interlaced mode, and the IPR functional unit stores a decoded pixel value after the intra prediction of MPEG-4 A VC is performed. As described above, the intra prediction of MPEG-4 AVC can be performed by the SPR functional unit.
  • the IT functional unit performs the inverse transform of DC values and AC values, and the IQ functional unit performs the inverse quantization of the AC values.
  • the IAP functional unit performs the inverse AC prediction of the AC values, and the IS functional unit performs the inverse scan of the AC values.
  • the DCR functional unit performs the inverse AC prediction and the inverse quantization of the DC values.
  • the decoding solution 2540 which is formed by the decoder forming unit 2530, receives the bitstream data (or encoded video data of a predetermined macroblock size) divided in a unit of syntax information by the BSDL parser 2520.
  • the bitstream can be inputted through a tangible or intangible data interface for inputting and outputting data.
  • the data interface can be a memory buffer, a virtual port determining the flow of data or a parameter of a program.
  • the data interface can be a connection line of a circuit. Otherwise, the data interface can be realized in various ways.
  • the data can be continuously inputted through a pertinent interface regardless of the process performed by a certain functional unit (e.g. so as to perform the parallel processing).
  • the decoding solution 2540 processes the inputted data and outputs it as decoded video data. As shown in FIG. 26, data can be transferred from the data interface to each functional unit, and the functional unit can process the pertinent data and transfer the processed data to a following functional unit. This kind of data flow can be determined as pre-determined by the decoder forming unit 2530.
  • the decoding solution 2540 can include a storing unit for storing the data (e.g. information extracted by the syntax parsing of a bitstream) provided from the BSDL parser 2520 and processed result data of each functional unit.
  • Each functional unit loaded by the control of the BSDL parser 2520 can perform a predetermined process by using at least one of the data provided from the BSDL parser 2520 and the resulted data of a previously operated functional unit. In this case, a following functional unit to perform the corresponding process must recognize that the operation of the previous functional unit is completed.
  • the decoder forming unit 2530 can control whether the following functional unit starts the operation by continuously monitoring whether each functional unit completes the operation.
  • the storing unit includes independent areas per each functional unit and the processed result data of the previous functional unit is allowed to be stored in the area for the following functional unit by the control of the decoder forming unit 2530, the following functional unit can perform the process immediately when the data necessary to perform the process is stored in the area.
  • various methods for controlling a processing start time between the functional units are additionally considered.
  • the pertinent storing unit can be equipped in the decoder forming unit 2530, and the decoder forming unit 2530 can provide a functional unit that is to perform the current process with the data (e.g. information extracted by the syntax parsing of a bitstream) provided from the BSDL parser 2520 and the processed result data of each functional unit.
  • the data e.g. information extracted by the syntax parsing of a bitstream
  • the decoding unit 2505 will be briefly described with reference to FIG. 26.
  • the BSDL parser 2520 recognizes that there are MB type data and 2-bit CBPY data at the areas corresponding to the information A and the information B, respectively, by reading the BSDL schema.
  • the BSDL parser 2520 reads bits in predetermined quantities that are designated in each area by using the recognized information and transfer the read information to the decoding solution 2540 according to given meanings.
  • the decoding solution 2540 receives the data named as an MB type and CBPY from the BSDL parser 2520 to process the data. As described above, the decoding solution 2540 is realized by allowing each functional unit to be loaded by the connection control of the decoder forming unit 2530.
  • the data interface of the decoding solution 2540 receives the data transferred from the outside and transfers the received data to the functional units requesting the pertinent data by referring to a connection relationship of the functional units previously formed by the connection control information. Each functional unit also performs the decoding operation according to the predetermined connection relationship (i.e. the connection relationship for processing data). All data flow and the connection relationship between the functional units depend on the details previously formed by the decoder forming unit 2530. An output video frame is outputted to the outside by the successive processing of each functional unit. As described above, the decoder forming unit 2530 and/or the decoding solution 2540 can include a storing unit.
  • the BSDL parser 2520 can allow the decoder forming unit 2530 to provide the data to the decoding solution 2540 in order to decode encoded video data by providing corresponding data to the decoder forming unit 2530. Alternatively, the BSDL parser 2520 can directly provide the pertinent data to the decoding solution 2540.
  • the dividing unit 2510 divides the inputted decoder description 2560 into each information to input the divided information into the decoding unit 2505.
  • the decoder description 2560 inputted into the dividing unit 2510 can include the BSDL schema 2565 for writing the structure of a bitstream and the CALML data 2570 for writing the decoding operation of a bitstream.
  • the aforementioned two types of data can be independently written by the XML grammar or can be integrated and transmitted for the efficient operation of a decoder.
  • FIG. 27 shows how a decoder description is inputted in accordance with another embodiment of the present invention.
  • the decoder 2500 can further include a description decoder 510.
  • the description decoder 510 can generate the decoder description 2560 by decoding an inputted encoded decoder description 520 in order to provide the generated decoder description 2560 to the dividing unit 2510.
  • Transmitting the encoded decoder description 2560 makes it possible to reduce the amount of the transmitted and received data.
  • FIG. 28 shows how a decoder description is inputted in accordance with another embodiment of the present invention.
  • the above description with reference to FIG. 25 is related to the case that the decoder description 2560 and the video bitstream 2580 are inputted into the decoding unit 2505.
  • the above description with reference to FIG. 27 is related to the case that the encoded decoder description 520 and the video bitstream 2580 are inputted into the decoding unit 2505.
  • FIG. 31 shows the structure of a decoding unit in accordance with another embodiment of the present invention.
  • the decoding unit 2505 realized by separating the toolbox 2535 and the decoder forming unit 2530 from each other has been described above with reference to FIG. 25 through FIG. 28.
  • the decoder forming unit 2530 can include the toolbox 2535 as an element.
  • the decoder forming unit 2530 can perform not only the control function of the connection structure between the functional units but also the selecting function of a functional unit to be used. This can realize the decoding solution 2540 in various types.
  • FIG. 30 shows the structure of a BSDL parser in accordance with another embodiment of the present invention.
  • the BSDL parser 2520 including the BSDL analysis processing unit 2525 has been described above with reference to FIG. 25.
  • the BSDL parser 2520 of the present invention can be previously defined from an outside of the decoder 2500 before starting the decoding of a bitstream. Accordingly, the aforementioned BSDL analysis processing unit 2525 can be omitted.
  • a BSDL parser maker 2610 can be configured by using the existing application program such as a BSDL reference software.
  • a BSDL parser performing a predetermined operation as an independent element has been described above.
  • the BSDL parser can be realized as one functional unit included in a toolbox or pre-included as an independent element in a decoding solution.
  • a decoder forming unit must load and control the BSDL parser to perform the process by using connection control information before the functional units for performing the bitstream decoding starts their operations. Similarly, if the BSDL parser pre-includes in the decoding solution, the decoder forming unit must control the BSDL parser to perform the process before each loaded functional unit starts to perform the process. In each of the above cases, the operations and functions of the BSDL parser is the same as described above with reference to the related drawings. Accordingly, the pertinent detailed description will be omitted. However, it may be necessary that the decoder forming unit and/or the decoding solution receive the BSDL schema and/or the bitstream at the first time.
  • the decoding device and the method thereof in accordance with the present invention makes it easy to analyze a syntax element and control the connection of the functional units in one standard (or codec) or between different standards (or codecs). In other words, it is possible to change the sequence of syntax elements in the bitstream to be generated according to a certain standard, to insert a new syntax element or to delete the existing syntax elements.
  • the decoder is unable to normally decode a pertinent bitstream when a syntax element is manipulated. For example, if the corresponding bitstream is re-formed and transmitted by changing the sequence of the bitstream information from ABC to ACB, the decoder is not able to recognize the re-formed bitstream. This makes it impossible to normally decode the re-formed bitstream. Similarly, if the bitstream is re-formed as ABFC by newly inserting F or as AC by deleting B, the decoder is also not able to recognize the re-formed bitstream.
  • the decoder 300 can smoothly perform the decoding operation.
  • the syntax analyzing method for the bitstream decoding and the decoding device in accordance with the present invention has been described based on the MPEG-4 AVC.
  • 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.
  • connection control information can be written as not only information related to connection relationships of the functional units for performing the decoding by one standard and information related to the processing operation required for the pertinent functional unit but also information for performing the decoding by a plurality of standards.
  • connection control information is obviously defined such that the functional units conforming to each standard included in the toolbox 2535 can be organically coupled to process each frame encoded by using different encoding methods.
  • the method of generating an abstract decoder model (ADM) from a decoding description ((DD) and realizing a decoding solution from the generated ADM has been used above. Described below is the change of a CDDL structure to generate a parser FU forming an ADM from a CDDL-based DD and supporting the requirement of the ADM. As shown in FIG. 31 , a series of operations allowing a model instantiation process to be performed to form a parser functional unit (FU) before the ADM is formed and the ADM to be formed by using the CDDL-based DD will be described. The aforementioned CDDL structure must be revised to smoothly form the ADM from the CDDL-based DD.
  • the CDDL-based DD having 7 tables (SET, SRT, DVT, CSCIT, FLT, FRT and FU-CSCIT) is revised to have a total of 8 tables by including a newly formed and revised FT (the description information mentioned as FLT is revised and described as FT), a functional unit link table (FLT), FU-CSCIT and a parameter table (PT) and removing the exiting FRT.
  • the model instantiation process uses these 8 table items of information and undergoes two processing operations. One is the operation (ADM generating operation) of forming a connection structure of a FU, and the other is the operation of forming a parser FU.
  • connection structure of the FU requires information related to a total of five tables (FT, FLT, FU-CSCIT, PT, and CSCIT), and the operation of forming the parser FU requires information related to a total of four tables (SET, SRT, CSCIT and DVT).
  • the operation of forming a connection structure of the FU can be roughly divided into 4 formation operations as follows.
  • the FT defines the FUs to be used for the ADM.
  • This table includes an ID of a FU and information (a FU name (class name), a FU id, a FU type and an upper network of a FU) necessary to form an ADM script (i.e. a text script representing ADM information in the xml form).
  • the FU id is not an element for forming the ADM.
  • the FU id indicates the connection between the FU that is being written in the ADM and the FU that is stored in the toolbox.
  • the FLT includes information related to the structure of the connection between the FUs.
  • FIG. 33 shows that it is possible to generate a part forming the connection of a script that actually constitutes the ADM as the FLT and FT.
  • the information necessary for the input/output port of a network of a FU written in the ADM requires input and output types and a name of the input/output port. It is possible to transmit at least one token through one data port (i.e. an input/output port) in the ADM.
  • the FU-CSCIT includes information related to whether to transmit at least one token (e.g. CSCI data) for one input/output port. While the FLT writes the connection structure of data, the FU-CSCIT writes how many input/output ports this connection structure has and which data is connected to each port.
  • the below picture of FIG. 34 shows that it is possible to generate the script that actually constitutes the port by using the FU-CSCIT and the FLT in the ADM.
  • the parameter table includes information formed to support a parameter script that is being written in the ADM.
  • This table stores information, related to whether the parameter to be used in a network of FU is the variable that is defined in an upper network of FU before being inherited or the variable that is directly defined, a parameter name, a parameter type and an initial value.
  • the types and kinds are changeable and if a field for the linking is unnecessary, it can be omitted.
  • the parser FU is generated to be actually drivable by using 6 tables (i.e. partial decoder description) pertaining to the DD and a generic parser FU for operating the tables.
  • a finite state machine (FSM) performs the processing of each syntax (written in the SET and DVT) and the transfer (written in the SRT) of the processing operation to a next syntax by using the SET, SRT, CSCIT and DVT from the DD. These operations are performed as a so-called state transition operation of the FSM.
  • the FSM stores information obtained from the syntaxes as CSCI according to the processing of the syntaxes. These CSCI data is transferred to the FU through a data transmitting port connecting between the FUs.
  • Transferring the CSCI data through the port requires the operation of processing the data in the token form, which is a port transmission format.
  • the operation of transmitting the CSCI data processed in the token form to another FU by connecting the FUs with a predetermined output port is referred to as a port mapping. This operation refers to the FU-CSCIT of the tables.
  • FIG. 37 shows the ADM for MPEG-4 visual which is actually realized by undergoing the aforementioned operations.
  • the foresaid inventions can be applied to or used for a BDD design optimized with regard to the size, a BDD design for a non-MPEG codec and a BDD decoding description for surroundings in real time.
  • a BDD design optimized with regard to the size a BDD design for a non-MPEG codec and a BDD decoding description for surroundings in real time.
  • the FT can be shown as follows.
  • the FLT can be shown as follows.
  • the FU-CSCIT can be shown as follows.
  • the PT can be shown as follows.
  • the syntax analyzing method for the bitstream decoding and the decoding device in accordance with the present invention has been described based on the MPEG-4 AVC.
  • 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.
  • connection control information can be also written as not only information related to connection relationships of the functional units for performing the decoding by one standard and related to the processing operation required for the pertinent functional unit but also information for performing the decoding by a plurality of standards.
  • a plurality of initial frames of a video bitstream, a plurality of following frames and other frames are encoded in MPEG-2, MPEG-4 and MPEG-I, respectively.
  • the decoder description information included in the decoder description is obviously defined such that the functional units conforming to each standard included in the toolbox 2535 can be organically coupled to process each frame encoded by using different encoding methods.
  • the present invention is applicable to a video codec.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

L'invention concerne un dispositif et un procédé de codage/décodage de données vidéo. Un dispositif de décodage peut inclure une boîte à outils conçue pour comprendre une pluralité d'unités fonctionnelles destinées à réaliser individuellement chaque processus selon au moins une norme de décodage pour le décodage d'un train de bits, une unité de stockage de descriptions servant à stocker des descriptions de décodeur partielles pour la commande du fonctionnement d'une partie ou de la totalité des unités fonctionnelles, ainsi qu'une unité de formation de décodeur conçue pour contrôler les données vidéo codées à décoder en données vidéo par chargement sélectif d'une partie ou de la totalité des unités fonctionnelles conformément à au moins une description de décodeur partielle. La présente invention permet de restructurer et de reformer le décodeur sous diverses formes au moyen des descriptions de décodeur.
PCT/KR2008/003302 2007-06-29 2008-06-12 Dispositif et procédé de codage/décodage de données vidéo WO2009005225A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2007-0065880 2007-06-29
KR1020070065880A KR20090002508A (ko) 2007-06-29 2007-06-29 동영상 데이터의 인코딩/디코딩 방법 및 장치

Publications (1)

Publication Number Publication Date
WO2009005225A1 true WO2009005225A1 (fr) 2009-01-08

Family

ID=40226231

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2008/003302 WO2009005225A1 (fr) 2007-06-29 2008-06-12 Dispositif et procédé de codage/décodage de données vidéo

Country Status (2)

Country Link
KR (1) KR20090002508A (fr)
WO (1) WO2009005225A1 (fr)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110299603A1 (en) * 2009-02-19 2011-12-08 Humax Co., Ltd. Device and method for encoding/decoding
CN112822447A (zh) * 2021-01-07 2021-05-18 云南电网有限责任公司电力科学研究院 一种基于5g网络的机器人远程监控视频传输方法及系统

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100960028B1 (ko) 2008-10-11 2010-05-28 한양대학교 산학협력단 디코딩 장치, 디코딩 방법, 인코딩 방법 및 컴퓨터로 판독 가능한 기록 매체

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030063676A1 (en) * 2000-04-17 2003-04-03 Pulsent Corporation Decoder for decoding segment-based encoding of video data using segmentation performed at a decoder
US20040193289A1 (en) * 2002-12-31 2004-09-30 Shi Chen Decoding system and method
US20070092008A1 (en) * 2005-10-26 2007-04-26 Chang Nelson Y Context-aware frame memory scheme for motion compensation in video decoding

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030063676A1 (en) * 2000-04-17 2003-04-03 Pulsent Corporation Decoder for decoding segment-based encoding of video data using segmentation performed at a decoder
US20040193289A1 (en) * 2002-12-31 2004-09-30 Shi Chen Decoding system and method
US20070092008A1 (en) * 2005-10-26 2007-04-26 Chang Nelson Y Context-aware frame memory scheme for motion compensation in video decoding

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110299603A1 (en) * 2009-02-19 2011-12-08 Humax Co., Ltd. Device and method for encoding/decoding
US9031136B2 (en) * 2009-02-19 2015-05-12 Humax Holdings Co., Ltd. Device and method for encoding/decoding
CN112822447A (zh) * 2021-01-07 2021-05-18 云南电网有限责任公司电力科学研究院 一种基于5g网络的机器人远程监控视频传输方法及系统

Also Published As

Publication number Publication date
KR20090002508A (ko) 2009-01-09

Similar Documents

Publication Publication Date Title
US8817886B2 (en) Bitstream decoding device having a toolbox with a plurality of functional units distinguishable via identification information and a corresponding method
US8711946B2 (en) Device and method for unified codes
US20100208829A1 (en) Bitstream decoding device and method having decoding solution
US8582661B2 (en) Bitstream decoding device having reconfigurable functional units and a corresponding decoding method
KR101372418B1 (ko) 비트스트림 디코딩 장치 및 방법
KR100970145B1 (ko) 부호화/복호화 방법 및 장치
WO2009005225A1 (fr) Dispositif et procédé de codage/décodage de données vidéo
KR101380825B1 (ko) 디코딩 솔루션을 구비한 비트스트림 디코딩 장치 및 방법
US9031136B2 (en) Device and method for encoding/decoding
KR101477218B1 (ko) 부호화/복호화 방법 및 장치
US8565320B2 (en) Device and method for encoding/decoding video data
KR20100115238A (ko) 코덱 설계 방법 및 장치
WO2009005226A1 (fr) Dispositif et procédé de codage/décodage de données vidéo
KR101305513B1 (ko) 동영상 데이터의 인코딩/디코딩 방법 및 장치
KR100807100B1 (ko) 통합 코덱 장치 및 방법
KR101305517B1 (ko) 디코딩 솔루션을 구비한 비트스트림 디코딩 장치 및 방법
WO2008048010A1 (fr) Dispositif et procédé de codage/décodage de flux binaire
KR20080006430A (ko) 비트스트림 인코딩/디코딩 장치 및 방법
KR101305516B1 (ko) 디코딩 솔루션을 구비한 비트스트림 디코딩 장치 및 방법
WO2008123710A1 (fr) Procédé et dispositif de décodage de flux binaire ayant une solution de décodage

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: 08766264

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A SENT ON 20/04/10)

122 Ep: pct application non-entry in european phase

Ref document number: 08766264

Country of ref document: EP

Kind code of ref document: A1