[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

WO1999017552A1 - Apparatus and method for extracting measures of a bitstream's processing requirements for decoding - Google Patents

Apparatus and method for extracting measures of a bitstream's processing requirements for decoding Download PDF

Info

Publication number
WO1999017552A1
WO1999017552A1 PCT/JP1998/004330 JP9804330W WO9917552A1 WO 1999017552 A1 WO1999017552 A1 WO 1999017552A1 JP 9804330 W JP9804330 W JP 9804330W WO 9917552 A1 WO9917552 A1 WO 9917552A1
Authority
WO
WIPO (PCT)
Prior art keywords
bitstream
syntax elements
decoder
decoding
processing
Prior art date
Application number
PCT/JP1998/004330
Other languages
French (fr)
Inventor
William Brent Wilson
Original Assignee
Matsushita Electric Industrial Co., Ltd.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co., Ltd. filed Critical Matsushita Electric Industrial Co., Ltd.
Priority to BR9806269A priority Critical patent/BR9806269A/en
Priority to EP19980944260 priority patent/EP0956705A1/en
Priority to CN98801409A priority patent/CN1241334A/en
Publication of WO1999017552A1 publication Critical patent/WO1999017552A1/en

Links

Classifications

    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/633Control signals issued by server directed to the network components or client
    • H04N21/6332Control signals issued by server directed to the network components or client directed to client
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/127Prioritisation of hardware or computational resources
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • 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/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/654Transmission by server directed to the client

Definitions

  • This invention relates to appartus and method for extracting measures of a bitstream's processing requirements for decoding, and more particularly, to the field of digital audio and video decoders and the extraction of the processing requirements of a bitstream to be decoded by these decoders.
  • Digital audio and video has become widespread in the field of consumer electronics, due in large part to the emergence of digital video standards such as MPEG1 (see “CD11172 - Coding of Moving Pictures and Associated Audio for Digital Storage Media at up to about 1.5 Mbps” by International Organisation for Standardisation, ISO MPEG Document, ISO-IEC/JTC1/SC2/WG11 , 1994), MPEG2 (see “IS 13818 - Generic coding of Moving Pictures and Associated Audio” by International Organisation for Standardisation, ISO MPEG Document, ISO-
  • MPEG4 which includes further added functionality and quality over MPEG1 and MPEG2.
  • MPEG1 and MPEG2 decoders there are certain expectations regarding the decoder processing power which must be met in order to conform to the respective standard.
  • MP@ML Main Profile and Main Level
  • MPEG4 includes the concept of video objects, which are picture sequences which may be used to describe a separable object in a scene. If a scene contains many objects, it is desirable to know the objects processing requirements for decoding so that decoder resources can be efficiently allocated to objects. If there are multiple decoders in a system which use the same resources, it is desirable to know the decoder's processing requirements so that resources can be efficiently allocated to each decoder.
  • An object of this invention is to extract information from a bitstream which can be used to predict the processing requirements for decoding that bitstream.
  • a resource reallocation can be performed. It is an object of this invention to permit the processing requirements of a bitstream to be measured in order for the efficient allocation of computational and memory resources to a decoder function, which can be used to help maintain decoder performance.
  • a parser parses a bitstream for syntax elements.
  • a processor processes said syntax elements and determines processing indicators.
  • a buffer stores said indicators.
  • a buffer stores said syntax elements and a processor processes said stored syntax elements and determines processing indicators.
  • Said parser's position in the decoder may be before said decoder's input bitstream buffer.
  • Said parser may be combined or be a subset of said decoder's bitstream syntax decoder which parses the bitstream for the purpose of decoding.
  • Said parser and decoder's bitstream syntax decoder may be before or after said decoder's input bitstream buffer.
  • Said processor processing may include analysing occurrences of said syntax elements to obtain some measures of processing requirements for decoding said bitstream.
  • Said decoder may comprise of one or more video decoders, one or more audio decoders, one or more graphics decoders, or a combination of these decoders.
  • the parser extracts syntax elements useful for determining the processing requirements of decoding the bitstream. In some cases it may be possible to combine this function with the decoder's bitstream syntax decoder since it's function is also to extract syntax elements from the bitstream. If the parser and decoder's bitstream syntax decoder are located before the decoder's input bitstream buffer, the input bitstream buffer can store extracted syntax elements for the decoding function to use later.
  • the extracted syntax elements passed to the processor are processed in order to determine some processing indicators, which are measures of the processing requirements for decoding the bitstream. These extracted syntax elements may or may not be buffered before the processor operates on them.
  • the processing indicators made by the processor may or may not be buffered. The buffer is used to permit the measures of processing requirements to be delayed until they are required.
  • Fig. 1 is a block diagram of a first mbodiment of the invention.
  • Fig. 2 is a block diagram of a second embodiment of the invention.
  • Fig. 3 is a block diagram of a third embodiment of the invention.
  • Fig. 4 is a block diagram of a fourth embodiment of the invention.
  • a first embodiment of this invention is shown in Fig. 1.
  • One or more bitstreams are input via the bitstream input 100, 101, 102.
  • the decoder 110 decodes the bitstreams and outputs decoded outputs 103.
  • the parser 120 accepts the bitstreams 102 and outputs syntax elements 121.
  • the processor 122 accepts the syntax elements 121 and outputs indicators 123.
  • the buffer 124 accepts the indicators 123 and outputs measures of the bitstream's processing requirements 125.
  • the parser 120 extracts syntax elements relevant to determining the processing requirements of the bitstreams and passes them to the processor 122.
  • the processor 122 determines from these syntax elements one or more indicators which can be used to measure the bitstreams processing requirements. These indicators are buffered by the buffer 124 until they are required. Second embodiment of this invention is shown in Fig.
  • the buffer 222 accepts the syntax elements 221 and outputs buffered syntax elements 223.
  • the processor 224 accepts the buffered syntax elements 223 and outputs measures of the bitstream's processing requirements 225.
  • the bitstream input 201 is passed to the decoder's input buffer 211, which passes the buffered bitstream 212 to a decoder parser 213.
  • the decoder parser passes decoder syntax elements 214 to the simple decoder 215, which outputs decoded outputs 203.
  • the parser 220 extracts syntax elements relevant to determining the processing requirements of the bitstreams and passes them to the buffer 222 for storage.
  • the processor 224 determines from these stored syntax elements one or more measures of the bitstreams processing requirements 225.
  • the decoder input buffer 211 stores the input bitstream until the appropriate time for decoding.
  • the decoder parser 213 performs some or all of the syntax decoding functions of the decoder 210.
  • the simple decoder 215 performs the remaining functions of the decoder 210.
  • the location of the buffer can be before or after the processor. It is also possible to have buffers both before and after the processor.
  • the actual structure of the decoder 210 shown in Fig. 2 is not a limitation of this invention. This structure is used to illustrate the differences between the embodiment of Fig. 2 and the embodiment of Fig. 3.
  • the parser 320 outputs decoder syntax elements 314 to a simple decoder 315, and outputs processing syntax elements 321 to the buffer 322.
  • the buffer 322 accepts the processing syntax elements 321 and outputs buffered processing syntax elements 323.
  • the processor 324 accepts the buffered processing syntax elements 323 and outputs measures of the bitstream's processing requirements 325.
  • the operation of the third embodiment in Fig. 3 is now described.
  • the parser 320 extracts processing syntax elements 321 relevant to determining the processing requirements of the bitstreams and passes them to the buffer 322 for storage, while also extracting decoder syntax elements 314 and passing them to the simple decoder 315.
  • a simple decoder may be simpler than the full decoder because some of it's syntax decoding functions are performed by the parser 320.
  • parsing and decoder bitstream syntax decoding functions can be performed by the same block, thus reducing cost. Both functions require similar functions which can easily be shared, such as syntax understanding and syntax element extraction.
  • Fig. 4 shows a fourth embodiment in which, the parser 420 outputs decoder syntax elements 412 to a decoder input buffer 411, which outputs buffered decoder syntax elements 414 to the simple decoder 415.
  • the parser also outputs processing syntax elements 421 to the buffer 422.
  • the buffer 422 accepts the processing syntax elements 421 and outputs buffered processing syntax elements 423.
  • the processor 424 accepts the buffered processing syntax elements 423 and outputs measures of the bitstream's processing requirements 425.
  • the parser 420 extracts processing syntax elements 421 relevant to determining the processing requirements of the bitstreams and passes them to the buffer 422 for storage, while also extracting decoder syntax elements 414 and passing them to the decoder input buffer 411.
  • the buffer 124, 222, 322, 422 is used to supply a delay determined by the embodiment's structure and the system's requirements for the measures of bitstream's computational requirements 125, 225, 325, 425.
  • the decoder input buffer 211 may be the video buffer verifier input buffer of an MPEG2 video decoder. This buffer stores incoming bitstreams such that a picture can be instantaneously extracted and decoded, as described in the MPEG2 specification. This buffer can also be used to synchronize decoders by allowing decoding and corresponding outputs to be delayed.
  • the complexity of the picture's coded bitstream can be determined before any of the picture is extracted from the decoder input buffer 211.
  • the system resources required by the decoder 210 can be determined and allocated before the picture decoding begins. Since it may be convenient to assign resources at the start of decoding a new picture, it is convenient to have a picture's measures of bitstream's computational requirements 225 before the picture is decoded.
  • the delay through the buffer 222 is similar to the delay of the decoder input buffer 211 for this example. This is not a limitation of the invention however, because other examples of this invention will require different buffer characteristics. For example, for a video decoder, the delay could vary from no delay to many pictures of delay. As an additional variation, some information occurs in the bitstream with different frequency than others, thereby requiring different buffering.
  • the decoder can be a video decoder, an audio decoder, a graphics decoder, or combinations and hybrids of these.
  • the parser may extract syntax elements from the bitstream which are used directly in the decoding process, or it may extract syntax elements that are placed in the bitstream for the purposes of indicating bitstream decoding computational requirements. This is not a limitation of the invention.
  • the processor processing is not limited by this invention.
  • the extracted data can be simply counted, averaged, filtered, or any number of operations, including none, may be performed.
  • the decoder 210 is an MPEG2 video decoder.
  • the parser 220 extracts the following syntax elements 221 from the bitstream input 202:
  • picture_coding_type (I, P, B,D) These elements can be used to determine some indication of the possible processing requirements of the bitstream. The picture size and rate can be determined from these elements.
  • the macroblock_type can be extracted and processed to determine the number of bi-directionally predicted macroblocks that are coded in a picture. This will help determine the computational requirements of decoding that picture. Bi-directionally predicted macroblocks require about twice the amount of frame memory accessing required by uni-directionally predicted macroblocks.
  • One effect of this invention is that information can be extracted from a bitstream which can be used to predict the processing requirements for decoding that bitstream.
  • the parser extracts syntax elements relevant to determining the processing requirements. Parsing can be performed together with the decoder's existing syntax decoder or separately, and can occur before or after the decoder's input bitstream buffer.
  • the processor processes these syntax elements resulting in measures which indicate the processing requirements of decoding the bitstream.
  • the buffer enables the measures to be available as and when needed.
  • An effect of this invention is that the processing power requirements of a bitstream may be measured in order for the efficient allocation of processing resources to a decoder function, which can be used to help maintain decoder performance. Ultimately this results in better picture and audio quality.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

The invention described herein describes a method for extracting syntax elements from a bitstream in order to determine measures of the processing requirements of decoding the bitstream. These measures permit a dynamic allocation of decoder resources based on knowledge about a decoder's performance requirements. The method uses a parser for extracting relevant syntax elements, a processor for generating measures of the bitstream requirements, and buffering for permitting the measures to be available when they are required.

Description

DESCRIPTION
Apparatus and Method For Extracting Measures of a Bitstream's Processing Requirements
For Decoding
Technical Field
This invention relates to appartus and method for extracting measures of a bitstream's processing requirements for decoding, and more particularly, to the field of digital audio and video decoders and the extraction of the processing requirements of a bitstream to be decoded by these decoders.
Background Art
Digital audio and video has become widespread in the field of consumer electronics, due in large part to the emergence of digital video standards such as MPEG1 (see "CD11172 - Coding of Moving Pictures and Associated Audio for Digital Storage Media at up to about 1.5 Mbps" by International Organisation for Standardisation, ISO MPEG Document, ISO-IEC/JTC1/SC2/WG11 , 1994), MPEG2 (see "IS 13818 - Generic coding of Moving Pictures and Associated Audio" by International Organisation for Standardisation, ISO MPEG Document, ISO-
IEC/JTC1/SC2/WG11, 1994), and the emerging standard MPEG4, which includes further added functionality and quality over MPEG1 and MPEG2. In MPEG1 and MPEG2 decoders, there are certain expectations regarding the decoder processing power which must be met in order to conform to the respective standard. For example, in the MPEG2 standard, Main Profile and Main Level (MP@ML) describes a set of bounds on the bitstream and associated video which all conformant MP@ML decoders must adhere to.
There are many situations where it is desirable to know the processing requirements of decoding a bitstream. For example, in a system which dynamically allocates resources for decoding, this information can be used during resource allocation to ensure the decoder reserves enough computational power and memory. In the design of integrated circuits for digital video decoders it has been common practice to determine the processing requirements for bitstreams based on the MP@ML guidelines. In other words, many integrated circuits were designed to allocate resources to handle the worst or near-worst case computational requirements for MPEG2 bitstreams. Another way to determine the processing requirements of a bitstream is to decode the bitstream and measure the performance of the decoder. For example, one measurement of bitstream complexity could be the time taken to decode the bitstream. This was a very common method used by software based MPEG1 video decoders running on personal computers. If the decoder was too slow for synchronisation of audio and video output signals, the video decoder could skip some picture decoding. MPEG4 includes the concept of video objects, which are picture sequences which may be used to describe a separable object in a scene. If a scene contains many objects, it is desirable to know the objects processing requirements for decoding so that decoder resources can be efficiently allocated to objects. If there are multiple decoders in a system which use the same resources, it is desirable to know the decoder's processing requirements so that resources can be efficiently allocated to each decoder.
There is a growing abundance of digital audio, video and graphics information bitstreams available, and a growing number of processing requirements associated with each. It is desirable to know the processing requirements of a bitstream before it is decoded. This permits better control over the result of decoding. For example, if the decoder cannot meet the requirements dictated by the bitstream, it can have the option of not starting the decoding. For example, in a video decoder, if a picture cannot be decoded in time to meet it's real time requirements, the picture decoding can be skipped. In an MPEG4 decoder, if an object cannot be decoded to meet the real time requirements, the object can be skipped. An object of this invention is to extract information from a bitstream which can be used to predict the processing requirements for decoding that bitstream.
In a system which dynamically allocates resources to a bitstream decoder, it is desirable to know if the resources are sufficient to permit real time decoding. In a video decoder, for example, it is desirable to know if resources are sufficient to complete the decoding of a picture so that it's display can occur as intended by the bitstream author. If the allocation is not appropriate, a resource reallocation can be performed. It is an object of this invention to permit the processing requirements of a bitstream to be measured in order for the efficient allocation of computational and memory resources to a decoder function, which can be used to help maintain decoder performance.
Disclosure Of Invention
For the purpose of solving the above described problems, the method of extracting measures of a bitstream's processing requirements for decoding described herein was invented. A parser parses a bitstream for syntax elements. A processor processes said syntax elements and determines processing indicators. A buffer stores said indicators. Alternatively, a buffer stores said syntax elements and a processor processes said stored syntax elements and determines processing indicators. Said parser's position in the decoder may be before said decoder's input bitstream buffer. Said parser may be combined or be a subset of said decoder's bitstream syntax decoder which parses the bitstream for the purpose of decoding. Said parser and decoder's bitstream syntax decoder may be before or after said decoder's input bitstream buffer. Said processor processing may include analysing occurrences of said syntax elements to obtain some measures of processing requirements for decoding said bitstream. Said decoder may comprise of one or more video decoders, one or more audio decoders, one or more graphics decoders, or a combination of these decoders.
The parser extracts syntax elements useful for determining the processing requirements of decoding the bitstream. In some cases it may be possible to combine this function with the decoder's bitstream syntax decoder since it's function is also to extract syntax elements from the bitstream. If the parser and decoder's bitstream syntax decoder are located before the decoder's input bitstream buffer, the input bitstream buffer can store extracted syntax elements for the decoding function to use later. The extracted syntax elements passed to the processor are processed in order to determine some processing indicators, which are measures of the processing requirements for decoding the bitstream. These extracted syntax elements may or may not be buffered before the processor operates on them. The processing indicators made by the processor may or may not be buffered. The buffer is used to permit the measures of processing requirements to be delayed until they are required.
Brief Description Of Drawings
Fig. 1 is a block diagram of a first mbodiment of the invention. Fig. 2 is a block diagram of a second embodiment of the invention.
Fig. 3 is a block diagram of a third embodiment of the invention.
Fig. 4 is a block diagram of a fourth embodiment of the invention.
Best Mode for Carrying Out the Invention
A first embodiment of this invention is shown in Fig. 1. One or more bitstreams are input via the bitstream input 100, 101, 102. The decoder 110 decodes the bitstreams and outputs decoded outputs 103. The parser 120 accepts the bitstreams 102 and outputs syntax elements 121. The processor 122 accepts the syntax elements 121 and outputs indicators 123. The buffer 124 accepts the indicators 123 and outputs measures of the bitstream's processing requirements 125.
The operation of the first embodiment in Fig. 1 is now described. The parser 120 extracts syntax elements relevant to determining the processing requirements of the bitstreams and passes them to the processor 122. The processor 122 determines from these syntax elements one or more indicators which can be used to measure the bitstreams processing requirements. These indicators are buffered by the buffer 124 until they are required. Second embodiment of this invention is shown in Fig.
2. It has a similar structure to that of Fig. 1 except that the order of the processor 224 and buffer 222 is changed. The buffer 222 accepts the syntax elements 221 and outputs buffered syntax elements 223. The processor 224 accepts the buffered syntax elements 223 and outputs measures of the bitstream's processing requirements 225. In addition, more detail about the decoder is given. The bitstream input 201 is passed to the decoder's input buffer 211, which passes the buffered bitstream 212 to a decoder parser 213. The decoder parser passes decoder syntax elements 214 to the simple decoder 215, which outputs decoded outputs 203. The operation of the second embodiment in Fig. 2 is now described. The parser 220 extracts syntax elements relevant to determining the processing requirements of the bitstreams and passes them to the buffer 222 for storage. The processor 224 determines from these stored syntax elements one or more measures of the bitstreams processing requirements 225. The decoder input buffer 211 stores the input bitstream until the appropriate time for decoding. The decoder parser 213 performs some or all of the syntax decoding functions of the decoder 210. The simple decoder 215 performs the remaining functions of the decoder 210.
As described by Fig. 1 and 2, the location of the buffer can be before or after the processor. It is also possible to have buffers both before and after the processor.
The actual structure of the decoder 210 shown in Fig. 2 is not a limitation of this invention. This structure is used to illustrate the differences between the embodiment of Fig. 2 and the embodiment of Fig. 3.
In Fig. 3, showing the third embodiment, the parser 320 outputs decoder syntax elements 314 to a simple decoder 315, and outputs processing syntax elements 321 to the buffer 322. The buffer 322 accepts the processing syntax elements 321 and outputs buffered processing syntax elements 323. The processor 324 accepts the buffered processing syntax elements 323 and outputs measures of the bitstream's processing requirements 325. The operation of the third embodiment in Fig. 3 is now described. The parser 320 extracts processing syntax elements 321 relevant to determining the processing requirements of the bitstreams and passes them to the buffer 322 for storage, while also extracting decoder syntax elements 314 and passing them to the simple decoder 315. In this case a simple decoder may be simpler than the full decoder because some of it's syntax decoding functions are performed by the parser 320.
The effect of this embodiment is that parsing and decoder bitstream syntax decoding functions can be performed by the same block, thus reducing cost. Both functions require similar functions which can easily be shared, such as syntax understanding and syntax element extraction.
Fig. 4 shows a fourth embodiment in which, the parser 420 outputs decoder syntax elements 412 to a decoder input buffer 411, which outputs buffered decoder syntax elements 414 to the simple decoder 415. The parser also outputs processing syntax elements 421 to the buffer 422. The buffer 422 accepts the processing syntax elements 421 and outputs buffered processing syntax elements 423. The processor 424 accepts the buffered processing syntax elements 423 and outputs measures of the bitstream's processing requirements 425.
The operation of the fourth embodiment in Fig. 4 is now described. The parser 420 extracts processing syntax elements 421 relevant to determining the processing requirements of the bitstreams and passes them to the buffer 422 for storage, while also extracting decoder syntax elements 414 and passing them to the decoder input buffer 411.
The effect of this embodiment is similar to that of the embodiment described by Fig. 3. Parsing and decoder bitstream syntax decoding functions can be performed by the same block, thus reducing cost. Both functions require similar functions which can easily be shared, such as syntax understanding and syntax element extraction. An additional effect is that the measures of processing requirements 425 may be determined much earlier because the parser 420 extracts the processing syntax elements before the decoder input buffer 411. This means that the dynamic allocation of system resources for decoding the bitstream can be done before the decoding.
In all of the embodiments described by Figs 1 through 4, the buffer 124, 222, 322, 422 is used to supply a delay determined by the embodiment's structure and the system's requirements for the measures of bitstream's computational requirements 125, 225, 325, 425. For example, in Fig. 2 the decoder input buffer 211 may be the video buffer verifier input buffer of an MPEG2 video decoder. This buffer stores incoming bitstreams such that a picture can be instantaneously extracted and decoded, as described in the MPEG2 specification. This buffer can also be used to synchronize decoders by allowing decoding and corresponding outputs to be delayed. In the example of an MPEG2 video decoder, the complexity of the picture's coded bitstream can be determined before any of the picture is extracted from the decoder input buffer 211. Thus, the system resources required by the decoder 210 can be determined and allocated before the picture decoding begins. Since it may be convenient to assign resources at the start of decoding a new picture, it is convenient to have a picture's measures of bitstream's computational requirements 225 before the picture is decoded. Thus, the delay through the buffer 222 is similar to the delay of the decoder input buffer 211 for this example. This is not a limitation of the invention however, because other examples of this invention will require different buffer characteristics. For example, for a video decoder, the delay could vary from no delay to many pictures of delay. As an additional variation, some information occurs in the bitstream with different frequency than others, thereby requiring different buffering.
This invention is not limited to any particular type of decoder. The decoder can be a video decoder, an audio decoder, a graphics decoder, or combinations and hybrids of these.
The parser may extract syntax elements from the bitstream which are used directly in the decoding process, or it may extract syntax elements that are placed in the bitstream for the purposes of indicating bitstream decoding computational requirements. This is not a limitation of the invention.
The processor processing is not limited by this invention. The extracted data can be simply counted, averaged, filtered, or any number of operations, including none, may be performed.
As another example embodiment, consider Fig. 2 again. In this example, the decoder 210 is an MPEG2 video decoder. The parser 220 extracts the following syntax elements 221 from the bitstream input 202:
(1) horizontal_size_value
(2) vertical_size_value
(3) frame_rate_code
(4) picture_coding_type (I, P, B,D) These elements can be used to determine some indication of the possible processing requirements of the bitstream. The picture size and rate can be determined from these elements.
These are not the only elements which can be used. The definition of the syntax elements used and how they are used is not a limitation of this invention. Other elements can be used which can further refine the estimation of the processing requirements for decoding the bitstream. For example, the macroblock_type can be extracted and processed to determine the number of bi-directionally predicted macroblocks that are coded in a picture. This will help determine the computational requirements of decoding that picture. Bi-directionally predicted macroblocks require about twice the amount of frame memory accessing required by uni-directionally predicted macroblocks.
One effect of this invention is that information can be extracted from a bitstream which can be used to predict the processing requirements for decoding that bitstream. The parser extracts syntax elements relevant to determining the processing requirements. Parsing can be performed together with the decoder's existing syntax decoder or separately, and can occur before or after the decoder's input bitstream buffer. The processor processes these syntax elements resulting in measures which indicate the processing requirements of decoding the bitstream. The buffer enables the measures to be available as and when needed. An effect of this invention is that the processing power requirements of a bitstream may be measured in order for the efficient allocation of processing resources to a decoder function, which can be used to help maintain decoder performance. Ultimately this results in better picture and audio quality.

Claims

1. An apparatus for extracting measures of a bitstream's processing requirements for decoding, comprising: parser means for parsing a bitstream for syntax elements; processor means for processing said syntax elements and determining processing indicators; buffer means for storing said indicators.
2. An apparatus for extracting measures of a bitstream's processing requirements for decoding comprising: parser means for parsing a bitstream for syntax elements; buffer means for storing said syntax elements; processor means for processing said stored syntax elements and determining processing indicators.
3. An apparatus according to claim 1 or 2, wherein said parser comprises: a bitstream syntax decoder which extracts syntax elements which are relevant for use by said processor from said bitstream before said bitstream is buffered in said decoder's input buffer.
4. An apparatus according to claim 1 or 2, wherein said parser comprises: said video decoder's bitstream syntax decoder which extracts syntax elements from said decoder's input buffer for bitstream decoding, and which also extracts syntax elements for use by said processor or storage by said buffer.
5. An apparatus according to claim 1 or 2, wherein said parser comprises: said decoder's bitstream syntax decoder which extracts syntax elements from said bitstream for the purpose of bitstream decoding before buffering of extracted syntax elements in said decoder's input buffer, and which also extracts syntax elements for use by said processor or storage by said buffer.
6. An apparatus according to any one of claims 1 to 5, wherein said processing said syntax elements comprises: means for analysing occurrences of said syntax elements to obtain some measures of processing requirements for decoding said bitstream.
7. An apparatus according to any one of claims 1 to 6, wherein said decoder comprises: one or more video decoders, one or more audio decoders, one or more graphics decoders, or a combination of these decoders.
8. A method of extracting measures of a bitstream's processing requirements for decoding, comprising the steps of: parsing a bitstream for syntax elements; processing said syntax elements and determining processing indicators; storing said indicators.
9. A method of extracting measures of a bitstream's processing requirements for decoding comprising: parsing a bitstream for syntax elements; storing said syntax elements; processing said stored syntax elements and determining processing indicators.
10. A method according to claim 8 or 9, wherein said parsing comprises the steps of: decoding said bitstream syntax for extracting syntax elements which are relevant for use by said processor from said bitstream before said bitstream is buffered in said decoder's input buffer.
11. A method according to claim 8 or 9, wherein said parsing comprises the steps of: decoding said bitstream syntax for extracting syntax elements from said decoder's input buffer for bitstream decoding, and also for extracting syntax elements for use by said processor or storage by said buffer.
12. A method according to claim 1 or 2, wherein said parsing comprises the steps of: decoding said bitstream syntax for extracting syntax elements from said bitstream for bitstream decoding before buffering of extracted syntax elements in said decoder's input buffer, and also for extracting syntax elements for use by said processor or storage by said buffer.
13. A method according to any one of claims 1 to 5, wherein said processing said syntax elements comprises the step of: analysing occurrences of said syntax elements to obtain some measures of processing requirements for decoding said bitstream.
14. A method according to any one of claims 1 to 6, wherein said decoder comprises: one or more video decoders, one or more audio decoders, one or more graphics decoders, or a combination of these decoders.
PCT/JP1998/004330 1997-09-30 1998-09-28 Apparatus and method for extracting measures of a bitstream's processing requirements for decoding WO1999017552A1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
BR9806269A BR9806269A (en) 1997-09-30 1998-09-28 Apparatus and method for extracting processing requirements measurements from a bit stream for decoding
EP19980944260 EP0956705A1 (en) 1997-09-30 1998-09-28 Apparatus and method for extracting measures of a bitstream's processing requirements for decoding
CN98801409A CN1241334A (en) 1997-09-30 1998-09-28 Apparatus and method for extracting measures of bitstream's processing requirements for decoding

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP26621697A JPH11112972A (en) 1997-09-30 1997-09-30 Device and method for extracting combined processing amount information
JP9/266216 1997-09-30

Publications (1)

Publication Number Publication Date
WO1999017552A1 true WO1999017552A1 (en) 1999-04-08

Family

ID=17427881

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP1998/004330 WO1999017552A1 (en) 1997-09-30 1998-09-28 Apparatus and method for extracting measures of a bitstream's processing requirements for decoding

Country Status (8)

Country Link
EP (1) EP0956705A1 (en)
JP (1) JPH11112972A (en)
KR (1) KR100317919B1 (en)
CN (1) CN1241334A (en)
BR (1) BR9806269A (en)
ID (1) ID21549A (en)
TW (1) TW404116B (en)
WO (1) WO1999017552A1 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001069934A1 (en) * 2000-03-17 2001-09-20 Telecom Italia Lab S.P.A. Method and system for transmitting information flows
EP1519588A2 (en) * 2003-07-30 2005-03-30 Sony Corporation Program, data processing method, and data processing system
WO2006092671A1 (en) * 2005-03-03 2006-09-08 Koninklijke Philips Electronics N.V. Adaptive fallback system for mpeg decoders
WO2010104432A1 (en) * 2009-03-13 2010-09-16 Telefonaktiebolaget Lm Ericsson (Publ) Methods of and arrangements for processing an encoded bit stream
CN102665081A (en) * 2012-05-14 2012-09-12 青岛海信信芯科技有限公司 Resolving method for multi-format code stream, resolving device for multi-format code stream and display device

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10218812A1 (en) * 2002-04-26 2003-11-20 Siemens Ag Generic stream description
KR101232780B1 (en) * 2006-01-12 2013-09-03 (주)휴맥스 Device and Method for unified codecs
JP4847890B2 (en) 2007-02-16 2011-12-28 パナソニック株式会社 Encoding method converter
KR100943214B1 (en) * 2007-06-07 2010-02-18 한국전자통신연구원 Apparatus and method for audio decoding using inter-process communication
JP5056600B2 (en) * 2008-06-10 2012-10-24 富士通株式会社 Image decoding device

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5457499A (en) * 1989-12-29 1995-10-10 Massachusetts Institute Of Technology Source adaptive television system
EP0719050A2 (en) * 1994-12-23 1996-06-26 SIP SOCIETA ITALIANA PER l'ESERCIZIO DELLE TELECOMUNICAZIONI P.A. Device for transmitting, receiving and decoding compressed audiovisual streams
GB2299237A (en) * 1995-03-21 1996-09-25 Samsung Electronics Co Ltd Video decoding apparatus
US5608459A (en) * 1993-08-13 1997-03-04 Texas Instruments Incorporated Video data decoder having motion compensation and image memory circuitry on single substrate
EP0776134A2 (en) * 1995-11-22 1997-05-28 General Instrument Corporation Of Delaware Error recovery of audio data carried in a packetized data stream

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5457499A (en) * 1989-12-29 1995-10-10 Massachusetts Institute Of Technology Source adaptive television system
US5608459A (en) * 1993-08-13 1997-03-04 Texas Instruments Incorporated Video data decoder having motion compensation and image memory circuitry on single substrate
EP0719050A2 (en) * 1994-12-23 1996-06-26 SIP SOCIETA ITALIANA PER l'ESERCIZIO DELLE TELECOMUNICAZIONI P.A. Device for transmitting, receiving and decoding compressed audiovisual streams
GB2299237A (en) * 1995-03-21 1996-09-25 Samsung Electronics Co Ltd Video decoding apparatus
EP0776134A2 (en) * 1995-11-22 1997-05-28 General Instrument Corporation Of Delaware Error recovery of audio data carried in a packetized data stream

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001069934A1 (en) * 2000-03-17 2001-09-20 Telecom Italia Lab S.P.A. Method and system for transmitting information flows
EP1519588A2 (en) * 2003-07-30 2005-03-30 Sony Corporation Program, data processing method, and data processing system
EP1519588A3 (en) * 2003-07-30 2007-06-13 Sony Corporation Program, data processing method, and data processing system
US7664373B2 (en) 2003-07-30 2010-02-16 Sony Corporation Program, data processing method, and system of same
WO2006092671A1 (en) * 2005-03-03 2006-09-08 Koninklijke Philips Electronics N.V. Adaptive fallback system for mpeg decoders
WO2010104432A1 (en) * 2009-03-13 2010-09-16 Telefonaktiebolaget Lm Ericsson (Publ) Methods of and arrangements for processing an encoded bit stream
US20110299593A1 (en) * 2009-03-13 2011-12-08 Martin Pettersson Methods of and Arrangements for Processing an Encoded Bit Stream
US9462233B2 (en) * 2009-03-13 2016-10-04 Telefonaktiebolaget Lm Ericsson (Publ) Methods of and arrangements for processing an encoded bit stream
CN102665081A (en) * 2012-05-14 2012-09-12 青岛海信信芯科技有限公司 Resolving method for multi-format code stream, resolving device for multi-format code stream and display device

Also Published As

Publication number Publication date
EP0956705A1 (en) 1999-11-17
ID21549A (en) 1999-07-24
KR20000069051A (en) 2000-11-25
CN1241334A (en) 2000-01-12
KR100317919B1 (en) 2001-12-24
BR9806269A (en) 2000-04-04
TW404116B (en) 2000-09-01
JPH11112972A (en) 1999-04-23

Similar Documents

Publication Publication Date Title
US7248631B2 (en) Method for reducing processing power requirements of a video decoder
US5694170A (en) Video compression using multiple computing agents
KR100341055B1 (en) Syntax Analyzer for Video Compression Processor
US6263019B1 (en) Variable rate MPEG-2 video syntax processor
US6799246B1 (en) Memory interface for reading/writing data from/to a memory
US9020047B2 (en) Image decoding device
US6219381B1 (en) Image processing apparatus and method for realizing trick play
US5850258A (en) High level video decoding apparatus capable of decoding video data of a plurality of channels coded at a lower level
EP0661888A2 (en) Multiplexing/demultiplexing method for superimposing sub- images on a main image
US20100153687A1 (en) Streaming processor, operation method of streaming processor and processor system
US20030016745A1 (en) Multi-channel image encoding apparatus and encoding method thereof
KR20000028928A (en) Programmable filter for removing selected user data from an MPEG-2 bit-stream
WO1999017552A1 (en) Apparatus and method for extracting measures of a bitstream's processing requirements for decoding
US8837599B2 (en) System, method and apparatus for clean channel change
KR20060133962A (en) Method and apparatus for scalable single processing
US5666115A (en) Shifter stage for variable-length digital code decoder
JPH08116532A (en) Image decoding system and device therefor
US20110216838A1 (en) Method and apparatus for efficient decoding of multi-view coded video data
US6081300A (en) Apparatus and method for generating on-screen-display messages using stored bitstreams
KR20060024391A (en) A method for restructuring a group of pictures to provide for random access into the group of pictures
AU699282B2 (en) Apparatus and method for generating on-screen-display messages using stored bitstreams
US6917649B2 (en) Method of encoding video signals
JPH1093917A (en) Picture processor
JP2000125292A (en) Method and device for controlling condition necessary to calculate and record compressed bit stream for video decoder
JPH10136357A (en) Coder, recoder and condign/decoding system

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 98801409.2

Country of ref document: CN

AK Designated states

Kind code of ref document: A1

Designated state(s): BR CN ID KR MX SG US

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE

WWE Wipo information: entry into national phase

Ref document number: 09284995

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 1019997004462

Country of ref document: KR

WWE Wipo information: entry into national phase

Ref document number: PA/a/1999/004919

Country of ref document: MX

WWE Wipo information: entry into national phase

Ref document number: 1998944260

Country of ref document: EP

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWP Wipo information: published in national office

Ref document number: 1998944260

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 1019997004462

Country of ref document: KR

WWG Wipo information: grant in national office

Ref document number: 1019997004462

Country of ref document: KR

WWW Wipo information: withdrawn in national office

Ref document number: 1998944260

Country of ref document: EP