+

WO2008123710A1 - Procédé et dispositif de décodage de flux binaire ayant une solution de décodage - Google Patents

Procédé et dispositif de décodage de flux binaire ayant une solution de décodage Download PDF

Info

Publication number
WO2008123710A1
WO2008123710A1 PCT/KR2008/001928 KR2008001928W WO2008123710A1 WO 2008123710 A1 WO2008123710 A1 WO 2008123710A1 KR 2008001928 W KR2008001928 W KR 2008001928W WO 2008123710 A1 WO2008123710 A1 WO 2008123710A1
Authority
WO
WIPO (PCT)
Prior art keywords
decoding
information
unit
decoder
csci
Prior art date
Application number
PCT/KR2008/001928
Other languages
English (en)
Inventor
Euee-Seon Jang
Chung-Ku Lee
Eun-Kyung Kwak
Sun-Young 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
Priority claimed from KR1020070033490A external-priority patent/KR101305513B1/ko
Priority claimed from KR1020070033495A external-priority patent/KR101380825B1/ko
Application filed by Humax Co., Ltd. filed Critical Humax Co., Ltd.
Publication of WO2008123710A1 publication Critical patent/WO2008123710A1/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/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/438Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving encoded video stream packets from an IP network
    • H04N21/4382Demodulation or channel decoding, e.g. QPSK demodulation
    • 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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • 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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • 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/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 a decoding device and method of video data and more particularly, to a bitstream decoding device and method having a decoding solution.
  • video data is converted into bitstream data by an encoder.
  • the bitstream is stored depending on an encoding type that satisfies the constraint condition of the encoder.
  • MPEG which is the constraint condition of the bitstream, requests syntax and semantics.
  • the syntax which refers to the structure, format, or length of data, shows the sequence of expressing the data. In other words, the syntax is to meet a rule for encoding/decoding and defines the sequence, length, format, and the like of each element in the bitstream.
  • the semantics refers to the meaning of each bit forming data. In other words, the semantics shows the meaning of each element in the bitstream.
  • bitstreams can be generated 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, etc.
  • MPEG-4 AVC MPEG-4 AVC
  • bitstream encoded according to each standard or encoding condition has different types (i.e. syntax and semantics).
  • a decoder corresponding to a pertinent encoder may be used for the deciding of the bitstream.
  • the conventional bitstream decoder has a restriction that must satisfy the constraint condition of the encoder. This restriction makes it difficult to implement a united decoder corresponding to a plurality of standards.
  • the present invention which is designed to solve the aforementioned problems, provides a method and device for decoding a bitstream that is encoded by various types (syntax and semantics) in accordance with each standard (e.g. MPEG-I, MPEG-2, MPEG-4, MPEG-4 AVC) by using the same information recognizing method. Further, the present invention provides a method and device for encoding a bitstream that can generate an extended bitstream including decoder descriptions or generate a bitstream and decoder descriptions respectively to decode bitstreams encoded by various types (syntax and semantics) in accordance with each standard by using the same information recognizing method.
  • each standard e.g. MPEG-I, MPEG-2, MPEG-4, MPEG-4 AVC
  • the present invention provides a method and device for decoding a bitstream that can parse a bitstream compressed by various encoding methods by using the same information analyzing method and systematically control each functional unit for decoding by using the parsed data. Further, the present invention provides a method and device for encoding a bitstream that can describe decoder descriptions more efficiently by employing hierarchical structure of codec to the syntax parsing and the decoding process.
  • the present invention provides a method and device for decoding a bitstream that can suggest scheduling management of each codec and systematic processing structure (i.e., parallel combination structure, sequential combination structure, independent processing structure, individual processing structure, etc.) of each functional unit by using the decoder description.
  • the present invention provides a method and device for encoding a bitstream that can design and build various systems only with the above described decoder descriptions or hierarchy information. Further, the present invention provides a method and device for encoding/decoding a bitstream that can universially apply a syntax analysis method to decode various types of bitstreams.
  • the present invention provides a method and device for encoding/decoding a bitstream that can apply a new set of commands to parse various types of bitstreams by a common syntax analysis method.
  • the present invention provides a method and device for decoding a bitstream that can decode bitstreams even when a syntax element is changed, added, or deleted. Further, the present invention provides a method and device for decoding a bitstream that can share elements used for the bitstream decoding of the element information (i.e. a result from syntax parsing) of analyzed syntax.
  • the present invention provides a method and device for decoding a bitstream that can use the element information of analyzed syntax for analyzing the syntax element of a following bitstream.
  • the present invention provides a method and device for decoding a bitstream that can separate functions, which are included during various decoding processes suggested by several standards (codec), corresponding to each functional unit and provide the result into a tool-box Further, the present invention provides a method and device for decoding a bitstream that can selectively use only necessary functional units from the tool box to decode a bitstream encoded by various types.
  • the present invention provides a method and device for decoding a bitstream that can allow easy changing, inserting, or deleting functional units stored in the tool box.
  • the present invention is to aim at international standardization of codec unification for the bitstream decoding, generation of decoder descriptions to be processed by the same information analyzing method and establishment of extended bitstream.
  • an aspect of the present invention features a decoding device and/or a unified codec device that can be universally used for various standards.
  • a decoding device can include A decoding device, comprising: a decoder implementation unit generating and outputting Control Signal/Context Information (CSCI) control information and connection control information using partial decoder descriptions stored in a description storing unit; a tool box including a plurality of functional units, respectively, realized to perform a predetermined process; and a decoding solution loading the functional units in a hierarchical way and decoding a bitstream into video data by using the CSCI and the connection control information.
  • CSCI Control Signal/Context Information
  • a decoding method can include (a) generating and storing a plurality of partial decoder descriptions corresponding to the inputted decoder description; (b) generating CSCI control information and connection control information using the partial decoder descriptions; (c) storing a plurality of element information generated by syntax parsing of the bitstream using CSCI control information; (d) decoding the encoded video data of the bitstream using the connection control information and the element information and outputting decoded video data.
  • a decoding device can include a tool box including a plurality of functional units, respectively, respectively, is realized to independently perform each process of at least one standard for decoding; description storing unit storing partial decoder descriptons for controlling operations of all or parts of the functional units; and a decoder implementation unit controlling to decode encoded video data into video data by hierarchically loading the functional units by referring to at least one partial decoder description.
  • a decoding method can include (a) generating and storing a plurality of partial decoder descriptions corresponding to the inputted decoder description wherein the decodescription comprses a plurality of partial decoder descriptions; and (b) loading a parsing functional unit and one or more of decoding functional units corresponding to the highest layer by using one or more of partial decoder descriptions, wherein, the parsing functional unit performs syntax parsing of the bitstream and the decoding functional units of the highest layer perform processing when control signal and context information (CSCI) for performing a predetermined process and data for decoding are stored in the storing unit by the parsing functional unit, when the control signal and context information (CSCI) for performing a first layer corresponding to the hierarchical structure and data for decoding are stored in the storing unit, the first layer is loaded by a second layer which is in an activation state.
  • CSCI control signal and context information
  • the present invention can decode a bit steam encoded by various types (syntax and semantics) in accordance with each standard (e.g. MPEG-I, MPEG-2, MPEG-4, MPEG-4 AVC) by using the same information recognizing method. Further, the present invention can generate a bitstream, which is encoded by various types (syntax and semantics) in accordance with each standard and decoder description, or extended bitstream including the decoder description and the bitstream such that the bitstream can be decoded by using the same information recognizing method. Further, the present invention can efficiently describe a decoder descriptionby by applying hierachical structures of Codec to the process of syntax parsing and decoding.
  • the present invention can provide a scheduling management of each codec and an organic processing structure (such as parallel connection structure, serial connection structure, independent processing structure and individual processing structure,ets) by using a decoder description
  • the present invention can design and implement various codec systems with described decoder description and hierachical information.
  • the present invention can parse a bit stream compressed by various methods by using the same information analyzing method and organically control each functional unit for decoding by using the parsed data.
  • the present invention can commonly apply a syntax analyzing method for decoding various types of bitstreams.
  • the present invention can apply a set of new commands for being capable of parsing a bit stream in various forms by using a common syntax analyzing method.
  • the present invention can easily decode a bit stream when a syntax element is changed, added or deleted.
  • the present invention can share elements used for the bit stream decoding of the element information (i.e. a result from syntax parsing) of analyzed syntax.
  • the present invention can use the element information of analyzed syntax to analyze following bit stream syntax element.
  • the present invention can be used when unifying moving picture and still image codecs processed in units of block in addition to MPEG-I, MPEG-2, MPEG-4 and MPEG-4 AVC.
  • the present invention can divide the functions forming various decoding methods suggested by diverse standards (codecs) per each functional unit and store the divided functions in a toolbox. Further, the present invention can select in a toolbox and decode a functional unit necessary for decoding a bit stream encoded in various forms.
  • the present invention can change, add or delete a functional unit stored in a tool box.
  • FIG. 1 is a schematic block diagram illustrating the structure of a typical decoder.
  • FIG. 2 is a schematic block diagram illustrating the structure of a typical encoder.
  • FIG. 3 is a schematic block diagram illustrating the structure of a decoder in accordance with an embodiment of the present invention.
  • FIG. 4 is a schematic block diagram illustrating the structure of a decoding processing unit in accordance with a first embodiment of the present invention.
  • FIG. 5 is a schematic block diagram illustrating the structure of a decoding processing unit in accordance with a second embodiment of the present invention.
  • FIG. 6 is a schematic block diagram illustrating the structure of an extended bitstream in accordance with an embodiment of the present invention.
  • FIG. 7 illustrates function units for syntax (SYN) parsing in accordance with an embodiment of the present invention.
  • FIG. 8 illustrates function units for decoding processing in accordance with an embodiment of the present invention.
  • FIG. 9 illustrates the hierarchical structure assigned by a decoding hierarchy table(DHT) in accordance with an embodiment of the present invention.
  • FIG. 10 illustrates the calling structure between layers and the connection structure within layers assigned by a syntax rule table(S-RT) in accordance with an embodiment of the present invention.
  • FIG. 11 illustrates an interface set for functional units applied to 2 or more of standards in accordance with an embodiment of the present invention.
  • FIG. 12 illustrates the connection structure of a dedicated buffer space between nodes per each hierarchy in accordance with an embodiment of the present invention.
  • FIG. 13 illustrates the inclusion relationship of a dedicated buffer space for storing control signal and context information (CSCI) data in accordance with an embodiment of the present invention.
  • CSCI control signal and context information
  • FIG. 14 illustrates the inclusion relation of a dedicated buffer space for storing output data by functional units in accordance with an embodiment of the present invention.
  • FIG. 15 schematically illustrates parallel processing of syntax parsing and data decoding in accordance with an embodiment of the present invention.
  • FIG. 16 is a schematic block diagram illustrating the structure of an extended bitstream in accordance with a first embodiment of the present invention.
  • FIG. 17 is a schematic block diagram illustrating the structure of an extended bitstream in accordance with a second embodiment of the present invention.
  • FIG. 18 is a schematic block diagram illustrating the structure of an extended bitstream in accordance with a third embodiment of the present invention.
  • FIG. 19 is a schematic block diagram illustrating the structure of an extended bitstream in accordance with a fourth embodiment of the present invention.
  • FIG. 20 is a schematic block diagram illustrating the structure of an extended bitstream in accordance with a fifth embodiment of the present invention.
  • FIG. 21 is a schematic block diagram illustrating the structure of an extended bitstream in accordance with a sixth embodiment of the present invention.
  • FIG. 22 is a schematic block diagram illustrating the structure of an extended bitstream in accordance with a seventh embodiment of the present invention.
  • FIG. 23 is a schematic block diagram illustrating the structure of an extended bitstream in accordance with an eigthth embodiment of the present invention.
  • FIG. 24 is a block diagram illustrating an encoder in accordance with an embodiment of the present invention.
  • FIG. 25 is a schematic block diagram illustrating the structure of a decoding processing unit in accordance with a third embodiment of the present invention.
  • FIG. 26 is a schematic block diagram illustrating the structure of a decoding processing unit in accordance with the forth embodiment of the present invention.
  • FIG. 1 is a schematic block diagram illustrating the structure of a typical decoder
  • FIG. 2 is a schematic block diagram illustrating the structure of the typical encoder.
  • an MPEG-4 decoder 100 typically includes a variable length decoding processing unit 110, an inverse scanning unit 115, an inverse DC/AC prediction unit 120, an inverse quantization unit 125, an inverse discrete cosine transform unit 130 and a VOP reconstruction unit 135. It shall be evident that the decoder 100 can have a structure changed depending on an applying standard and some elements can be replaced with other elements.
  • variable length decoding processing unit 110 forms a quantized discrete cosine transform (DCT) coefficient by using predetermined Huffman table
  • the inverse scanning unit 115 generates data having the same sequence as pertinent video data 140 by performing inverse scanning.
  • the inverse scanning unit 115 outputs a value in inverse order of scanning by various methods.
  • a scanning direction can be defined depending on the distribution of frequency range. Typically, a zig-zag scanning method can be used. However, various scanning methods per codec can be used.
  • Syntax parsing can be integratedly performed in the variable length decoding processing unit 110 or in an element for processing the bitstream prior to the variable length decoding processing unit 110.
  • the syntax parsing is processed by a predetermined setting 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 range.
  • the inverse quantization unit 125 performs the inverse quantization of inverse-scanned data. In other words, the inverse quantization unit 125 returns DC and AC coefficients by using a quantization parameter (QP) designed in an encoding process.
  • QP quantization parameter
  • the inverse discrete cosine transform unit 130 calculates an actual video data pixel value to generate a video object plane (VOP) by performing inverse discrete cosine transform.
  • VOP video object plane
  • the VOP reconstruction unit 135 decodes a video signal by using the VOP generated by the inverse discrete cosine transform unit 130 and outputs the decoded signal.
  • an MPEG-4 encoder 200 typically includes a discrete cosine transform unit 210, a quantization unit 215, a DC/ AC prediction unit 220, a scanning unit 230 and a variable length encoding unit 235.
  • Each element included in the encoder 200 performs the inverse functions of the corresponding elements of the decoder 100. This is well-known to those of ordinary skill in the art. Briefly describing, the encoder 200 converts a video signal (i.e. a digital video pixel value) to a frequency value through the DCT and the quantization and performs the encoding. Then, the encoder 200 performs variable length encoding to differentiate bit length according to the frequency number of information and outputs compressed bit stream format.
  • a video signal i.e. a digital video pixel value
  • the encoder 200 performs variable length encoding to differentiate bit length according to the frequency number of information and outputs compressed bit stream format.
  • FIG. 3 is a schematic block diagram illustrating the structure of a decoder in accordance with an embodiment of the present invention
  • FIG. 4 is a schematic block diagram illustrating the structure of a decoding processing unit in accordance with a first embodiment of the present invention
  • FIG. 5 is a schematic block diagram illustrating the structure of a decoding processing unit in accordance with a second embodiment of the present invention
  • FIG. 6 is a schematic block diagram illustrating the structure of an extended bitstream in accordance with an embodiment of the present invention
  • FIG. 7 illustrates function units for syntax (SYN) parsing in accordance with an embodiment of the present invention
  • FIG. 8 illustrates function units for decoding processing in accordance with an embodiment of the present invention
  • FIG. 1 is a schematic block diagram illustrating the structure of a decoder in accordance with an embodiment of the present invention
  • FIG. 4 is a schematic block diagram illustrating the structure of a decoding processing unit in accordance with a first embodiment of the present invention
  • FIG. 5 is a schematic block
  • FIG. 9 illustrates the hierarchical structure assigned by a decoding hierarchy table(DHT) in accordance with an embodiment of the present invention
  • FIG. 10 illustrates the calling structure between layers and the connection structure within layers assigned by a syntax rule table(S-RT) in accordance with an embodiment of the present invention
  • FIG. 11 illustrates an interface set for functional units applied to 2 or more of standards in accordance with an embodiment of the present invention
  • FIG. 12 illustrates the connection structure of a dedicated buffer space between nodes per each hierarchy in accordance with an embodiment of the present invention
  • FIG. 13 illustrates the inclusion relationship of a dedicated buffer space for storing control signal and context information (CSCI) data in accordance with an embodiment of the present invention
  • FIG. 14 illustrates the inclusion relation of a dedicated buffer space for storing output data by functional units in accordance with an embodiment of the present invention
  • FIG. 15 schematically illustrates parallel processing of syntax parsing and data decoding in accordance with an embodiment of the present invention.
  • the decoder 300 of the present invention has a different function from the conventional decoder (refer to FIG. 1).
  • the decoder description and bitstream are provided together to the decoder 300 for encoding and decoding processing in accordance with the present invention.
  • the decoder description can be provided to the decoder 300 as the extended bitstream implemented with the bitstream or as independent data. If the information corresponding to the decoder description is memorized in a certain memory unit decoder description can not be provided. However, hereinafter the case that the decoder description is provided to the decoder 300 will be explained.
  • the decoder 300 in accordance with the embodiment of the present invention includes a dividing unit 310 and decoding processing unit 320. It shall be obvious that at least one of the illustrated elements (e.g. the dividing unit 310, the decoding processing unit 320 and its elements) can be realized as a software program (or the combination of program codes) embodied for performing a function to be described below.
  • the dividing unit 310 divides an inputted extended bitstream 305 into an encoded decoder description (DD) part and a typical bitstream (hereinafter, referred to as a conventional bitstream) part and outputs the encoded decoder description and the conventional bitstream to the decoding processing unit 320.
  • DD encoded decoder description
  • a conventional bitstream typical bitstream
  • the dividing unit 310 can output the encoded decoder description to a description decoder 405 and outputs the conventional bitstream to a decoder implementation unit 420. As mentioned above, it the encoded decoder description and the conventional bitstream are received independently the dividing unit 310 can be omitted.
  • the conventional bitstream can be the same or similar format of the bitstream 105 of Fig. 1.
  • the extended bitstream 305 can include the decoder description 313 and the conventional bitstream 316. It is obvious that the extended bitstream 305 and the encoded decoder description 313 are not restriced by the examples in Fig. 4, which is to explan one of embodiments of the present invention.
  • the decoder description 314 that is decoded by the description decoder 405 is related to the structure information and encoding method (or the connection between functional units) of the conventional bitstream 316 and information of input/output data of functional units, in order to parse a bitstream, encoded by various encoding methods and/or by a function selected by a user among diverse functions by a common analyzing method.
  • the decoder description 314 can be described by using a description method such as textual description or binary description.
  • the decoder description can be ommited if the encoded decoder description 313 can be directly read by decoder implementation unit 420 without the processing of the description decoder 405.
  • the encoded decoder description 313 can be decoded into the decoder description 314 by the description decoder 405.
  • the decoder description 314 can be divided into partial decoder descriptions that are 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 partial decoder descriptions can be used as hierarchy information for performing predetermined process of functional units included in the decoder 300 being activated corresponding to hierarchical structures of the encoded video data.
  • partial decoder descriptions can be used as operation control information that define process and iput data of each functional unit and define the storing name of resulted data from the process performing.
  • operation control information can be included in the hierarchy information.
  • the hierarchy information can be specified by at least one of F-RT 620, DHT 645 and S-RT 660 as follows. If it is assumed that the encoded video data have the hierarchical subordination structure like "the highest position layer, a next position layer, , a next position layer and the lowest position layer", the highest position layer is first activated and the next position layers are subsequently activated subsequently and the lowest position layer is finally activated. Although each layer is subsequently activated, decoding process for encoded video data can not be completed by perforing subsequently operations of functional units included in each layer. There can be the cases that the decoding process for encoded video data can be completed by perforing alternatively operations of functional units of many layers. If one layer is activated, every decoding functional unit included in an object of the layer and at least one calling unit of a next position layer included in the object are activated.
  • the decoding functional units included in activated layers start their operations if Control Signal/Context Information (CSCI) data necessary for predetermined process and data for decoding are stored in CSCI storing unit 432.
  • CSCI Control Signal/Context Information
  • the calling unit of the activated next position layer generates and executes an object of the pertinent layer and therby every decoding functional unit included in the pertinent object and at least one calling unit included in the next position layer included in the pertinent object are activated.
  • a lower layer can be called by performing object of one layer.
  • each partial decoder description in the decoder description can be arranged in various orders.
  • the functional unit list(FL) 610, the functional unit rule table(F-RT) 620, the functional unit control signal and context information table(FU-CSCIT) 630, the control signal and context information table(CSCIT) 640, and the decoding hierarchy table(DHT) 650 may be used to build a recofiguable connection of each functional unit(as necessary, a partial decoder description may be referred to as "a first decoder description").
  • the decoding hierarchy table (DHT) 650 may be information describing for hierarchical structure of each codec and a lower layer per each hierarchy (see FIG. 9).
  • the hierarchical structure of each codec may be described with upper layers and lower layers and may be subdivided into a sequence layer, a GOP layer, a VOP layer, a slice layer, a macro block layer, a block layer and the like.
  • Each codec is composed of at least one of those layers and at least one object may be included in each layer.
  • a process of decoding encoded video data composed of 2 or more layers is described briefly as follows. However, it is not limited to this method for decoding bitstreams corresponding to the hierarchical structure.
  • the calling unit can be an element of the connection control unit 434 or contol operation of the connection control unit 434.
  • one or more of layer calling units i.e., GOP-I layer, GOP-2 layer, GOP-3 layer
  • one or more of layer calling units i.e., a picture- 1 layer, a picture-2 layer with performing the object of the GOP-I layer, picture-3, picture-4 with performing the object of the GOP-2 layer, etc.
  • layer calling units i.e., a picture- 1 layer, a picture-2 layer with performing the object of the GOP-I layer, picture-3, picture-4 with performing the object of the GOP-2 layer, etc.
  • an upper layer calls a lower layer in the activation process by calling in the hierarchical structure and it is apparent that an upper layer can be called by a lower layer, if necessary, based on decoder description or partial decoder description.
  • the functional units in the activated layer start operation if control signal and context information for performing a predetermined process and data for decoding are stored in the CSCI storing unit 432.
  • the calling unit in the lower layer (the second layer) of the activated layer (the first layer) generates and performs an object of the corresponding layer (the second layer) if control signal and context information for performing a process by one or more of the decoding functional units of the included layer and data for decoding are stored in a CSCI storing unit 432. All decoding functional units in the corresponding object and at least one calling units of the lower layer (the third layer) included in the corresponding object are activated.
  • the FU-CSCIT may be referred to as partial decoder description information for mapping between element information stored in each functional unit of the toolbox 415 and the CSCI storing unit 432.
  • the element information can be a conrol parameter for each functional unit.
  • the control signal and context information table(CSCIT) 640, the decoding hierarchy table(DHT) 650, the syntax element table(SET) 660, the syntax-rule table(S-RT) 670, the default value table(DVT) 680, and the like may be used for the syntax parsing of the conventional bitstream 316 (as necessary, a partial decoder description may be referred to as "a second decoder description").
  • a partial decoder description may be referred to as "a second decoder description"
  • the type and function of the each partial decoder description information will be described in detail below.
  • the description decoder 405 decodes the encoded decoder description inputted from the dividing unit 310 into the decoder description 314 and divides the decoder description 314 to 2 or more partial decoder descriptions which are the types to be recognized by the decoder implementation unit 420 or a decoding solution 430 and sotre the partial decoder descriptions in the description storing unit 410. It is not necessary that each partial decoder description stored in the description storing unit 410 is a typical type of table but enough that it is any information type to be recognized by the decoder implementation unit 420 or decoding solution 430.
  • the partial decoder descriptions which are to be stored in the description storing unit 410 by the decoder description analysis of the decoder description decoder 405, may include a FL 610, a F-RT 620, a FU-CSCIT 630, a CSCIT 640, a DHT 650, a SET 660, a S-RT 670, a DVT 680, etc.
  • the description decoder 405 may identify each partial decoder description by inserting a table indentifier (TI).
  • the description decoder 405 may select a partial decoder description corresponding thereto from the partial decoder descriptions pre-stored in the description storing unit 410 to be used during the decoding without generating a new partial decoder description for a whole partial decoder description or a part of partial decoder descriptions.
  • the description decoder 405 may extract the partial decoder description corresponding to an appropriate code from the partial decoder descriptions pre- stored in the description storing unit 410 and generate a new partial decoder description reflecting the amendment information.
  • the description decoder 405 may generate a new partial decoder description for a whole partial decoder description or a part of partial decoder descriptions to use during the decoding.
  • the decoder description may further include revision information 1130 besides the decoder description (DD-T) for each partial decoder description.
  • Partial decoder descriptions divided by the description decoder 405 are stored in the description storing unit 410.
  • the description storing unit 410 may pre-store one or more partial decoder descriptions which are corresponding to that, when the extended bitstream 305 includes a codec number and a profile and layer number, to be used by the decoding processing unit 320.
  • Configuration of encoded decoder description 313 for extracting the partial decoder descriptions will be described below with reffrence to Fig. 16 through Fig. 23.
  • Embodiments of the decoding processsing unit 320 are illustrated in FIG. 4 and Fig. 5.
  • the first embodiment of the decoding processsing unit 320 can include a description decoder 405, a description storing unit 410, a toolbox 415, and decoder implementation Unit 420 and decoding solution 430.
  • the decoder implementation unit 420 can include a FU check unit 422, a data process unit 424, a data transfer unit 426.
  • the FU check unit 422 checks if the every functional unit is described in partial decoder descriptions (such as FL 610) exists in the toolbox 415 after the partial decoder descriptions are stored in description storing unit 410 by process of description decoder 405.
  • error massage can be displayed in a display unit or update of corresponding functional units can be request to a user.
  • the FU check unit 422 can automatically update through the network if it is connected to a server for update of functional units.
  • the data process unit 424 classifies the partial decoder descriptions stored in the description storing unit 510 by the role of the partial decoder descriptions and process the partial decoder descriptions such that the partial decoder descriptions has the data format that can be operated by decoding solution 430. This is because the format (such as table format) of the partial decoder description stored in description storing unit 410 is not suitable or the decoding solution 430 may need some information for efficiency.
  • the data process unit 424 process CSCI control information and connection control information after classifying the each partial decoder description according to the role for being used for generating or storing CSCI(Control Signal/Context Information) or the role for being for connecting the functional units.
  • the partial decoder descriptions used for generating CSCI can be
  • SET 660, S-RT 670, CSCIT 640 and DVT 680 and the partial decoder descriptions used for generating the connection control information can be FL 610, F-RT 620, S-RT 660 and FU-CSCIT 630.
  • the CSCI control information and connection control information processed by the data processing unit 424 can be described by the representation format of abstract decoder model ADM as follows.
  • connection control information can be described as follows.
  • the data transfer unit 426 trnasfer the CSCI control information and connection control information processed by the data process unit 424 to the decoding solution 430.
  • the data transfer unit 426 can transfer CSCI control information to CSCI storing unit 432 of wichi role is the storing and operating the CSCI information and can transfer connection control information to a connection control unit 434.
  • the CSCI storing unit 432 store only CSCI information and the operation of CSCI information is performed by connection control unit 434, it is obvious that the data transfer unit 424 can CSCI control information and connection control information can be transferred.
  • the decoding solution 430 includes CSCI storing unit 432 and connection control unit 434. Although it is not illustrated, the decoder solution 430 can additionally include a work memory for loading the functional units by connection control unit 434 and performing the predetermined process using them.
  • the second embodiment of the decoding processsing unit 320 is illustrated in Fig. 2.
  • the second embodiment of the decoding processsing unit 320 can include a description decoder 405, a decscription storing unit 410, a toolbox 415, a decoder implementation unit 420, and a decoding solution 430.
  • the second embodiment of the decoding processsing unit 320 can additionally include a parsing functional unit 510.
  • the parsing functional unit 510 is the functional unit for performing syntax parsing of bitstream.
  • the parsing functional unit 510 can be included the decoding solution 430 as an independent element.
  • the decoding solution 430 includes two work memories and the connection control unit controls the one work memory to load only the functional units for decoding process and controls the other work memory to load only the parsing functional unit 510.
  • the data process unit 424 processes syntax parsing control information and provides the syntax parsing control information to the decoding solution 430 for the process of the parsing functional unit 510. Accordingly, the role of the partial decoder descriptions used for generating the CSCI control information, the connection control information and the syntax parsing control information.
  • the data process unit 424 classifies the partial decoder descriptions by the role for generating and storing of CSCI, the role for syntax parsing, and the role for connecting the functional units and then processes the CSCI control information, the connection control information, and the syntax parsing control information.
  • the partial decoder descriptions used for generating CSCI can be CSCIT 640 and the partial decoder descriptions used for generating the connection control information can be FL 610, F-RT 620, DHT 650 and FU-CSCIT 630 and the partial decoder descriptions used for generating the syntax parsing control information can be SET 660, S-RT 670, DHT 650, CSCIT 640 and DVT 680.
  • the CSCI control information and connection control information processed by the data processing unit 424 can be described by the representation format of abstract decoder model ADM. Below is the example of the representation of syntax parsing control information.
  • the data transfer unit 426 trnasfer the CSCI control information and connection control information and syntax parsing control information processed by the data process unit 424 to the decoding solution 430.
  • the syntax parsing control information can include at least one information between the information for controlling selective load of parsing functional units in Fig. 7 and CSCI control information.
  • the data transfer unit 426 can transfer CSCI control information to CSCI storing unit 432 of wichi role is the storing and operating the CSCI information and can transfer connection control information to a connection control unit 434 and can transfer syntax parsing control information to the parsing functional unit 510.
  • connection control unit 434 In the case that the CSCI storing unit 432 store only CSCI information and the operation of CSCI information is performed by connection control unit 434, it is obvious that the data transfer unit 424 can CSCI control information and connection control information can be transferred.
  • the decoding solution 430 includes a CSCI storing unit 432, a conncetion control unit 434, and a parsing functional unit 510.
  • the decoding solution 430 can additionally include a work memory for loading the functional units by connection control unit 434 and performing the predetermined process using them.
  • the parsing functional unit can be the functional unit being able to perform systax parsing of every bitstream regardless of their encoding format or the functional unit that are generated for syntax parsing of a certain type of bitstream. That is, the parsing functional unit 510 can be more than one functional unit for performing syntax parsing.
  • the decoder 300 of the present invention can reconfigure the decoding process according to the encoding type of the inputted bitstream by selectively loading and operating the functional units in the toolbox 415.
  • the decoder implementation unit 420 or the connection control unit 434 performs the function for implementing the decoder to decode the inputted bitstream and the decoding solution 430, which is the decoder configured by control of the decoder implementation unit 420 or the connection control unit 434, performs the decoding process of the bitstream.
  • the present invention can implement plural decoding solutions using a decoder implementation information by dividing two parts which are relation of cause and effect in their functions and then provide more efficient decoding process.
  • the function and operation of each element of the decoding processing unit 320 is described below with reference to pertinent figures.
  • the description decoder 405 decodes the encoded decoder description 313 inputted into the decoder description 314 and stores the partial decoder descriptions of the decoder description 314 in the description storing unit 410.
  • the toolbox 415 includes functional units implemented for performing predetermined process.
  • the functional units can include functional units for syntax parsing (see Fig. 7) and functional units for decoding process of encoded video data (see Fig. 8).
  • the group of functional units for syntax parsing is called parsing function group 700 and the group of functional units for decoding process is called decoding function group 800.
  • the parsing function group 700 can be realized as one functional unit. It is also possible that the parsing function group 700 and/or each function unit can be realized as a combination of each program codes.
  • the tool-box 510 is a region where the functional units can be realized to perform the corresponding functions, respectively so that each functional unit in the decoding function group 800, which is called decoding functional unit, is activated (selectively loaded) by the decoding control unit 434 and outputs the encoded video data in the conventional bitstream 316 into video data.
  • the connection control unit 434 may control to sequentially activate the functional units corresponding to each hierarchical structure (for example, activation sequence of a first layer, a second layer, a third layer, etc., at the time when the second layer is activated, the first layer may be kept in the activation state or be deactivated if the data processing is not necessary anymore).
  • the decoding functional units each may belong to at least one divided layers according to the characteristics of codec.
  • a called functional unit included in the parsing function group 700 which is called parsing functional unit, performs the syntax parsing of a bitstream and the decoding functional units perform the processing if CSCI required for performing a predetermined process and data for decoding are stored.
  • An upper layer may call functional units in a lower layer according to flow of CSCI and data by the control of connection control unit 434 provided connection control information from the data transter unit 426 and video data corresponding to the bitstream is outputted by performing one or more times of the process according to the need of all functional units described in the decoder description.
  • connection control unit 434 provided connection control information from the data transter unit 426 and video data corresponding to the bitstream is outputted by performing one or more times of the process according to the need of all functional units described in the decoder description.
  • the parsing functional unit 510 can be set immediately to interprete the conventional bitstream 316 without the connection control of the connection control unit 434 by being included in decoding solution 430 and using the syntax parsing control information provided from the decoder implementation unit 420. This is because following functional units can use the element information stored in CSCI storing unit 432, which is analyzed by the parsing functional unit 510, and mcroblock sized video data outputted form the parsing functional unit 510.
  • the parsing functional unit loaded by the control of the connection control unit 434 or the parsing functional unit (hereinafter parsing functional unit 510) in decoding solution 430 interpetes the inputted conventional bitstream 316 and stores element information, which is the result of the syntax parsing, in the CSCI storing unit 432.
  • the CSCI storing unit 432 may be a buffer memory.
  • the element information may be control signal context information (CSCI).
  • the element information, which is parsed by the parsing functional unit 510 and stored in the CSCI storing unit 532, may be the parsed result value of a pertinent step, and at the same time, may be an input value for determining the syntax of the following bitstream.
  • the parsing functional unit 510 can perform entropy decoding for a header of the conventional bitstream 316 and video data and output predetermined video data macroblock sized to following functional unit according to the connection control of connection control unit 434.
  • the parsing functional unit 510 can also store the macroblock sized video data to predetermined buffer memory and following functional unit according to loading (that is, connection control) of connection control unit 434 can read and processe the macroblock sized video data and store video data processed in a pertiment buffer memory.
  • the parsing functional unit 510 can store the macroblock sized video data in CSCI storing unit 432 or a buffer memory and then the connection control unit 434 can provide the macroblock sized video data stored to a selected functional unit or the selected functional unit can read pertinent video data from the buffer memory.
  • the macroblock sized video data which is outputted from the parsing functional unit 510, is directly inputted to the functional unit according to the connection control of the connection control unit 434.
  • the parsing functional unit 510 can be realized as a software program (including the combination of program codes). Even though the parsing functional unit 510 is realized to perform 2 or more functions corresponding to 2 or more standards (for example, MPEG- 1/2/4/ A VC, etc.), respectively, the parsing functional unit 510 can perform an appropriate operation by using syntax parsing control information. Of course, the parsing functional unit 510 maybe realized with subdivision into 2 or more of functional units as shown in FIG. 7 and it is apparent that each functional unit be realized as a combination of blocked program codes.
  • connection control unit 434 can perform syntax parsing by loading the parsing functional unit using the connection control information inputted from the decoder implementation unit 420 or the parsing functional unit 510, inputted the syntax parsing control information from the decoder implementation unit 420, can perform syntax parsing. Further, the connection control unit 434 controls elements to load or activate the functional units of the highest layer referring to the connection control information (which can be corresponding to F-RT 620).
  • the first decoder description and the second decoder description is respectively used in the way of cross reference or other ways in the end.
  • each functional unit loaded selectively is on stanby until CSCI or/and data necessary for processing is stored in CSCI storing unit 432 and after the necessary CSCI or/and data is recored, each functional unit starts it's processing.
  • the decoding processing unit 320 of the present invention can perform simultaneously the processing of syntax parsing and data decoding for video, (see Fig. 15)
  • organic operation of each functional unit (such as, operations implemented by the serial or parallel connection structure of functional units) can be easily performed because activation of functional units included in the decoding function group 800 and reservation or beginning of the operation of each functional unit is determined by the hierarchical structure unit.
  • the parsing functional units or the parsing functional unit 510 analyzes the inputted conventional bitstream 316 and strores the element information, which is the result of syntax parsing by referring to the syntaz parsing control information corresponding to DHT 650, SET 660, S-RT 670, CSCIT 640, DVT680, etc.
  • the CSCI storing unit 432 can be a buffer memory.
  • the element information can be Control Signal/Context Information (CSCI).
  • the element information stored in the CSCI storing unit 432, parsed by the parsing functional unit 510, can be result values of a pertinent step and input values determining following syntax of the conventional bitstream 316 at the same time.
  • the prasing functional unit 510 can store predetermined sized (for example, one pixel unit, 4x4 unit, 8x8 unit, etc) encoded data in CSCI storing unit 432 for decoding function units (see Fig. 8) being able to use them after performing entropy decoding for a header and video data of the conventional bitstream 316 syntax parsed.
  • the parsing functional unit 510 can store data for using in the decoding process such as DC/AC among syntax in the CSCI storing unit 432.
  • the CSCI storing unit 432 can be a buffer memory and exclusive buffer space for each functional unit can be assigned. (See Fig. 12.) Further, each buffer space can be set to have inclusion relations of each hierarchical layer as illustrated in Fig. 13 and Fig. 14.
  • the functional unit loaded in a work memory can start its process if input data are recoded in CSCI storing unit 432 and in the case that result data processed are used as input data of other functional unit, the pertinent result data can be recorded in CSCI storing unit 432.
  • the parsing functional unit 510 can be realized as a software program
  • the parsing functional unit 510 is realized to perform 2 or more functions corresponding to 2 or more standards (for example, MPEG-1/2/4/AVC, etc.), respectively, the parsing functional unit 510 can perform an appropriate operation by using syntax parsing control information corresponding to DHT 650, SET 660, S-RT 670, CSCIT 640, DVT 680, etc.
  • the parsing functional unit 510 may be realized with subdivision into 2 or more of functional units as shown in FIG. 7 and it is apparent that each functional unit be realized as a combination of blocked program codes.
  • parsing functional unit 510 or functional units for performing syntax parsing in the toolbox 415 will be described below with particular description of each functional unit (parsing function group 700) as shown in FIG. 7.
  • the parsing function group 700 can include a network abstraction layer parsing functional unit (NALP FU) 710, a syntax parsing functional unit (SYNP FU) 720, a context determination functional unit (CTX FU) 730, a variable length decoding functional unit (VLD FU) 740, a run length decoding functional unit (RLD FU) 750 and a macro block generator functional unit (MBG FU) 760, etc.
  • NALP FU network abstraction layer parsing functional unit
  • SYNP FU syntax parsing functional unit
  • CX FU context determination functional unit
  • VLD FU variable length decoding functional unit
  • RLD FU run length decoding functional unit
  • MSG FU macro block generator functional unit
  • the parsing function group 700 can include all functional units for syntax parsing regardless of the applied standard, functional units requested for a technology development process can be newly added, a previous functional unit can be amended and an unnecessary functional unit can be deleted. It is also evident that each functional unit included in the parsing function group 700 can be combined as one functional unit in case that they are independently not provided for each standard and can be identically processed regardless of the standards. Since the functions of each of the functional units are well-known to those ordinary skilled in the art, they will be described briefly.
  • the NALP FU 710 is a functional unit parsing the network abstraction layer of MPEG-4 AVC
  • the SYNP FU 720 is a functional unit parsing the syntax of the bitstream.
  • the SYNP FU 720 can be included in the VLD FU 740.
  • the CTX FU 730 is a functional unit determining the VLC table of MPEG-4 AVC, and the VLD FU 740 is a functional unit performing an entropy decoding.
  • the RLD FU 750 is a functional unit performing the entropy decoding of AC values
  • the MBG FU 760 is a functional unit generating macro block data by coupling DC values with AC values. All or some of functional units in the aforementioned parsing functiono group 700 can be included in the VLD FU 640 depending on a system realizing method.
  • the parsing function group 700 can be realized as one software program or 2 or more of software programs (e.g. the VLD FU 740 is realized as an independent software program).
  • the parsing function group 700 can extract or generate element information by using syntax parsing control information corresponding to a first description information (that is, at least one of a decoding hierarchy table(DHT) 650, a syntax element table(SET) 660, a syntax-rule table(S-RT) 670, a control signal and context information table(CSCIT) 640, a default value table(DVT) 680) and store the element inforation in the CSCI storing unit 432.
  • the functions of decoding functional units are described below by explaining each functional unit of decoding function group 800 illustrated in Fig. 8.
  • the decoding functional units can be implemented in the toolbox 415.
  • the decoding function group 800 processes the encoded data stored in the CSCI storing unit 432 in a predetermined processing unit and outputs into video data in a predetermined size by an arbitrary functional unit of the parsing function group 700 performing predetermined process.
  • the processing unit of the encoded data can be predetermined to be applied differently for each functional unit or be generalized to be identical.
  • Functional units may be included in the decoding function group 800 to perform the above-described funtions according to each standard.
  • Each functional unit can be realized by an independent processing block (e.g. software program, the combination of command codes, function, etc.) or the decoding function group 800 may be realized as one combined processing block.
  • the decoding function group 800 perform an approptiate processing by a connection contol of the connection control unit 434 even though it is realized as one combined processing block.
  • the decoding function group 800 can inlcude a de-blocking functional unit (DF FU) 810, a VOP reconstructor functional unit (VR FU) 815, a frame field reordering functional unit (FFR FU) 820, an intra prediction and picture reconstruction functional unit (IPR FU) 830, an inverse transform functional unit (IT FU) 835, an inverse quantization functional unit 845, an inverse AC prediction functional unit (IAP FU) 855, an inverse scan functional unit (IS FU) 860 and a DC reconstruction (DCR FU) 865.
  • DF FU de-blocking functional unit
  • VR FU VOP reconstructor functional unit
  • FFR FU frame field reordering functional unit
  • IPR FU intra prediction and picture reconstruction functional unit
  • IPR FU intra prediction and picture reconstruction functional unit
  • IAP FU inverse transform functional unit
  • IAP FU inverse AC prediction functional unit
  • IS FU inverse scan functional unit
  • DCR FU DC reconstruction
  • a IT 4 x 4 FU 840, an IQ 4 x 4 FU 850 and DCR 4 x 4 FU 870 process the block having 4 x 4 size. This is because there is a case that MPEG-4 AVC processes the block of 4 x 4 size, while MPEG- 1/2/4 processes the block of 8 x 8 size in transform, quantization.
  • the decoding function group 800 can include all functional units for data decoding function regardless of the applied standard, a functional unit requested for a technology development process can be newly added, a previous functional unit can be amended and an unnecessary functional unit can be deleted.
  • the decoding function group 800 can further include an appropriate functional unit.
  • the decoding function group 800 can further include a special prediction functional unit (SPR FU) for performing the intra prediction at the MPEG-4 AVC(not shown).
  • SPR FU special prediction functional unit
  • each functional unit included in the decoding function group 800 can be combined as one functional unit in case that they are independently not provided for each standard and can be identically processed regardless of the standards. Since the functions of each of the functional units are well-known to those ordinary skilled in the art, they will be described briefly.
  • the DF FU 810 is the de-blocking filter of MPEG-4 AVC, and the VR FU 815 is a functional unit storing a reconstructed pixel.
  • the FFR FU 820 is a functional unit for an interlaced mode, and the IPR FU
  • the intra prediction of MPEG-4 AVC can be performed by the SPR FU.
  • the IT FU 835 is a functional unit performing the inverse transform of DC values and AC values
  • the IQ FU 845 is a functional unit performing the inverse quantization of AC vlaues.
  • the IAP FU 855 is a functional unit performing the inverse AC prediction of AC values
  • the IS FU 860 is a functional unit performing the inverse scan of AC values
  • the DCR FU 865 is a functional unit performing the inverse prediction and inverse quantization of DC values.
  • Each operation of the aforementioned parsing function group 700 and the decoding function group 800 is indepedently performed, and each functional unit in the decoding function group 800 performs independently its operation when the CSCI and/or data for the processing in the CSCI storing unit 432 is(are) stored after the connection control unit 434 activates by the activation control.
  • Element information (for example, CSCI) which is the result value from the syntax parsing by using the first decoder description (that is, CSCIT 640, DHT 650, SET 660, S-RT 670, DVT 680) at the parsing function group 700 is stored in the CSCI storing unit 432.
  • the element information is stored with corresponding to CSCIT 640.
  • the CSCI storing unit 432 may be a buffer memory.
  • the element information stored in the CSCI storing unit 432 may be used as input data for performing the process of the SET 660 by the parsing function group 700 or as a control variable determining a connection index which is the following process by the S-RT 670
  • the element information stored in the CSCI storing unit 432 may be used when each functional unit, which the connection control unit 434 activated in the hierarchical structure unit, performs mapping the input CSCI designated in the FU-CSCIT 630 with the element information stored in the CSCI storing unit 432 by referring the connection control information (for example, information corresponding to F-RT 620).
  • the parsing function group 700 can also store the element information in the CSCI storing unit 432.
  • the CSCI storing unit 432 can store CSCI generated by the parsing function group 700 and data for decoding by a functional unit included in the decoding function group 800. It is evident that the CSCI can be divided into two parts, a CSCI storing part for storing CSCI and a data storing part for data for decoding according to the type of data.
  • connection control unit 434 controls the activation of the parsing function group 700 and/or each functional unit included in the decoding function group 800 in order to decode the bitstream ecoded by various standards. That is, the parsing function group 700 can be implemented in the decoding solution 430 as a type of parsing functional unit 510.
  • connection control unit 434 controls each functional unit included in the decoding processing unit 550 to be activated per the hierarchical structure unit by referring to the connection control information. This is because input data for the functional unit in the lower layer can be result data processed by the functional unit of the upper layer.
  • the decoding solution 430 can include a work memory for performing predetermined process by loading at least one functional unit under the control of the connection control unit 434.
  • connection control unit 434 can use the connection control information inputted from the decoder implementation unit 420.
  • the connection control information can be generated using FL 610, F-RT 620, FU-CSCIT 630, CSCIT 640, and DHT 650 to process the activation of each functional unit and the data econded by the each functional unit to video data and output the result.
  • the encoded data can be converted to video data by systematical operation of 2 or more of functional units and the result can be output as illustrated in FIG. 8.
  • the order of operations by the functional units to convert into video data may be different according to each encoding standard and this is apparent to those skilled in the art. Therefore, hereinafter a systemic relationship between partial decoder descriptions used for generation of the connection control information for systemic operation control of 2 or more of functional units, will be described.
  • the decoding hieracrchy table (DHT) 650 is a partial decoder description describing information for codec hierarchical structure and lower layers per each hierarchy as shown in FIG. 16 and Table 1.
  • the DHT 650 may include an index catagory which is a layer number, a name catagory which is a name of each layer, a children hierarchy category which is a lower layer of a corresponding layer, etc.
  • a number of layers or a number of children hierarchies may be different according to codec. For example, when there are further VOP-3, MB-3, etc., it is apparent that layer number be correspondingly added, as illustrated in FIG 9.
  • the hierarchical structure of the DHT 650 of the present invention may combine a codec which is different from a base codec at any position in any layer by any method based on the base codec.
  • several different codecs may be combined to a unified codec to provide a new codec which further allows video compression and decompression.
  • a main function of the DHT 650 allows various implementations including sequential/parallel, single/multiple threads, sw/hw hybrid decoding of a decoding solution to compose using decoding descriptions by introducing the hierarchical structure to a given codec.
  • the hierarchical structure described with the DHT 650 in Table 1 is commonly used in the syntax parsing and decoding process. It is also apparent that another hierarchical structure can exist to be independently applied in the syntax parsing or in the decoding process.
  • the FU list(FL) 610 is a partial decoder description describing information for a list of each functional unit in the decoding function group
  • the FL 610 may further include a name of a dedicated buffer region where input data is written (or recording address of a pertinent data or address of buffer memory where a pertinent data is written) and a name of a dedicated buffer region where output data is to be written by a pertinent functional unit (or recording address of a pertinent data or address of buffer memory where a pertinent data is written).
  • Each functional unit can read input data and write processed output data by using the FL 610.
  • Input data and output data of the parsing functional unit 510, which generates element information, is not written in the FL 610. This is because the parsing function group 700 writes element information generated and stored in a determined position by using syntax parsing control information which can be data corresponding to SET 660.
  • the FL 610 may include FU ID which is an identification number of each functional unit in the tool-box 510, FU name which is a name of each functional unit, input CSCI representing volume of input data, and output CSCI representing volume of result data(output data), etc.
  • An arrangement order of the functional units in the FL 610 corresponds to FU arrangement order or index number of the FU-CSCIT 630.
  • a name of each functional unit, which is described by referring to FIG. 8, may be written in a column of FU name.
  • the 434 reads necessary data from the data storing unit 524 by using the connection control information corresponding to FU-CSCIT 630, CSCIT 640, etc. and performs a predetermined process, and generates output data.
  • the generated output data may be stored in the CSCI storing unit 432 and the stored data in the CSCI storing unit 432 can be used as input data for a following process by a functional unit.
  • the functional unit is included in the decoding processing unit 550 and means a series of processings (e.g. ability, algorithm or function, etc.) which performs a predetermined process for input data and generates output data.
  • the FL 610 may include only information for the functional units which perform the processing corresponding to that standard.
  • the FL 610 should include information of functional units according to a plurality of standards required for decoding the encoded video data from all functional units according to the corresponding plurality of standards.
  • video data appies different encoding standards by a plurality of frame units, if a plurality of conventional bitstreams 105 and extended bitstreams 305 can be generated and provided by each applied encoding standard, each FL 610 includes only information of functional units corresponding to each standard.
  • the FL 610 can be described not only by a textual description method or a binary description method (bit converted binary code format) but also by key minimum data of the table by using a pseudo script language.
  • FU - Rule Table (F-RT) 620 provides connection information of 5 functional units to be used for decoding inputted conventional bitstream 316.
  • F-RT 620 as shown Table 3 below, is composed that an upper layer calls a lower layer by using the hierarchical structure specified in the DHT 650.
  • 10 F-RT 620 includes decoding hierarchy representing each hierarchical structure, children representing functional units to be activated or lower layers to call, loop representing determination of loop operation, loop condition representing loop conditions when loop operation is required, input representing decording hierarchy or children as input information of each functional unit or a lower layer(or activation order), etc.
  • a FHO layer will be activated very first and since a FHl layer uses result data of FUl as input data, it will be then activated. Or after the FHl layer and the FHO layer can be activated at the same time, processing operaton can be reserved till the result data of FUl is stored in the CSCI storing unit 432.
  • Each layer is generated as an object with guaranteed independence based on instance/object concept during the calling.
  • a plurality of FHl is generated such as FH 1 [0] , FH 1 [ 1 ] , FH 1 [2] , ... , FH 1 [n] and this structure may be applied to another layer(e.g., FHO, FH2, FH3, etc.).
  • a dedicated buffer space per each layer can be assigned. As illustrated in FIG. 12 and FIG. 13, CSCI or data for the processing by functional units in a particular hierarchical structure or a pertinent hierarchical structure is stored in each dedicated buffer space.
  • the F-RT 620 can be described not only by a textual description method or a binary description method (bit converted binary code format) but also by key minimum data of the partial decoder description by using a pseudo script language.
  • FU-CSCIT(FU CSCI Table) 630 is a partial decoder description for connecting element information stored in the CSCI storing unit 432 with element information(input CSCI) requested by each functional unit.
  • the FU-CSCIT 630 includes index number which is 1 :1 mapping to FU ID of the FL 610, CSCI information, and CSCI table element of the CSCIT 640 for mapping.
  • An arrangement order of the functional units of the FL 610 is mapped with that of the index number of the FU-CSCIT 630.
  • FU-A which is the first functional unit of Table 2 is mapped with index no. 1 which is the first index of the FU-CSCIT 630.
  • the FU-CSCIT 630 further includes information referring to how many interface sets are per index number. It means that a number of interface sets is a number of mappings.
  • D0092 of the FL 610 is assigned to have 1 interface set by the FU-CSCIT 630 and thus uses only CH2.C6 and CH2.C1 as element information.
  • D0098 of the FL 610 has 2 interface sets and thus uses CH3.C1 and CH3.C6 as element information in one case and CH4.C2 and CH4.C5 in the other case.
  • Each functional unit performs a predetermined processing by reading element information from the CSCI storing unit 432 and stores the generated output data in the CSCI storing unit 432.
  • the reason to assign a number of interface sets per each index number in the FU-CSCIT 630 is that a functional unit can perform a different processing operation according to a different data flow.
  • FU-A is a function which can be used in both MPEG-2 and MPEG-4
  • element information for processing encoded data by the MPEG-2 standard can be different from element information for processing encoded data by the MPEG-4 standard. Therefore, 2 or more of interface sets are required in order to classify element information requsted for encoded data processing according to each standard.
  • the FU-CSCIT 630 can be described not only by a textual description method or a binary description method (bit converted binary code form) but also by key minimum data of the partial decoder description by using a pseudo script language.
  • the CSCIT 640 describes details of the element information (e.g., CSCI) as the result information that the parsing function group 700 processes by using the SET 660, S-RT 670, etc.
  • the CSCIT 522 has all meaningful data (i.e., element information) that is processed from the conventional bitstream 316, stored in the CSCI storing unit 432 and used by the decoding function group 800.
  • the CSCIT 640 includes decoding hierarchy of each element information, an index as an identifier which is the identity number of the pertinent element information, a name of the pertinent element information, a type for designating the data structural characteristic of the pertinent element information (e.g., whether the pertinent element information is an integer type or an array type, etc.).
  • the CSCI information composed of layers maybe used by a type of several arrays, if necessary, during the decoding.
  • the CSCIT 640 can be described not only by a textual description method or a binary description method (bit converted binary code format) but also by key minimum data of the table by using a pseudo script language.
  • the CSCIT 640, the DHT 650, the SET 660, the S-RT 670, and the DVT 680 which are used when the parsing function group 700 extracts and generates element information from the conventional bitstream 316 and stores the result in the CSCIT storing unit 432, will be described.
  • the CSCIT 640 and the DHT 650 have been explained above and their details will be thus omitted. 2
  • more of functional units as shown in Table 6 operate systematically each other to generate element information and store the result in the CSCI storing unit 432.
  • a type of element information can be different according to each encoding standard and it is apparent to those skilled in the art.
  • the SET 660 is a partial decoder description that consists of information related to the syntax of the inputted conventional bitstream as shown in Table 6.
  • the SET 660 includes index of each syntax, element name, input data, and process by SET-PROC.
  • the index is an identifier S identifying each syntax used for the S-RT 670.
  • the element name can be named according to the meaning or function of the syntax.
  • the input data refers to nominal bit length of data inputted at a time in the conventional bitstream.
  • the SET-process describes which processing operation is undergone after receiving each bitstream syntax to generate the element information as the output data.
  • Output data is element information (that is, CSCI information (C), e.g., CHO. Cl, etc.), which is provided by the S-RT 670 and stored in the CSCI storing unit 432.
  • the SET 660 can be described not only by a textual description method or a binary description method (bit converted binary code format) but also by key minimum data of the partial decoder description by using a pseudo script language.
  • the S-RT 670 refers to layers and connection information between each syntax in the conventional bitstream 316 as shown in Table 7.
  • the S-RT 670 has information indicating for an upper layer to call syntax of a lower layer and to move to next syntax.
  • the parsing function group 700 uses the R-ST 460 to read the conventional bitstream or to define the sequence of storing and/or updating the element information in the CSCI storing unit 432. As illustrated in FIG. 17, the parsing function group 700 is composed of several threads and performs syntax parsing per layer by referring to syntax parsing control information corresponding to the S-RT 670 since an upper thread calls a lower thread.
  • the S-RT 670 includes decoding hierarchy of each syntax, index R, syntax #ID, input data (CSCI), and branch information.
  • the index R identifies each connection information(rule). Since the index S of syntax designates syntax that a particular connection index will process in each layer, the parsing function group 510 performs a designated process of the pertinent syntax by using the syntax parsing control information corresponding to SET 660.
  • the input data refers to a list of element information to be used for condition determination for controlling the connection of the pertinent connection index.
  • the process result by the SET 660 is stored in the name of input data corresponding to syntax ID as described earlier.
  • the branch information refers to condition determining algorithm determining which connection index will be processed in next turn.
  • the branch information can directly determine the sequence and contents of data to be read. If the number of branch is l(e.g., in case that syntax #ID is Sl), no input data is provided.
  • the S-RT 670 can be described not only by a textual description method or a binary description method (bit converted binary code format) but also by key minimum data of the partial decoder description by using a pseudo script language.
  • the DVT 680 is a partial decoder description describing Huffman table information used by each encoder/decoder as shown in Table 8. Entropy coding is performed during each encoding in MPEG-1/2/4/AVC. At this time, the Huffman coding method is mainly used and the used information is the Huffman table. There should be provided Huffman table information to be used in a pertinent decoder during each decoding process to implement a unified codec.
  • decoder descriptions of the present invention include Huffman table information corresponding to each syntax during the syntax parsing. If Huffman table information corresponding to each standard is pre-stored in the description storing unit 410, the DVT 680 transmission may be omitted or only codec number 1020 and profile and level number 1030 can be included for designating Huffman table information.
  • the DVT 680 includes name of each Huffman table, actual value compressed and outputted by the Huffman decoding, and code value used when the compressed actual value is stored in the conventional bitstream 316.
  • a code value 011 is written in the conventional bitstream 316 by the Huffman table mapping process (e.g., process by the SET 660).
  • VLD[I] is written in the process part of a particular index of the SET 660, a function of VLD is called, a code value can be obtained by reading the conventional bitstream 316 for the length predetermined by the corresponding function, and the corresponding actual value can be obtained by the Huffman table mapping process.
  • the used Huffman table is [1], which is the first table CBPY.
  • the DVT 680 can be described not only by a textual description method or a binary description method (bit converted binary code format) but also by key minimum data of the table by using a pseudo script language.
  • the DVT 680 can be the following textual description.
  • DVT ⁇ ((0,1), (1,001), (2,010), (3,011), (4,0001), (5,000001), (6,000010), (7,000011), (8,000000001), (9,NULL)) ((0,0011), (1,00101), (2,00100), (3,1001), (4,00011),(5,0111), (6,000010), (7,1011), (8,00010), (9,000011), (10,0101), (11,1010), (12,0100), (13,1000), (14,0110), (15,11), (16,000000), (17,000001), (18,NULL)) ((0,011), (1,11), (2,10), (3,010), (4,001), (5,0001), (6,00001), (7,000001), (8,0000001), (9,00000001), (10,000000001), (11,0000000001), (12,00000000001), (13,NULL)) ((0,11), (1,10), (2,01), (3,001), (4,0001), (5,00001), (6,000001), (6,000001), (7,0000001),
  • the storage space for each partial decoder description can be reduced with binary description, the processing efficiency is improved, and the transmission time of the extended bitstream 305 including the decoder description is further reduced.
  • connection control unit 434 calls functional units of the highest layer assigned by the F-RT 620.
  • the called functional units stands by till the parsing function group 700 stores the CSCI information and/or data requested for the processing in the CSCI storing unit 432.
  • the parsing function group 700 reads syntax corresponding to the highest layer from rules of th S-RT 670, recognizes VS start code by the SET 660, and stores output value (that is, element information, CO) in the name of input data (CSCI) provided in the S-RT 670 in the CSCI storing unit 432 by reading a bit set as input value in the SET 660 (that is, 32 bits determined as input value at the SET 660) corresponding to the conventional bitstream 316 and performing the SET-process. What is element information stored in the CSCI storing unit 432 or in which layer will it be used, etc. is described in the CSCIT 640.
  • the parsing function group 700 generates element information by using the SET 660 and stores the result in the CSCI storing unit 432
  • the VLD function e.g., index S74 of the SET 660
  • the entropy encoding is performed by using the DVT 680.
  • element information if element information is generated, it will be stored in the CSCI storing unit 432.
  • each activated functional unit in the decoding processing unit 550 verifies if all requested element information and/or data is stored to perform a predetermined process.
  • a pertinent functional unit can verify if all is stored by referring to the FU-CSCIT 630. Further, it can recognize what the corresponding element information is by mapping with the CSCIT 640.
  • the functional unit that stores the requested element information and/or data, performs a predetermined process and stores the processed result data in the data storing unit 524.
  • the functional units may be successively activated or called by hierarchical structure unit.
  • the activation of the hierarchical structure unit can be controlled by the connection control unit 434 which, for example, watches if the element information and/or data processing requested by a certain layer completes. If it is recognized that the element information and/or data requested to perform a predetermined process is stored, the called functional units read this and process.
  • each functional unit is connected sequentially or in parallel and performs the process, it provides same effect through such processes.
  • FIG. 15 illustrates parallel processing of syntax parsing and data decoding in accordance with an embodiment of the present invention.
  • the syntax parsing by the parsing function group 700 and the data decoding by the decoding function group 800 can be independently performed by using the decoder description information. In other words, when the element information and/or data requested by each functional unit is stored for the data decoding, the corresponding functional unit can perform a predetermined process.
  • each functional unit in the decoding function group 800 performing the decoding processing may perform independent function if result data of a different functional unit is not used as input data. Therefore, the decoder 300 of the present invention is not limited to that the decoding function group 800 can perform the operation after the syntax parsing is completed, but allows that the parsing function group 700 and the decoding function group 800 can perform independently. It further allows that each functional unit in the decoding function group 800 can independently operate.
  • commands of each partial decoder description will be described in detail.
  • Commands used in each partial decoder description shown above are provided.
  • Information (that is, table) can be composed for the syntax parsing of standards such as MPEG-2/MPEG-4/MPEG-4 AVC, etc.
  • Commands used for composing each partial decoder description can be READ, SEEK, FLUSH, IF, WHILE, UNTIL, DO-WHILE, DO-UNTIL, BREAK, SET, STOP, PUSH, etc. It is not necessary that all commands should be used in each partial decoder description. It is apparent that certain commands per each partial decoder description can be selected and used. Each command is described briefly. First, the READ can be used for reading a certain bit in the bitstream.
  • the READ can be described as "READ bits B>CSCI;", in which "bits” is a number of bits to read, "B” is byte-alignment flag, ">CSCI” is CSCI index to store. "B” and “>CSCI” are optional and if ">CSCI” is not designated, it is set to store only in a variable IBS.
  • the SEEK is an instruction to read a certain bit in the bitstream but not to move file point. The file point is a standard position during the operation such as reading a certain bit. Parameters of the SEEK instruction can be the same as the READ.
  • the FLUSH can be used for moving a file point as much as a certain bit in the bitstream and parameters thereof can be similar to the READ.
  • the IF can be used in a form of "IF (condition) ⁇ ⁇ ⁇ ELSE ⁇ ⁇ ⁇ " and is a command to provide branch according to a given condition.
  • the WHILE can be used in a form of "WHILE (condition) ⁇ ⁇ ⁇ " and to repeatedly perform assigned blocks during a given condition is true.
  • the UNTIL can be used in a form of "UNTIL (condition) ⁇ ⁇ ⁇ ” and to repeatedly perform assigned blocks till a given condition is true.
  • the DO-WHILE can be used in a form of "DO ⁇ ⁇ ⁇ WHILE (condition)" and to perform a block prior to condition determination by modifying the WHILE.
  • the DO-UNTIL is used in a form of "DO ⁇ ⁇ ⁇ UNTIL (condition)" and to perform a block prior to condition determination by modifying the UNTIL.
  • all equations of the SET-PROC can be described within the parenthesis, operators, such as four arithmetical operations, assignment, comparison, addition/subtraction (++/--), bitwise operation, OR/ AND operation, determining the use of CSCI, etc., can be used.
  • the BREAK can be used to secede from the closest loop structure.
  • the SET can be used to set a flag determining the use of the designated CSCI and the CSCI to designate the flag is arranged and can be sorted with a comma (e.g., SET CO, C2;).
  • a comma e.g., SET CO, C2;
  • the STOP can be used to stop the syntax element processing which is currently in process and to move next.
  • the PUSH can be used to add data at the last region where data is written in an array CSCI and added value is arranged and sorted by comma(e.g., PUSH C8 8, 16, 32;).
  • the GO can be used to go a designated position. For example, in case of GO SR#;;, it is an instruction to go SR# and GO RT is an instruction to return to the called position.
  • the HEX can be used to represent that a value after the HEX command is hexadecimal digits.
  • the RLD is an interface for a RLD function which is supported in MPEG-4, and can be used in a form of "RLD index, layer, run, islastrun, t#;".
  • index, layer, run and islastrun can be CSCI storing RLD return values or variables and t# represents Huffman table ID used in the RLD.
  • the VLD2 is a VLD function for MPEG-2 and can be used in a form of
  • VLD2 [t#] in > vl, v2, v3; represents Huffman table ID used in the VLD, in represents an inputted index value, and vl ⁇ v3 represent output values.
  • VLD4 is a VLD function for MPEG-4 and can be used in a form of "VLD4 [t#] > CSCI;".
  • t# represents Huffman table ID used in the VLD
  • >CSCI represents a CSCI index to be stored. If ">CSCI” is not designated as option, it is stored only in a variable IBS.
  • FIG. 16 is a schematic block diagram illustrating the structure of a extended bitstream in accordance with a first embodiment of the present invention
  • FIG. 17 is a schematic block diagram illustrating the structure of a extended bitstream in accordance with a second embodiment of the present invention
  • FIG. 18 is a schematic block diagram illustrating the structure of a extended bitstream in accordance with a third embodiment of the present invention
  • FIG. 19 is a schematic block diagram illustrating the structure of a extended bitstream in accordance with a fourth embodiment of the present invention.
  • the decoder description included in the extended bitstream 305 can be composed to include not partial decoder description information but only standard information (no table), to include all table information (full tables), or to include a part of table information (partial tables).
  • the decoder description information may include stream indentifier (SI) information and the SI information is shown below.
  • the extended bitstream 305 is the decoder description and may include SI 1610 (that is, 00) which has no table information, codec number 1620, and profile and level number 1630.
  • the decoding processing unit 320 can decode by using the designated partial decoder descriptions.
  • the SET 660, the CSCIT 640, the FL 610, the FU-CSCIT 630, the DVT 680, etc. can be described per the applied standard (that is, codec), the F-RT 620, S-RT 670, etc. can be described per profile of each applied standard (see Table 10 and Table 11).
  • the decoding processing unit 320 can perform the decoding process by referring to the corresponding tables.
  • the extended bitstream 305 is the decoder description and may include the aforementioned partial decoder description information.
  • the SI 810 is set to be 01.
  • Each table may include a table identifier (TI) 1710, a table start code (TS code) 1720, a table decription (TD) 1730, and a table end code (TE code) 1740.
  • An order of the table identifier (TI) 1710 and table start code (TS code) 1720 may be exchanged and the table decription (TD) 1730 may be described by a description method. Of course, an order of each table can be changed.
  • the extended bitstream 305 is the decoder description and may include the aforementioned table information and codec number corresponding to a part of the table information.
  • the SI 1610 is set to be 10 referring to table 9. Since types of the partial decoder description information are not unified, a configuration identifier 1010 can be included at the end of the table identifier 910 in order to determine which type the corresponding partial decoder description information is composed of.
  • the extended bitstream 305 is the decoder description for the table information and updating information.
  • the decoder description for the partial decoder description information can be one of the decoder descriptions explained by referring to pertinent figures is set to be a pertinent value.
  • the updating information may include a revision start code (RS code) 1920 and revision 1930.
  • the revision 1930 can be contents to insert, delete, or update rules of a particular table.
  • a form thereof may be 'insert index into table-name
  • the description decoder 420 reads the revision 1930 and performs the decoding of the corresponding extended bitstream 305, partial decoder descriptions of revised contents are stored in the description storing unit 410. However, when the decoding completes, the partial decoder descriptions stored in the description storing unit 410 should be restored to the original state. Determining if the decoding completes, it can be recognized when the decoding processing unit 320 or trigger provides completion notice to the description decoder 320 or the description decoder 320 detects the completion of the decoding processing unit 320.
  • each element must be systematically controlled such that a bitstream can be decoded with a decoding method corresponding to a pertinent encoding method by parsing the bitstream compressed by various encoding methods.
  • the pertinent bitstream can be a bitstream of various shapes mixed with various standards (codecs) or another bitstream of various shapes generated by various encoding methods in one standard. Also, to support various encoding / decoding methods, it is necessary that various functions can be separated into independent units and desired units can be selected among the independent units to make them one codec (encoder and decoder).
  • the present invention can systemically connect and control each functional unit by use of the same information analyzing method regardless of an encoding method encoded with a bitstream by providing together decoder description information.
  • the present invention can deal with the change or new addition of the syntax of a bitstream by only amending pertinent information or inserting the additional information.
  • the present invention also can set the connection relationship of the functional units of the decoding function group 550 of the pertinent decoder and functional units by allowing a user to select a desired function of bitstream-level, frame-level and macro block-level (MB level) and forms the F-RT 620.
  • FIG. 20 is a schematic block diagram illustrating the structure of a extended bitstream in accordance with a fifth embodiment of the present invention
  • FIG. 21 is a schematic block diagram illustrating the structure of a extended bitstream in accordance with a sixth embodiment of the present invention
  • FIG. 22 is a schematic block diagram illustrating the structure of a extended bitstream in accordance with a seventh embodiment of the present invention
  • FIG. 23 is a schematic block diagram illustrating the structure of a extended bitstream in accordance with an eigthth embodiment of the present invention.
  • the extended bitstream 305 is composed of the decoder description region and the conventional bitstream 316.
  • the conventional bitstream 316 is composed of encoded video data(or/and encoded audio data).
  • the encoded decoder description 313 can be formed in a different structure according to codec characteristics to be applied for the decoding of the conventional bitstream 316. In other words, first, a first decoder description structure may be applied when one codec standardized before is used.
  • a second decoder description structure may be applied.
  • a third decoder description structure may be applied.
  • a fourth decoder description structure may be applied.
  • the first decoder description structure is illustrated in FIG. 20.
  • the decoder description region may be composed of codec type 2010, codec number 2020, and profile and lever number 2030.
  • information for the codec to be applied is only described in the decoder description region. It is apprant that a size of each field may be balanced according to a size of information to be described even though each field is illustrated as 8 bits in FIG. 20.
  • the second decoder description structure is illustrated in FIG. 21.
  • the encoded decoder description 313 may be composed of codec type 2010, codec number 2020, profile and lever number 2030, and table description 2110.
  • the table description is independently provided to each partial decoder description. That is, there can be many partial decoder descriptions in the encoded decoder description 313.
  • Each table description 2110 may include table start code 2120, table identifier
  • table type 2140 contents 2145, and table end code 2140.
  • a size of each field may be balanced, if necessary.
  • the contents 2145 maybe omitted or included according to the table type 2140.
  • the table type value is 0, it may be recognized that a conventional partial decoder description (that is, a partial decoder description recognized by codec type 2010, codec number 2020, profile and level number 2030 and tabe identifier 2130) is to be applied without any changing.
  • a conventional partial decoder description that is, a partial decoder description recognized by codec type 2010, codec number 2020, profile and level number 2030 and tabe identifier 2130
  • the contents 2145 may be omitted.
  • the table type value is 1 , it may be recognized that a part of a conventional table (that is, a partial decoder description recognized by codec type 2010, codec number 2020, profile and level number 2030 and tabe identifier 2130) is to be changed and applied.
  • the changed content e.e., update command
  • the changed content including a command such as update, insert, and/or delete, etc. may be information to revise table contents of the index correspond to the pertinent table.
  • the table type value is 2
  • a conventional table that is, a partial decoder description recognized by the codec type 2010, the codec number 2020, the profile and leverl number 1154, and the tabe identifier 2130
  • the changed content e.g., content to newly define the pertinent table such as new command, etc.
  • the changed content may be described in the content field 2145.
  • the third decoder description structure is illustrated in FIG. 22.
  • the encoded decoder description 313 may be composed of a codec type 2010 and a table description 2110.
  • the table description is independently provided to each partial decoder description. That is, there can be more than one partial decoder description in the encoded decoder description 313.
  • Each table description 2110 may include a table start code 2120, a table identifier 2130, a table type 2140, a content 2145, and a table end code 2150.
  • a size of each field may be balanced, if necessary.
  • a conventional partial decoder description that is, a partial decoder description recognized by the codec number 2020, the profile and level number 2030 and the tabe identifier 2130
  • the codec number(codec num) 2020 and the profile and level number(profile_layer_num) 2030 corresponding to a partial decoder description to be applied are described in the content field 2145.
  • the table type 2140 value is 1, it may be recognized that a part of a conventional partial decoder description (that is, a partial decoder description recognized by the codec number 2020, the profile and level number 2030 and the tabe identifier 2130) is to be changed and applied.
  • the codec number(codec_num) 2020 and the profile and level number(profile_layer_num) 2030 corresponding to a partial decoder description to be applied are described in the content field 2145 and the changed contents (e.g., update command, etc) is described in the changed content field .
  • the table type 2140 value is 2
  • a conventional partial decoder description that is, a partial decoder description recognized by the tabe identifier 2130
  • the changed content e.g., content to newly define the pertinent table such as new command, etc.
  • codec information e.g., the codec number 2020, the profile and level number 2030
  • new table information is defined, so that codec information is not needed.
  • the fourth decoder description structure is illustrated in FIG. 23.
  • the decoder description region may be composed of a codec type 2010 and a table description 2110.
  • information about codec to be applied and content to be changed among the partial decoder descriptions may be described in the encoded decoder description 313.
  • the table description is independently provided to each partial decoder description.
  • Each table description 2110 may include a table start code 2120, a table identifier 2130, a table type 2140, a content 2145, and a table end code 2150. A size of each field may be balanced, if necessary.
  • the table type 2140 is a predetermined value (e.g., 2)
  • information e.g., content to newly define a pertinent partial decoder description such as new command
  • the table bype 2140 is designated with 1 or the table type 2140 can be omitted.
  • the codec type is a 8 bit code which can be information to identify the codec type.
  • the codec number is a 8 bit code which can be information the codec code used.
  • the profile and lever number is also a 8 bit code which can be information to indicate the profile and level number for the codec.
  • the profile and level number may correspond to each MPEG standard.
  • the table start code may be 26 bit character sequesce OxFFFFFE of hexadecimal digits which means the beginning of the table description.
  • the table indetifier may a 4 bit code as shown in Table 12.
  • the table type is a 4 bit code which is information to determine if a conventional table is to be kept or updated or a new table is to be generated.
  • the table end cod may be 26 bit character sequesce OxFFFFFF of hexadecimal digits which means the end of the table description.
  • the index nuber may be a 4 bit character sequence indicating a certain table index and the table number may be a 32 bit character sequence which is a table identifier.
  • bit is a random value of 3 to 34 bits representing a number of bits requested and B is one bit character sequence representing byte alignment. ">" is one bit character sequence for printing output of the left side and VLD2(for MPEG-2) and
  • VLD4(for MPEG-4) are functions for the entropy coding.
  • FIG. 24 is a block diagram illustrating an encoder in accordance with an embodiment of the present invention.
  • An encoder 2400 according to the present invention further includes a extended bitstream generating and outputting unit 2410 compared to the conventional encoder 200 as described in FIG. 2.
  • the extended bitstream generating and outputting unit 2410 generates decoder descriptions by using a control information list and reconfigurable connection for the conventional bitstream generation process generated by previous processings, input data for pertinent functional units, syntax information, and syntax connection information, etc.
  • a extended bitstream 305 is generated by using the generated decoder descriptions and the conventional bitstream 316 and transmitted to the decoder 300. Since the method of generating decoder description is easily understood to those skilled in the art, detailed explanation thereof is omitted. It is also apparent to those skilled in the art that the encoder 2400 has a tool-box including 2 or more of functional units and one or more of bitstreams are generated according to one or more of encoding standards by sequential combinations or systemical combinations of these functional units.
  • variable length encoding unit 230 merely refers to an element (e.g. encoding unit) finally performing an encoding to generate the conventional bitstream 316 in the encoder 2400, but the present invention is not limited to the variable length encoding unit 235. Also this does not restrict the scope of claims of the present invention.
  • FIG. 24 assumes the case 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 information can be provided to the decoder 300 by an additional data format or a bitstream format.
  • the encoded decoder description generating and outputting unit can be provided at the end of the variable length encoding unit 235 and the encoded decoder description generating and outputting unit is independently provided from the conventional encoding unit 200 to provide independently-generated information to the decoder 300.
  • the unified codec device and method in accordance with the present invention is mainly described based on the decoder. Considering that the relationship between the decoder and encoder is well-known to those skilled in the art and the encoder can easily be structured with the description related to the decoder only, it is evident that the present invention is not limited to the decoder.
  • the unified codec device and method of the present invention makes it easy to analyze a syntax element in a standard (or codec) or between different standards or to control the connection of pertinent functional units.
  • a standard or codec
  • the decoder is not able to properly decode a corresponding bitstream in the manipulation of the syntax element. For example, if a structure of ABC bitstream information is changed to a structure of ACB, the decoder may not recognize the structure of ACB and thus impossible to perform a proper decoding. Similarly, for a structure of ABFC by adding F or another structure of AC by deleting B, the decoder may not recognize the structure and thus impossible to perform the proper decoding.
  • the decoder 300 can perform the proper decoding operation. It shall be obvious that although the above description related to a decoding device and method of the present invention is based on MPEG-4 AVC, MPEG-I, MPEG-2, MPEG-4 and other moving picture encoding/decoding standards can be applied without any restriction.
  • each partial decoder description can be described by using not only the information the connection of functional units for performing the decoding by one standard and the information related to the processing operation requested for the pertinent functional unit but also the information for performing the decoding by a plurality of standards.
  • an initial plurality of frames of encoded video data included in the universal bitstream are encoded by using MPEG-2
  • the following plurality of frames are encoded by using MPEG-4
  • the other frames are encoded by using MPEG-I.
  • partial decoder description information included in the decoder description for decoding the encoded video data will be realized such that the functional units according to each standard included in the toolbox 415 can be organically coupled and operated, in order that each frame having different encoding methods can be decoded.
  • FIG. 25 is a schematic block diagram illustrating the structure of a decoding processing unit in accordance with a third embodiment of the present invention.
  • a decoding processing unit 320 can include a description decoder 405, a description storing unit 410, a toolbox 415 and a decoder implementation unit 4200.
  • the decoder implementation unit 4200 can include a connection control unit 4250 and CSCI storing unit 4300.
  • the decoder implementation unit 4200 can further include a work memory for loading the functional units by connection control unit 4250 and performing the predetermined process.
  • FIG. 26 is a schematic block diagram illustrating the structure of a decoding processing unit in accordance with the forth embodiment of the present invention.
  • the forth embodiment of the decoding processsing unit 320 in Fig. 26 includes additionally a decoding solution 510.
  • the decoding solution 510 can be a work memory for loading the functional units by the calling of connection control unit 4250 and performing the predetermined process.
  • each element of decoding processing unit 320 is same as descrived above.
  • the present invention is applicable to a video codec.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

L'invention concerne un procédé et un dispositif de décodage. Un dispositif de décodage comprend : une unité de mise en oeuvre du décodeur générant et émettant des informations de commande de signaux de commande/informations de contexte (CSCI) et des informations de commande de connexion à l'aide des descriptions de décodeur partielles stockées dans une unité de stockage de descriptions; une boîte à outils comprenant plusieurs unités fonctionnelles, chacune d'elles étant conçue pour effectuer un processus prédéterminé; et une solution de décodage chargeant les unités fonctionnelles de manière hiérarchique et décodant un flux binaire en données vidéo à l'aide des informations CSCI et des informations de commande de connexion. Selon cette invention, un autre type de décodeur peut être reconfiguré à l'aide de la description de décodeur.
PCT/KR2008/001928 2007-04-04 2008-04-04 Procédé et dispositif de décodage de flux binaire ayant une solution de décodage WO2008123710A1 (fr)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR10-2007-0033490 2007-04-04
KR10-2007-0033495 2007-04-04
KR1020070033490A KR101305513B1 (ko) 2007-04-04 2007-04-04 동영상 데이터의 인코딩/디코딩 방법 및 장치
KR1020070033495A KR101380825B1 (ko) 2007-04-04 2007-04-04 디코딩 솔루션을 구비한 비트스트림 디코딩 장치 및 방법

Publications (1)

Publication Number Publication Date
WO2008123710A1 true WO2008123710A1 (fr) 2008-10-16

Family

ID=39831130

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2008/001928 WO2008123710A1 (fr) 2007-04-04 2008-04-04 Procédé et dispositif de décodage de flux binaire ayant une solution de décodage

Country Status (1)

Country Link
WO (1) WO2008123710A1 (fr)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2432232A1 (fr) * 2010-09-19 2012-03-21 LG Electronics, Inc. Procédé et appareil pour traiter un signal de diffusion pour service de diffusion en 3D (tridimensionnel)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020110193A1 (en) * 2000-12-08 2002-08-15 Samsung Electronics Co., Ltd. Transcoding method and apparatus therefor
US20060109912A1 (en) * 2004-11-24 2006-05-25 Lsi Logic Corporation Method and/or apparatus for parsing compressed video bitstreams
US20070071103A1 (en) * 2005-09-27 2007-03-29 Matsushita Electric Industrial Co., Ltd. Apparatus for digital video format down-conversion with arbitrary conversion ratio and method therefor

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020110193A1 (en) * 2000-12-08 2002-08-15 Samsung Electronics Co., Ltd. Transcoding method and apparatus therefor
US20060109912A1 (en) * 2004-11-24 2006-05-25 Lsi Logic Corporation Method and/or apparatus for parsing compressed video bitstreams
US20070071103A1 (en) * 2005-09-27 2007-03-29 Matsushita Electric Industrial Co., Ltd. Apparatus for digital video format down-conversion with arbitrary conversion ratio and method therefor

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2432232A1 (fr) * 2010-09-19 2012-03-21 LG Electronics, Inc. Procédé et appareil pour traiter un signal de diffusion pour service de diffusion en 3D (tridimensionnel)
US8896664B2 (en) 2010-09-19 2014-11-25 Lg Electronics Inc. Method and apparatus for processing a broadcast signal for 3D broadcast service
US9338431B2 (en) 2010-09-19 2016-05-10 Lg Electronics Inc. Method and apparatus for processing a broadcast signal for 3D broadcast service

Similar Documents

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

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

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, 21/01/2010

122 Ep: pct application non-entry in european phase

Ref document number: 08741178

Country of ref document: EP

Kind code of ref document: A1

点击 这是indexloc提供的php浏览器服务,不要输入任何密码和下载