WO2004084558A2 - Verfahren und anordnung zur ermittlung der decodierungskomplexität von blockbasiert codierten videodatenströmen - Google Patents

Verfahren und anordnung zur ermittlung der decodierungskomplexität von blockbasiert codierten videodatenströmen Download PDF

Info

Publication number
WO2004084558A2
WO2004084558A2 PCT/EP2004/001941 EP2004001941W WO2004084558A2 WO 2004084558 A2 WO2004084558 A2 WO 2004084558A2 EP 2004001941 W EP2004001941 W EP 2004001941W WO 2004084558 A2 WO2004084558 A2 WO 2004084558A2
Authority
WO
WIPO (PCT)
Prior art keywords
video data
block
decoding
decoding complexity
processor
Prior art date
Application number
PCT/EP2004/001941
Other languages
English (en)
French (fr)
Other versions
WO2004084558A3 (de
Inventor
Benno Stabernack
Original Assignee
Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V.
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 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. filed Critical Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V.
Priority to EP04714782A priority Critical patent/EP1606951A2/de
Publication of WO2004084558A2 publication Critical patent/WO2004084558A2/de
Publication of WO2004084558A3 publication Critical patent/WO2004084558A3/de

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/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
    • 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/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/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • 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/146Data rate or code amount at the encoder output
    • 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/156Availability of hardware or computational resources, e.g. encoding based on power-saving criteria
    • 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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • 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
    • H04N19/172Methods 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 the region being a picture, frame or field
    • 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
    • H04N19/176Methods 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 the region being a block, e.g. a macroblock
    • 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/18Methods 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 a set of transform coefficients
    • 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

Definitions

  • the invention relates to a method and an arrangement for determining the decoding complexity of block-based ⁇ coded video data streams as well as uses of this method and a corresponding computer program product and a corresponding computer-readable storage medium, which can be used in particular to reduce the power consumption caused by the processor power in mobile end devices ,
  • MMS Multi-media messaging
  • Special decoders are required for this, which decode the data encoded with a corresponding standard.
  • these decoders are implemented on the basis of so-called application processors, which are added as an additional component to a " mobile radio baseband component.
  • Application processors consist of embedded processors and corresponding peripheral components for outputting the decoded data.
  • the actual decoder functionality is achieved in these systems with the help of special software implemented on the application processor, for example there are decoders for MPEG-4, H.263 and H.264 due to the special characteristics of the Correspondingly coded data streams can be found that the required computing time for the decoding is subject to extreme fluctuations, ie the computing time required can vary from frame to frame in a sequence e.g. B. to "vary by a factor of 2-3.
  • FIGS. 2 and 3 exemplify the processor clock required for each image of a sequence. Furthermore, it can be determined that the computing time required for the decoding is strongly dependent on the data rate of the video data stream used in each case. Due to the linear .. relationship between processor clock and achievable computing power of a processor, it is possible to adapt the clock frequency to the respective computing power requirement if it is possible to determine the required computing power before decoding. As a rule, the application processor is never at the maximum
  • the object of the invention is therefore to provide a method and an arrangement for determining the decoding complexity of block-based coded video data streams as well as uses of this method and a corresponding computer program product and a corresponding computer-readable storage medium, which remedy the above-mentioned deficiencies and in particular one Reduce the power consumption of application processors when decoding block-based coded video data.
  • the method according to the invention is characterized in that the block types contained in the video data stream and, for at least some of the block types contained in the video data stream, the number of blocks assigned to each block type describing the frequency of occurrence of a block type are at least approximately determined and the decoding complexity of the video data stream by evaluating the Frequency of occurrence of the block types is determined ..
  • An arrangement for determining the decoding complexity of block-based coded video data streams is advantageously set up in such a way that it comprises at least one processor and / or chip which is (are) set up in such a way that the decoding complexity of block-based coded video data streams can be determined.
  • block types contained in the video data stream and for at least some of the block types contained in the video data stream the number of blocks assigned to each block type describing the frequency of occurrence of a block type are at least approximately determined and the decoding complexity of the video data stream is determined by evaluating the frequency of occurrence of the block types.
  • a computer program product or computer program for determining the decoding complexity of block-coded video data streams is distinguished in that it enables a computer, after it has been loaded into the memory of the computer, to determine the decoding complexity of block-coded video data streams, in which Block types contained in the video data stream and for at least some of the block types contained in the video data stream, the number of blocks assigned to each block type describing the frequency of occurrence of a block type are at least approximately determined and the decoding complexity of the video data stream is determined by evaluating the frequency of occurrence of the block types.
  • a computer-readable storage medium is advantageously used, "in which a program is stored which enables a computer after it has been loaded into the computer's memory, a method for determining the Decod istskomplexitat of folockbasiert to perform coded video data streams, the block types contained in the video data stream and, for at least some of the block types contained in the video data stream, the number describing the frequency of occurrence of a block type of the blocks assigned to each block type, at least approximately determined and the decoding complexity of the video data stream determined by evaluating the frequency of occurrence of the block types becomes.
  • block types are assigned a performance coefficient C B iock type, the performance coefficient C B i oc type describing the performance of the processor required for processing the block type.
  • Intra-coded blocks (C intra ) are taken into account, and the decoding complexity K Fmme is determined as follows:
  • a particular advantage of the method according to the invention for determining the decoding complexity of block-based coded video data streams lies in the usability of this method for dynamic adaptation of the processor clock frequencies in video decoders by controlling the clock frequency of the processor as a function of the decoding complexity.
  • Such an adaptation of the processor clock frequency has in particular the advantage of reducing the power loss of the processor.
  • the processing power of the processor is determined for block types occurring in block-based coded video data streams and by a performance coefficient C B ock type is characterized.
  • This procedure optimizes the adaptation of the clock frequency for the processor used in each case. It also proves to be advantageous for the adaptation of the clock frequency if, after determining the decoding complexity K frame of the current picture, the preceding picture is decoded, the decoded intermediate results of the previous ' picture held in buffer memories being completely decoded. This procedure avoids parsing the bitstream data twice.
  • a further advantage of the method according to the invention for determining the decoding complexity of block-based coded video data streams is its use for controlling the decoding of video data streams. Such use is distinguished by the fact that the decoding of video data is terminated as soon as the decoding complexity of the video data exceeds a predetermined value, or the decoding of video data is interrupted or is carried out using reduced-complexity methods such as frequency domain sub-sampling, as long as the decoding complexity of the video data is one exceeds the specified value. It is particularly advantageous here if the predefined value specifies the maximum decoding complexity K mali of the processor.
  • An arrangement with which a dynamic adaptation of the processor clock frequency in video decoders can be implemented using a method according to claims 1 to 7 is advantageously set up in such a way that it comprises at least one processor and / or chip which is set up in this way ( are) that a method for determining the decoding complexity of block-based coded video data streams can be used for dynamic adaptation of the processor clock frequency in video decoders, the clock frequency of the processor being controlled as a function of the decoding complexity.
  • an arrangement for controlling the decoding of video data streams using a method according to claims 1 to 7 is characterized in that it comprises at least one processor and / or chip which is (are) set up such that a method for Determination of the decoding complexity of block-based coded video data streams can be used for controlling the decoding of video data streams, the decoding of video data being discontinued as soon as the decoding complexity of the video data exceeds a predetermined value, or the decoding of video data being interrupted or using methods of reduced complexity such as frequency domain sub- Sampling is carried out as long as the decoding complexity of the video data exceeds a predetermined value.
  • a computer program product or a computer program can also be used, which enables a computer, after it has been loaded into the memory of the computer, a method for determining the decoding complexity of block-based coded video data streams for controlling the decoding of To use video data streams, the decoding of video data being terminated as soon as the decoding complexity of the video data exceeds a predetermined value, or the decoding of video data being interrupted or being carried out using complexity-reduced methods such as frequency domain sub-sampling, as long as the decoding complexity of the video data is one exceeds the specified value.
  • these computer program products or computer programs can be made available for download in a data or communication network.
  • the computer program products or computer programs provided in this way can then be used by a method in which a computer program product or computer program according to one of Claims 17 to 19 is downloaded from a network for data transmission, for example from the Internet, to a data processing device connected to the network.
  • a computer program can be used to dynamically adapt the processor clock frequency in video decoders, on which a program is stored which enables a computer after having entered the Computer memory has been loaded to use a method for determining the decoding complexity of block-based coded video data streams for dynamic adaptation of the processor clock frequency in video decoders, the clock frequency of the processor being controlled as a function of the ' decoding complexity.
  • a computer-readable storage medium to control the decoding of video data streams, on which is stored a program that enables a computer, after it has been loaded into the memory of the computer, to determine the decoding complexity of block-based to use coded video data streams for controlling the decoding of video data streams, the decoding of video data being terminated as soon as the decoding complexity of the video data exceeds a predetermined value, or the decoding of video data being interrupted or being carried out using methods of reduced complexity such as frequency domain sub-sampling, as long as the decoding complexity of the video data exceeds a predetermined value.
  • the invention achieves a reduction in the power consumption of application processors when decoding block-based coded video data by predicting the decoding complexity.
  • the clock frequency of the processor is adapted to the required computing power requirement. Proportional to the reduction in the clock frequency, a reduction in the dynamic power consumption can thus be brought about. By lowering the clock frequency, the supply voltage of the processor can be reduced.
  • FIG. 2 processor clock required per frame for MPEG-4-coded video sequences at 32 kbit / s, QCIF, 12.5 frames / sec
  • FIG. 3 required Processor clock per picture for H.264-coded video sequences at 64 kbit / s, QCIF, 7 frames / sec
  • Fig. 4 clock frequency reduction with different clock part ratios for a picture sequence with strong picture change
  • FIG. 6 illustration of the percentage average clock reduction achieved for two
  • a particularly important area in which the prediction of the decoding complexity is used are mobile terminals which have the possibility of digitally encoded video data streams for various multimedia applications, such as B. Multi-media messaging (MMS), to receive and display.
  • MMS Multi-media messaging
  • the method according to the invention allows the necessary parameters for determining the required processor performance to be derived from the data stream.
  • the video data is subjected to an analysis before the actual decoding, by examining and counting the different block types of the corresponding image. - Since the different block types require different processor powers for the decoding, the power requirement in terms of computing power can be counted by counting the frequency of occurrence of the respective block types of the processor used.
  • the diagram in FIG. 1 shows the frequency of occurrence of the block types used for a typical MPEG-4-coded picture sequence. It can be clearly seen that, depending on the picture content, the frequency of the different block types can vary greatly.
  • the processor clock can be adjusted accordingly.
  • the processing of the processing power for the current image is carried out both steps in two pipeline cycles, that is after the 'determination starts the decoding of the previously analyzed image, in order to avoid a double parsing the bit stream data.
  • the intermediate results which are inevitably decoded in the analysis of the bitstream data are stored in corresponding buffers held, which can thus be finally decoded in the second processing cycle of the pipeline stage. If the performance is high enough or there is a lack of storage space, processing can also take place in one step, but the clock cycle reduction to be expected is reduced accordingly.
  • Block types are derived which, when added up over the frequency of occurrence within an image, give the required decoding complexity K frame of an image. Equation (3) gives an example of the decoding complexity for MPEG-4 encoded data streams. A distinction is made between three different block types, which differ greatly in their performance requirements. The block types Stuffang and not_coded are indirectly involved in the determination of the complexity, since they are included in the total number of macroblocks to be coded, but do not require any computing power.
  • the decoding complexity for H.264 data streams is determined in the same way, but a larger number of different block types must be taken into account here.
  • the method is applicable to any block-based coding method in which different types of blocks with different decoding complexity are used.
  • a circuit called a "phase locked loop” (PLL) is used to generate a desired clock frequency in processors.
  • This electronic control circuit generates another frequency from an input clock with a fixed frequency (so-called reference clock).
  • the frequencies that can be achieved in this way become limited by the maximum frequency divider of the PLL
  • a corresponding quantization of the determined decoding complexity has to be carried out in order to determine the resulting clock frequency.
  • the actual clock frequency of the processor is thus determined according to equation (4).
  • FIGS. 4 and 5 show the results of the investigation. In addition to the three PLL sub-ratios examined, the diagrams also show the worst-case cycle required and the actual computing power requirement of the respective sequence.
  • the processor simulator ARMULATOR from the processor manufacturer ARM for the processor ARM922T was used for the simulation.
  • the diagram in FIG. 6 shows the average clock reduction achieved for two H.264-coded data streams. It can clearly be seen that the clock reduction is particularly high for sequences with less image change and a reduction of up to 74% with a clock divider ratio of 12 can be achieved. However, the sequence with a stronger image change still results in an average reduction of approximately 33%. If the relationship between clock frequency and power loss of a CMOS circuit according to equations (1) and (2) is used as a basis for the processor ARM922T, then the clock frequency reduction is to be equated with the power loss reduction achieved. Static power losses are not considered here, which must also be taken into account when considering the total power consumption.
  • the prediction of the decoding complexity can also be used for other applications. For example, the decoding of data streams that require a higher decoding complexity than the respective system can be prevented. Suitable measures can be used to discard the corresponding frames or to use corresponding complexity-reducing methods, such as B. Frequency Domain Sub-Sampling.
  • the embodiment of the invention is not limited to the preferred exemplary embodiments specified above. Rather, a number of variants are conceivable which make use of the arrangement and method according to the invention even in the case of fundamentally different types.

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)

Abstract

Die Erfindung beschreibt ein Verfahren und eine Anordnung zur Ermittlung der Decodierungskomplexität von blockbasiert codierten Videodatenströmen sowie Verwendungen dieses Verfahrens und ein entsprechendes Computerprogramm-Erzeugnis und ein entsprechendes computerlesbares Speichermedium, welche insbesondere einsetzbar sind, um in mobilen Endgeräten den durch die Prozessorleistung verursachten Stromverbrauch zu senken. Hierfür wird vorgeschlagen, daß in dem Videodatenstrom enthaltene Blocktypen und für wenigstens einen Teil der in dem Videodatenstrom enthaltenen Blocktypen die die Auftrittshäufigkeit eines Blocktyps beschreibende Anzahl der jedem Blocktyp zugeordneten Blöcke zumindest näherungsweise bestimmt werden und die Decodierungskomplexität des Videodatenstroms durch Auswertung der Auftrittshäufigkeit der Blocktypen ermittelt wird.

Description

Verfahren und Anordnung zur Ermittlung der Decodierungskomplexitat von blockbasiert codierten Videodatenströmen sowie Verwendungen dieses Verfahrens und ein entsprechendes Computerprogramm-Erzeugnis und ein entsprechendes computerlesbares Speichermedium
Die Erfindung betrifft ein Verfahren und eine Anordnung zur Ermittlung der Decodierungskomplexitat von blockbasiert ~ codierten Videodatenströmen sowie Verwendungen dieses Verfahrens und ein entsprechendes Computerprogramm-Erzeugnis und ein entsprechendes computerlesbares Speichermedium, welche insbesondere einsetzbar sind, um in mobilen Endgeräten den durch die Prozessorleistung verursachten Stromverbrauch su senken.
In naher Zukunft werden zunehmend mehr mobile Endgeräte über die Möglichkeit verfügen digital codierte Videodatenströme für diverse Multimediaapplikationen, wie z. B. Multi-Media-Messaging (MMS) , zu empfangen und dar- zustellen. Hierfür sind spezielle Decoder notwendig, die die Decodierung ' der, mit einem entsprechenden Standard, codierten Daten vornehmen. Typischerweise sind diese Decoder auf der Basis sog. Applikationsprozessoren implementiert, die als zusätzlicher Baustein einem "Mobil- funkbasisbandbaustein hinzugefügt werden. Applikationsprozessoren bestehen aus eingebetteten Prozessoren und entsprechenden Peripheriekomponenten zur Ausgabe der decodierten Daten. Die eigentliche Decoderfunktionalität wird in diesen Systemen- mit Hilfe spezielle Software realisiert, die auf dem Applikationsprozessor ausgeführt wird. Hierfür existieren z. B. Decoder für MPEG-4, H.263 und H.264. Aufgrund, der speziellen Charakteristik der entsprechend codierten ' Datenströme kann festgestellt werden, dass die benötigte .Rechenzeit für die Decodierung extremen Schwankungen unterliegt, d. h. die benötigte Rechenzeit kann von Bild zu Bild einer Sequenz z. B. um " den Faktor 2-3 variieren.
Figuren 2 und 3 geben exemplarisch den jeweils benötigten Prozessortakt pro Bild einer Sequenz wieder. Weiterhin kann festgestellt werden, dass die für die Decodierung benötigte Rechenzeit stark von der jeweils verwendeten Datenrate des Videodatenstroms abhängig ist. Aufgrund des linearen ..Zusammenhangs von Prozessortakt und erzielbarer Rechenleistung eines Prozessors, ist es möglich die Taktfrequenz an den jeweiligen Rechenleistungsbedarf anzupassen, wenn vor der Decodierung eine Ermittlung der erfor- derlichen Rechenleistung möglich ist. In der Regel wird der Applikationsprosessor somit nie mit der maximalen
Obergrenze der Taktfrequenz betrieben, stattdessen findet eine drastische Absenkung dieser statt . Nach Gleichung
(1) besteht für CMOS-Schaltungen ein linearer Zusammen- hang zwischen dem dynamischen Leistungsverbrauch Pdimamic und der verwendeten Taktfrequenz fk . Weiterhin kann durch eine Absenkung der Taktfrequenz eine Absenkung der Versorgungsspannung VDD vorgenommen werden, die quadratisch in Gleichung (1) und (2) eingeht und ebenfalls eine we- sentliche Reduzierung der Leistungsaufnahme herbeiführen.
M
"dynamlc = - 1 k ' ' J k ' " DD ' ^ '
/c=l
P = C -f - V1 DD (2 ) Die Ermittlung der benötigten Rechenzeit vor der eigentlichen Decodierung eines Bildes kann anhand einer speziellen Voruntersuchung (Komplexitätsvorhersage) des Datenstromes erfolgen. Hierbei werden entsprechende Per- formanceparameter abgeleitet, die die benötigte Rechenzeit vorhersagen lassen.
Zur Vorhersage der Decodierungskomplexitat für den Codierungsstandard H.263 wurde ein Verfahren vorgeschla- gen, das diese Vorhersage anhand der Datenmehge eines codierten Bildes vornimmt. Für die Standards MPEG-4 und H.264 ist dieses Verfahren jedoch ungeeignet, da aufgrund der zunehmenden Komplexität der Verfahren wesentlich stärkere Schwankungen in der Decodierkomplexität auf- treten können.
Die Aufgabe der Erfindung besteht somit darin, ein Verfahren und eine Anordnung zur Ermittlung der Decodierungskomplexitat von blockbasiert codierten Video- datenströmen sowie Verwendungen dieses Verfahrens und ein entsprechendes Computerprogramm-Erzeugnis und ein entsprechendes computerlesbares Speichermedium bereitzustellen, welche die , oben genannten Mängel beheben und insbesondere eine Herabsetzung des Stromverbrauchs von Applikationsprozessoren bei der Decodierung von blockbasiert codierten Videodaten erreichen.
Diese Aufgabe wird erfindungsgemäß durch die Merkmale in den Ansprüchen 1, 8, 12 sowie 14 bis 22 gelöst. Zweckmäßige Ausgestaltungen der Erfindung sind in den Unteransprüchen enthalten. Das Verfahren nach der Erfindung ist dadurch ausgezeichnet, daß in dem Videodatenstrom enthaltene Blocktypen und für wenigstens einen Teil der in dem Videodatenstrom enthaltenen Blocktypen die die Auftrittshäufigkeit eines Blocktyps beschreibende Anzahl der jedem Blocktyp zugeordneten Blöcke zumindest näherungsweise bestimmt werden und die Decodierungskomplexitat des Videodatenstroms durch Auswertung der Auftrittshäufigkeit der Blocktypen ermittelt wird..
Eine Anordnung zur Ermittlung der Decodierungskomplexitat von blockbasiert codierten Videodatenströmen ist vorteilhafterweise so eingerichtet, daß sie mindestens einen Prozessor und/oder Chip .umfaßt, der (die) derart ein- gerichtet ist (sind) , daß die Decodierungskomplexitat von blockbasiert codierten Videodatenströmen ermittelbar ist, wobei in dem Videodatenstrom enthaltene Blocktypen und für wenigstens einen Teil der in dem Videodatenstrom enthaltenen Blocktypen die die Auftrittshäufigkeit eines Blocktyps beschreibende Anzahl der jedem Blocktyp zugeordneten Blöcke zumindest näherungsweise bestimmt werden und die Decodierungskomplexitat des Videodatenstroms durch Auswertung der Auftrittshäufigkeit der Blocktypen ermittelt wird.
Ein Computerprogrammprodukt oder Computerprogramm zur Ermittlung der Decodierungskomplexitat von blockbasiert codierten Videodatenströmen ist dadurch ausgezeichnet, daß es einem Computer ermöglicht, nachdem es in den Speicher des Computers geladen worden ist, die Decodierungskomplexitat von blockbasiert codierten Videodatenströmen zu ermitteln, wobei in dem Videodatenstrom enthaltene Blocktypen und für wenigstens einen Teil der in dem Videodatenstrom enthaltenen, Blocktypen die die Auftrittshäufigkeit eines, Blocktyps beschreibende Anzahl der jedem Blocktyp zugeordneten Blöcke zumindest näherungsweise bestimmt werden und die Decodierungskomplexitat des - Videodatenstroms durch Auswertung der Auftrittshäufigkeit der Blocktypen ermittelt wird.
Um die Decodierungskomplexitat von blockbasiert codierten Videodatenströmen zu ermitteln, wird vorteilhafterweise ein computerlesbares Speichermedium eingesetzt, "auf dem ein Programm gespeichert ist, das es einem Computer ermöglicht, nachdem es in den Speicher des Computers geladen worden ist, ein Verfahren zur Ermittlung der Decodierungskomplexitat von folockbasiert codierten Videodatenströmen durchzuführen, wobei in dem Videodatenstrom enthaltene Blocktypen und für wenigstens einen Teil der in dem Videodatenstrom enthaltenen Blocktypen die die Auftrittshäufigkeit eines Blocktyps beschreibende Anzahl der jedem Blocktyp zugeordneten, Blöcke zumindest näherungsweise bestimmt werden und die Decodierungskomplexitat des Videodatenstroms durch Auswertung der Auftrittshäufigkeit der Blocktypen ermittelt wird.
Eine bevorzugte Ausführungsform des erfindungsgemäßen Verfahrens sieht vor, daß Blocktypen, Auftrittshäufigkeit von Blocktypen und/oder Decodierungskomplexitat jeweils für ein einzelnes Bild ermittelt werden. In einer anderen bevorzugten Ausführungsform des erfindungsgemäßen Verfahrens ist vorgesehen, daß jedes Bild des Videodatenstroms bei der Ermittlung von Blocktypen und der- Auftrittshäufigkeit von Blocktypen analysiert wird.
Ein weiterer Vorteil der Erfindung besteht darin, daß Blocktypen ein Performancekoeffizient CBiockyp zugeordnet wird, wobei der Performancekoeffizient CBioctyp die für die Verarbeitung des Blocktyps erforderliche Leistung des Prozessors beschreibt .
Außerdem erweist es sich als vorteilhaft, wenn die Decodierungskomplexitat unter Berücksichtigung der Per- formancekoeffizienten CBiocktyp ermittelt wird.
Eine andere bevorzugte Ausführungsform des erfindungs- gemäßen Verfahrens sieht vor, daß die Decodierungskomplexitat XFmme eines Bildes durch folgende Gleichung bestimmt wird:
N M} Frame = 2-1 2-t j ' j=\ ι=l wobei .
• C den Performancekoeffizienten für einen Block vom Typ j , Mj die Anzahl der im Bild Frame vorhandenen Blöcke vom Typ j und N die Anzahl der zu berücksichtigenden Blocktypen
angeben. Speziell erweist es sich als Vorteil, wenn für MPEG-4 codierte Datenströme die Performancekoeffizienten für
Inter-codierte Blöcke ( CMer ) ,
Inter4v-codierte Blöcke ( CInter4v ) und
Intra-codierte Blöcke ( CIntra ) berücksichtigt werden, und die Decodierungskomplexitat KFmme wie folgt bestimmt wird:
-^ Frame ~ 2-j Inter "*" 2-1 ^InterAv " " j X I.ntra k=l j=\ 7=1
Ein besonderer Vorteil des erfindungsgemäßen Verfahrens zur Ermittlung der Decodierungskomplexitat von blockbasiert codierten Videodatenströmen liegt in der Verwendbarkeit dieses Verfahrens für eine dynamische Anpassung der Prozessortaktfrequens in Videodecodern, indem die Taktfrequenz des Prozessors in Abhängigkeit der Decodierungskomplexitat gesteuert wird. Eine, derartige Anpassung der Prozessortaktfrequenz bringt insbesondere den Vorteil einer Absenkung der Verlustleistung des Prozessors mit sich.
Bei der Verwendung des erfindungsgemäßen Verfahrens zur Ermittlung der Decodierungskomplexitat von blockbasiert codierten Videodatenströmen für eine dynamische Anpassung der Prozessortaktfrequenz in Videodecodern ist in einer bevorzugten Ausführungsform vorgesehen, daß die Verarbeitungsleistung des Prozessors für in blockbasierten codierten Videodatenströmen auftretende Blocktypen ermittelt und durch einen Performancekoeffizienten CBiocktyp charakterisiert wird. Durch dieses Vorgehen wird die Anpassung der Taktfrequenz für den jeweils eingesetzten Prozessor optimiert . Außerdem erweist es sich für die Anpassung der Taktfrequenz als vorteilhaft, wenn nach der Ermittlung der Decodierungskomplexitat KFrame des aktuellen Bildes die Decodierung des vorangehenden Bildes erfolgt, wobei die in Pufferspeichern gehaltenen, decodierten Zwischenergebnisse des vorangehenden ' Bildes vollständig decodiert werden. Bei diesem Vorgehen wird ein zweimaliges Parsen der Bitstromdaten vermieden.
Bei der Verwendung des erfindungsgemäßen Verfahrens zur Ermittlung der Decodierungskomplexitat von blockbasiert codierten Videodatenströmen für eine dynamische Anpassung der Prozessortaktfrequenz in Videodecodern erweist es sich als Vorteil, wenn die an die Decodierungskomplexit t KFrame angepasste Taktfrequenz fCθre des Prozessors durch folgende Gleichung bestimmt wird:
Figure imgf000010_0001
wobei
K„ die maximale Decodierungskomplexitat bei maximalem Prozessortakt max , f die maximale Prozessortaktfrequenz und S PLL den maximalen Frequenzteiler ■ der Prozessor-
PLL angeben. Damit wird eine . Taktbeeinflussung sichergestellt, welche an die Beeinflussungsmoglichkeiten der verwendeten Prozessorplattform angepasst ist. Als weiterer Vorteil des erfindungsgemäßen Verfahrens zur Ermittlung der Decodierungskomplexitat von blockbasiert codierten Videodatenströmeh ist seine Verwendung für eine Steuerung der Decodierung von Videodatenströmen hervor- zuheben. Eine solche Verwendung ist dadurch ausgezeichnet, daß die Decodierung von Videodaten abgebrochen wird, sobald die Decodierungskomplexitat der Videodaten einen vorgegebenen Wert überschreitet, oder die Decodierung von Videodaten unterbrochen oder mit komplexitätsreduzierten Verfahren wie Frequency Domain Sub-Sampling durchgeführt wird, solange die Decodierungskomplexitat der Videodaten einen vorgegebenen Wert überschreitet. Insbesondere ist es hierbei von Vorteil, wenn der vorgegebene Wert die maximale Decodierungskomplexitat Kmali des Prozessors angibt.
Für die erwähnten, möglichen Verwendungen des erfindungsgemäßen Verfahrens sind - wie für das Verfahren selbst - auch entsprechende Anordnungen, Computerprogrammprodukte, Computerprogramme sowie computerlesbare Speichermedien einsetzbar.
Dabei ist eine Anordnung, mit welcher eine dynamische Anpassung der Prozessortaktfrequenz in Videodecodern unter Verwendung eines Verfahrens nach den Ansprüchen 1 bis 7 realisierbar ist, vorteilhafterweise so eingerichtet, daß sie mindestens einen Prozessor und/oder Chip umfaßt, der (die) derart eingerichtet ist (sind) , daß ein Verfahren zur Ermittlung der Decodierungskomplexitat von blockbasiert codierten Videodatenströmen für eine dynamische Anpassung der Prozessortaktfrequenz in Videodecodern an- wendbar ist, wobei die Taktfrequenz des Prozessors in Abhängigkeit der Decodierungskomplexitat gesteuert wird. Ganz analog ist eine Anordnung zur Steuerung der Decodierung von Videodatenströmen unter Verwendung eines Verfahrens nach den Ansprüchen 1 bis 7 dadurch ausgezeichnet, daß sie mindestens einen Prozessor und/oder Chip umfaßt, der (die) derart eingerichtet ist (sind) , daß ein Verfahren zur Ermittlung der Decodierungskomplexitat von blockbasiert codierten Videodatenströmen für eine Steuerung der Decodierung von Videodatenströmen anwendbar ist, wobei die Decodierung von Videodaten abgebrochen wird, sobald die Decodierungskomplexitat der Videodaten einen vorgegebenen Wert überschreitet, oder die Decodierung von Videodaten unterbrochen oder mit komplexitätsreduzierten Verfahren wie Frequency Domain Sub- Sampling durchgeführt wird, solange die Decodierungs- komplexität der Videodaten einen vorgegebenen Wert überschreitet .
Es erweist sich darüber hinaus als vorteilhaft, zur Ausführung einer dynamischen Anpassung der Prozessortakt- frequenz in Videodecodern ein Computerprogrammprodukt oder ein Computerprogramm einzusetzen, das es einem Computer ermöglicht, nachdem es in den Speicher des Computers geladen worden ist, ein Verfahren zur Ermittlung der Decodierungskomplexitat von blockbasiert codier- ten Videodatenströmen für eine dynamische Anpassung der Prozessortaktfrequenz in Videodecodern anzuwenden, wobei die Taktfrequenz des Prozessors in Abhängigkeit der Decodierungskomplexitat gesteuert wird. Zur Steuerung der Decodierung von Videodatenströmen kann ebenso ein Computerprogrammprodukt oder ein Computerprogramm eingesetzt werden, das es einem Computer ermöglicht, nachdem es in den Speicher des Computers geladen worden ist, ein Verfahren zur Ermittlung ,der Decodierungskomplexitat von blockbasiert codierten Videodatenströmen für eine Steuerung der Decodierung von Videodatenströmen anzuwenden, wobei die Decodierung von Videodaten abgebrochen wird, sobald die Decodierungs- komplexität der Videodaten einen vorgegebenen Wert über- schreitet, oder die Decodierung von Videodaten unterbrochen oder mit komplexitätsreduzierten Verfahren wie Frequency Domain Sub-Sampling durchgeführt wird, solange die Decodierungskomplexitat der Videodaten einen vor- gegebenen Wert überschreitet.
Beispielsweise könne diese Computerprogrammprodukte bzw. Computerprogramme (gegen Gebühr oder unentgeltlich, frei zugänglich oder passwortgeschützt) downloadbar in einem Daten- oder Kommunikationsnetz bereitgestellt werden. Die so bereitgestellten Computerprogrammprodukte bzw. Computerprogramme können dann durch ein Verfahren nutzbar gemacht werden, bei dem ein Computerprogrammprodukt bzw. Computerprogramm nach einem der Ansprüche 17 bis 19 aus einem Netz zur Datenübertragung wie beispielsweise aus dem Internet auf eine an das Netz angeschlossene Datenverarbeitungseinrichtung heruntergeladen wird.
Alternativ kann zur dynamischen Anpassung der Pro- zessortaktfrequenz in Videodecodern ein Computerprogramm eingesetzt werden, auf dem ein Programm gespeichert ist, das es einem Computer ermöglicht, nachdem es in den Speicher des Computers geladen worden ist, ein Verfahren zur Ermittlung der Decodierungskomplexitat von blockbasiert codierten Videodatenströmen für eine dynamische Anpassung der Prozessortaktfrequenz in Videodecodern anzuwenden, wobei die_ Taktfrequenz des Prozessors in Abhängigkeit der ' Decodierungskomplexitat gesteuert wird.
Ebenso erweist sich als vorteilhaft, zur Steuerung der Decodierung von Videodatenströmen ein computerlesbares Speichermedium einzusetzen, auf dem ein Programm, gespeichert ist, das es einem Computer ermöglicht, nachdem es in den Speicher des Computers geladen worden ist, ein Verfahren zur Ermittlung der Decodierungskomplexitat von blockbasiert codierten Videodatenströmen für eine Steuerung der Decodierung von Videodatenströmen anzuwenden, wobei die Decodierung von Videodaten abgebrochen wird, sobald die Decodierungskomplexitat der Videodaten einen vorgegebenen Wert überschreitet, oder die Decodierung von Videodaten unterbrochen oder mit kom- plexitätsreduzierten Verfahren wie Frequency Domain Sub- Sampling durchgeführt wird, solange die Decodierungskomplexitat der Videodaten einen vorgegebenen Wert überschreitet .
Durch die Erfindung wird die Herabsenkung des Stromverbrauchs von Applikationsprozessoren erreicht bei der Decodierung von blockbasiert codierten Videodaten, indem durch Vorhersage der Decodierungskomplexitat . die Taktfrequenz des Prozessors an den benötigten Rechenlei- stungsbedarf angepasst wird. Proportional zur Absenkung der Taktfrequenz kann somit eine Absenkung der dynamischen Leistungsaufnahme herbeigeführt werden. Durch die Absenkung der Taktfrequenz ist wiederum eine Absenkung der Versorgungsspannung des Pro- zessors möglich. '
Die Erfindung wird nachfolgend unter Bezugnahme auf die Figuren der Zeichnungen an mehreren Ausführungsbeispielen näher erläutert. Es zeigen:
Fig. 1 Auftrittshäufigkeit unterschiedlicher Block- typen in einem MPEG-4 Simple-Profile Datenstrom, Fig. 2 benötigter Prozessortakt pro Bild für MPEG-4- codierte Videosequenzen bei 32kBit/s, QCIF, 12,5 Frames/sec, Fig. 3 benötigter Prozessortakt pro Bild für H.264- codierte Videosequenzen bei 64kBit/s, QCIF, 7 Frames/sec, Fig. 4 Taktfrequenzreduktion bei verschiedenen Taktteilverhältnissen für eine Bildsequenz mit starker Bildänderung,
Fig. 5 Taktfrequenzreduktion bei verschiedenen Taktteilverhältnissen für eine Bildsequenz mit geringer Bildänderung Fig. 6 Veranschaulichung der prozentualen durch- schnittlich erzielten Taktreduktion für zwei
H.264-codierte Datenströme.
Im Folgenden soll die Erfindung beispielhaft an einer speziellen Ausführungsform der Erfindung näher erläutert werden. Ein besonders wichtiger Bereich, in dem die Vorhersage der Decodierungskomplexitat Verwendung findet, sind mobile Endgeräte, die über die Möglichkeit verfügen, digital codierte Videodatenströme für diverse Multimedia- applikationen, wie z. B. Multi-Media-Messaging (MMS), zu empfangen und darzustellen.Das erfindungsgemäße Verfahren gestattet es, hierfür die notwendigen Parameter für die Bestimmung der erforderlichen Prozessorleistung aus ' dem Datenstrom abzuleiten. Hierzu werden die Videodaten vor der eigentlichen Decodierung einer Analyse unterzogen, indem die unterschiedlichen Blocktypen des entsprechenden Bildes untersucht und gezählt werden.- Da die verschiedenen Blocktypen unterschiedliche Prozessorleistungen für die Decodierung erfordern, kann durch Zählen der Auftrittshäufigkeit der jeweiligen Blocktypen der Leistungsbedarf in Bezug auf Rechenleistung des verwendeten Prozessors ermittelt werden. Das Diagramm in Figur 1 stellt für eine typische MPEG-4-codierte Bildsequenz die Auftrittshäufigkeit der verwendeten Block- typen dar. Es ist deutlich zu erkennen, dass, je nach Bildinhalt, die Häufigkeit der verschiedenen Blocktypen stark voneinander abweichen kann.
Nach der Ermittlung der notwendigen Prozessorleistung kann der Prozessortakt entsprechend angepasst werden. Um eine möglichst effiziente Verarbeitung zu gewährleisten, erfolgt die Verarbeitung beider Schritte in zwei Pipelinezyklen, d. h. nach der' Ermittlung der Prozessorleistung für das aktuelle Bild beginnt die Decodierung des vorhergehend untersuchten Bildes, um ein zweifaches Parsen der Bitstromdaten zu vermeiden. Hierfür werden die bei der Analyse der Bitstromdaten zwangsläufig decodier^ ten Zwischenergebnisse in entsprechenden Pufferspeichern gehalten, die somit in dem zweiten Verarbeitungszyklus der Pipelinestufe entgültig decodiert werden können. Bei genügend hoher Leistungsfähigkeit oder Speicherplatzmangel kann die Verarbeitung auch in einem Schritt er- folgen, jedoch reduziert sich dementsprechend die zu erwartende Taktzyklenreduktion.
Um eine genaue Anpassung der ermittelten Performancekriterien zu erreichen und damit die Taktfrequenz des Prozessors möglichst niedrig zu halten, ist eine genaue Untersuchung der Leistungsfähigkeit des Prozessors in Bezug auf die Verarbeitungsleistung unterschiedlicher Blocktypen durchzuführen. Dabei werden entsprechende Performancekoeffizienten CBlocktype für die unterschiedlichen
Blocktypen abgeleitet, die aufsummiert über die Αuf- trittshäufigkeit innerhalb eines Bildes die benötigte Decodierungskomplexitat KFrame eines Bildes .ergeben. In Gleichung (3) ist exemplarisch die Decodierungskomplexitat für MPEG-4 codierte Datenströme angegeben. Hierbei werden im wesentlichen drei verschiedene Blocktypen unterschieden, die stark in ihrem Performancebedarf voneinander abweichen. Die Blocktypen Stuf fing und not_coded gehen indirekt in die Ermittlung der Komplexität ein, da sie zwar in die Gesamtzahl der zu codierenden Makroblöcke mit einbezogen werden, jedoch keine .Rechenleistung erfor- dern .
Minier ^ lnleriv M m
"^ Frame = 2-1 ^Inter + 2-1 ^Interiv + 2-1 'Intra ( 3 ) k=\ j=\ 1=1
mit C/te;. : Performancekoeffizient für Inter-codierte
Blöcke
CInter4v : Performancekoeffizient für Jnter4v- codierte
Blöcke
C ι„tra '• Perf ormancekoef f izient für Jntra-.codierte
Blöcke
Die Ermittlung der Decodierungskomplexitat für H.264- Datenströme erfolgt in gleicher Weise, jedoch müssen hier eine größere Anzahl von unterschiedlichen Blocktypen berücksichtigt werden. Das Verfahren- ist auf jedes blockbasierte Codierungsverfahren anwendbar, bei dem verschiedenartige Blocktypen mit unterschiedlicher Deco- dierungskomplexität verwendet werden.
Zur Erzeugung einer gewünschten Taktfrequenz in Prozessoren wird eine als „Phase Locked Loop" (PLL) bezeichnete Schaltung verwendet. Dieser elektronische Regelkreis, generiert aus einem Eingangstakt mit einer festen Frequenz (sog. Referenz-Takt) eine andere Frequenz. Die dabei erreichbaren Frequenzen werden durch den maximalen Frequenzteiler der PLL eingeschränkt. Je nach verwendeter Prozessorplattform und den entsprechenden Möglichkeiten der Taktbeeinflussung muss somit eine entsprechende Quantisierung der ermittelten Decodierungskomplexitat vorgenommen werden, um die resultierende Taktfrequenz zu ermitteln. Die eigentliche Taktfrequenz des Prozessor ergibt sich somit nach Gleichung (4) .
fcore (4 )
Figure imgf000018_0001
mit κ„ maximale " Decodierungskomplexitat bei maximalem Prozessortakt fmaκ
Jxa maximale Prozessortaktfrequenz
'PLL maximaler Frequenzteiler der Prozessor-PLL Auf der Basis des beispielhaft beschriebenen Verfahrens wurde ein Softwaremodell entwickelt, mit dem das Verfahren auf einem Prozessorsimulator untersucht wurde. Dabei wurden verschiedene Schrittweiten zur Taktänderung untersucht . Die Diagramme in den Figuren 4 und 5 geben die Ergebnisse der Untersuchung wieder. Neben den drei untersuchten PLL-Teilverhältnissen geben die Diagramme auch den jeweils benötigten Worst-Case-Takt und den eigentlichen Rechenleistungsbedarf der jeweiligen Sequenz wieder.
Für die Simulation wurde der Prozessorsimulator ARMULATOR des Prozessorherstellers ARM für den Prozessor ARM922T eingesetzt. Das Diagramm in Figur 6 stellt die durchschnittlich erzielte Taktreduktion für zwei H.264- codierte Datenströme dar. Es ist deutlich zu erkennen, dass die Taktreduktion besonders hoch bei Sequenzen mit geringerer Bildänderung ist und hierbei eine Reduktion von bis zu 74% bei einem Taktteilerverhältnis von 12 zu erzielen ist. Die Sequenz mit stärkerer Bildänderung ergibt jedoch immer noch eine durchschnittliche Reduktion von ca. 33%. Wird der Zusammenhang von Taktfrequenz und Verlustleistung einer CMOS-Schaltung nach Gleichung (1) und (2) für den verwendeten Prozessor ARM922T zugrundegelegt, so' ist die Taktfrequenzreduktion gleichzusetzen mit der er- zielten Verlustleistungsreduktion. Hierbei sind nicht die statischen Verlustleistungen betrachtet, die ebenfalls bei einer Gesamtbetrachtung der Leistungsaufnahme berücksichtigt werden müssen.
Die Vorhersage der Decodierungskomplexitat kann auch für weitere Anwendungen eingesetzt werden. Z. B. kann die Decodierung von Datenströmen verhindert werden, die eine höhere Decodierungskomplexitat erfordern als das jeweilige System ermöglicht. Durch geeignete Maßnahmen kann dabei ein Verwerfen der entsprechenden Frames erfolgen bzw. entsprechende komplexitätssenkende Verfahren eingesetzt werden, wie z. B. Frequency Domain Sub-Sampling.
Die Erfindung beschränkt sich in ihrer Ausführungsform nicht auf die vorstehend angegebenen bevorzugten Ausführungsbeispiele. Vielmehr ist eine Anzahl von Varianten denkbar, die von der erfindungsgemäßen Anordnung und dem erfindungsgemäßen Verfahren auch bei grundsätzlich anders gearteten Ausführungen Gebrauch machen.

Claims

Patentansprüche
1. Verfahren zur Ermittlung der Decodierungskomplexitat von blockbasiert codierten Videodatenstrδmen, dadurch gekennzeichnet, dass in dem Videodatenstrom enthaltene Blocktypen und für wenigstens einen Teil der in dem Videodatenstrom enthaltenen Blocktypen die die Auftrittshäufigkeit eines Blocktyps beschreibende Anzahl der jedem Blocktyp zugeordneten Blöcke zumindest näherungs- weise bestimmt werden und die Decodierungskomplexitat des Videodatenstroms durch Auswertung der Auftrittshaufigkeit der Blocktypen ermittelt wird.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass
Blocktypen, Auftrittshäufigkeit von Blocktypen und/ oder Decodierungskomplexitat jeweils für ein einzelnes Bild ermittelt werden.
3. Verfahren nach einem der Ansprüche 1 oder 2 , dadurch gekennzeichnet, dass jedes Bild des Videodatenstroms bei der Ermittlung von Blocktypen und der Auftrittshäufigkeit von Blocktypen analysiert wird.
4. Verfahren nach einem der voranstehenden Ansprüche, dadurch gekennzeichnet, dass
Blocktypen ein Performancekoeffizient CBιocktyp zugeordnet wird, wobei der Performancekoeffizient CBιocktyp die für die Verarbeitung- des Blocktyps erforderliche Leistung des Prozessors beschreibt.
5. Verfahren nach einem der voranstehenden Ansprüche, dadurch gekennzeichnet, dass die Decodierungskomplexitat unter Berücksichtigung der Performancekoeffizienten CBιocktyp ermittelt wird.
6. Verfahren nach einem der voranstehenden Ansprüche, dadurch gekennzeichnet, dass die Decodierungskomplexitat KFrame eines Bildes durch folgende Gleichung bestimmt wird:
N Mj
-^ Frame ~ 2-1 2-1 j ' j=\ Z=l wobei
Cj den Performancekoeffizienten für einen
Block vom Typ j , Mj die- Anzahl der im Bild Frame vorhandenen
Blöcke vom Typ j und N die Anzahl der zu berücksichtigenden
Blocktypen
angeben.
7. Verfahren .nach einem der voranstehenden Ansprüche, dadurch gekennzeichnet, dass für MPEG-4 codierte Datenstrδme die Performance- koeffizienten für
Inter-codierte Blöcke ( CInter ) ,
Inter4v-codierte Blöcke ( CInterAv ) und
Intra-codierte Blöcke ( CIntra )
berücksichtigt werden, und die Decodierungskomplexitat KFmme wie folgt bestimmt wird:
Ml„ιer ^/nto-4v M Intra
K"- Frame - Y /_,c ^ Inier + τ Y_,c *" InterAv + τV_,c ^ Intra 4=1 j=\ 1=1
8. Verwendung eines Verf hrens zur Ermittlung der Decodierungskomplexitat von blockbasiert codierten
Videodatenströmen gemäß einem der Ansprüche 1 bis 7 für eine dynamische Anpassung der Prozessortaktfrequenz in Videodecodern, dadurch gekennzeichnet, dass die Taktfrequenz des Prozessors in Abhängigkeit der Decodierungskomplexit t gesteuert wird.
9. Verwendung nach Anspruch 8 , dadurch gekennzeichnet, dass die Verarbeitungsleistüng des Prozessors für in blockbasierten codierten Videodatenströmen auftretende Blocktypen ermittelt und durch einen Performancekoeffizienten CBioctyp charakterisiert wird.
10. Verwendung nach einem der Ansprüche 8 oder 9, dadurch gekennzeichnet, dass nach der Ermittlung der Decodierungskomplexitat KFrame des aktuellen Bildes die Decodierung des voran- gehenden Bildes erfolgt, wobei die in Pufferspeichern gehaltenen, decodierten Zwischenergebnisse des vorangehenden Bildes vollständig decodiert werden.
11. Verwendung nach einem der Ansprüche 8 bis 10, dadurch gekennzeichnet, dass die an die Decodierungskomplexitat KPrame angepasste Taktfrequenz fcore des Prozessors durch folgende Gleichung bestimmt wird:
Figure imgf000024_0001
wobei
Kmax die maximale Decodierungskomplexitat bei maximalem Prozessortakt fmm , fmm die maximale Prozessortaktfrequenz und
SPLL den maximalen Frequenzteiler der
Prozessor-PLL
angeben.
12. Verwendung eines Verfahrens zur Ermittlung der
Decodierungskomplexitat von blockbasiert codierten
Videodatenströmen gemäß einem der Ansprüche 1 bis 7 für eine Steuerung der Decodierung von Videodatenströmen, dadurch gekennzeichnet, dass die Decodierung von Videodaten abgebrochen wird, sobald die Decodierungskomplexitat der Videodaten einen vorgegebenen Wert überschreitet, oder. die Decodierung von Videodaten unterbrochen oder mit komplexitätsreduzierten Verfahren wie Frequency Domain Sub-Sampling durchgeführt wird, solange die Decodierungskomplexitat der Videodaten einen vorgegebenen Wert überschreitet .
13. Verwendung nach Anspruch 12, dadurch gekennzeichnet, dass der vorgegebene Wert die maximale Decodierungskomplexitat Kmm des Prozessors angibt .
14. Anordnung mit mindestens einem Prozessor und/oder Chip, der (die) derart eingerichtet ist (sind) , daß ein Verfahren zur Ermittlung der Decodierungskomplexitat von blockbasiert codierten Videodatenströmen durchführbar ist, wobei in dem Videodatenstrom enthaltene Blocktypen und für wenigstens einen Teil der in dem Videodatenstrom enthaltenen Blocktypen die die Auftrittshaufigkeit eines Blocktyps beschreibende Anzahl der jedem Blocktyp zugeordneten Blöcke zumindest näherungsweise bestimmt werden und die Decodierungskomplexitat des Videodatenstroms durch Auswertung der Auftrittshäufigkeit der Blocktypen ermittelt wird.
15. Anordnung mit mindestens einem Prozessor und/oder Chip, der (die) derart eingerichtet ist (sind) , daß ein Verfahren zur Ermittlung der Decodierungskomplexitat von blockbasiert codierten Videodaten- strömen für eine dynamische Anpassung der Prozessortaktfrequenz in Videodecodern anwendbar ist, wobei die Taktfrequenz des Prozessors in Abhängigkeit der Decodierungskomplexitat gesteuert wird.
16. Anordnung mit mindestens einem Prozessor und/oder Chip, der (die) derart eingerichtet ist (sind) , daß ein Verfahren zur Ermittlung der Decodierungskomplexitat von blockbasiert codierten Videodatenströmen für eine Steuerung der Decodierung von Videodatenstrδmen anwendbar ist, wobei die Decodierung von Videodaten abgebrochen wird, sobald die Decodierungskomplexitat der Videodaten einen vorgegebenen Wert überschreitet, oder die Decodierung von Videodaten unterbrochen oder mit komplexitätsreduzierten Verfahren wie Frequency Domain Sub-Sampling durchgeführt _wird, solange die Decodierungskomplexitat der Videodaten einen vor-- gegebenen Wert überschreitet.
17. Computerprogrammprodukt sowie Computerprogramm, das es einem Computer ermöglicht, nachdem es in den Speicher des Computers geladen worden ■ ist, ein Verfahren zur Ermittlung der Decodierungskomplexitat von blockbasiert codierten Videodatenströmen durch- zuführen, wobei in dem Videodatenstrom enthaltene Blocktypen und für wenigstens einen Teil der in dem Videodatenstrom enthaltenen Blocktypen die die Auftrittshaufigkeit eines Blocktyps beschreibende Anzahl der jedem Blocktyp. zugeordneten Blöcke zumindest näherungsweise bestimmt werden und die Decodierungskomplexitat des Videodatenstroms durch Auswertung der Auftrittshäufigkeit der Blocktypen ermittelt wird.
18. Computerprogrammprodukt sowie Computerprogramm, das es einem Computer ermöglicht, nachdem es in den Speicher des Computers geladen worden ist, ein Verfahren zur Ermittlung der Decodierungskomplexitat von blockbasiert codierten Videodatenströmen für eine dynamische Anpassung der Prozessortaktfrequenz in Videodecodern anzuwenden, wobei die Taktfrequenz des Prozessors in Abhängigkeit der Decodierungskomplexitat gesteuert wird.
19. Computerprogrammprodukt" sowie Computerprogramm, das es einem Computer ermöglicht, nachdem es in den Speicher des Computers geladen worden ist, ein Verfahren zur Ermittlung der Decodierungskomplexitat von blockbasiert codierten Videodatenströmen für eine Steuerung der Decodierung von Videodatenströmen anzuwenden, wobei die Decodierung von Videodaten abgebrochen wird, sobald die Decodierungskomplexitat der Videodaten einen vorgegebenen Wert überschreitet, oder die Decodierung von Videodaten unterbrochen oder mit komplexitätsreduzierten Verfahren wie Frequency Domain Sub-Sampling durchgeführt wird, solange die Decodierungskomplexitat der Videodaten einen vorgegebenen Wert überschreitet . ,
20. Computerlesbares Speichermedium, auf dem ein Programm gespeichert istj das es einem Computer ermöglicht, nachdem es in den Speicher des Computers geladen worden ist, ein Verfahren zur Ermittlung der Decodierungskomplexitat von blockbasiert codierten Videodatenströmen durchzuführen, wobei in dem Videodatenstrom enthaltene Blocktypen und für wenigstens einen Teil der in dem Videodatenstrom enthaltenen Blocktypen die die Auftrittshäufigkeit eines Blocktyps beschreibende Anzahl der jedem Blocktyp zugeordneten Blöcke zumindest näherungsweise bestimmt werden und die Decodierungskomplexit t des Videodatenstroms durch Auswertung der Auftrittshaufigkeit der Blocktypen ermittelt wird.
21. Computerlesbares Speichermedium, auf dem ein Programm gespeichert ist, das es einem Computer ermöglicht, nachdem es in den Speicher des Computers geladen worden ist, ein Verfahren zur Ermittlung der Decodierungskomplexitat von blockbasiert codierten Videodatenströmen für eine dynamische Anpassung der Prozessortaktfrequenz in Videodecodern anzuwenden, wobei die Taktfrequenz des Prozessors in Abhängigkeit der Decodierungskomplexitat gesteuert wird .
22. Computerlesbares Speichermedium, auf dem ein Programm gespeichert ist, das es einem Computer ermöglicht, nachdem es in den Speicher des Computers geladen worden ist, ein Verfahren zur Ermittlung der Decodierungskomplexitat von blockbasiert codierten Videodatenströmen für eine Steuerung der Decodierung von Videodatenströmen anzuwenden, wobei die Decodierung von Videodaten abgebrochen wird, sobald die Decodierungskomplexitat der Videodaten einen vorgegebenen Wert überschreitet, oder die Decodierung von Videodaten unterbrochen oder mit komplexitätsreduzierten Verfahren wie Frequency Domain Sub-Sampling durchgeführt wird, solange die Decodierungskomplexitat der Videodaten einen vor- gegebenen Wert überschreitet .
23. Verfahren, bei dem ein Computerprogrammprodukt bzw. Computerprogramm nach einem der Ansprüche 17 bis 19 aus einem Netz zur Datenübertragung wie beispiels- weise aus dem Internet auf eine an das Netz angeschlossene Datenverarbeitungseinrichtung heruntergeladen wird.
PCT/EP2004/001941 2003-03-17 2004-02-26 Verfahren und anordnung zur ermittlung der decodierungskomplexität von blockbasiert codierten videodatenströmen WO2004084558A2 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
EP04714782A EP1606951A2 (de) 2003-03-17 2004-02-26 Verfahren und anordnung zur ermittlung der decodierungskomplexität von blockbasiert codierten videodatenströmen

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE2003113149 DE10313149B4 (de) 2003-03-17 2003-03-17 Verfahren und Anordnung zur Ermittlung der Decodierungskomplexität von blockbasiert codierten Videodatenströmen sowie Verwendungen dieses Verfahrens und ein entsprechendes Computerprogramm und ein entsprechendes computerlesbares Speichermedium
DE10313149.3 2003-03-17

Publications (2)

Publication Number Publication Date
WO2004084558A2 true WO2004084558A2 (de) 2004-09-30
WO2004084558A3 WO2004084558A3 (de) 2005-01-06

Family

ID=32946112

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2004/001941 WO2004084558A2 (de) 2003-03-17 2004-02-26 Verfahren und anordnung zur ermittlung der decodierungskomplexität von blockbasiert codierten videodatenströmen

Country Status (3)

Country Link
EP (1) EP1606951A2 (de)
DE (1) DE10313149B4 (de)
WO (1) WO2004084558A2 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1952268A1 (de) * 2005-11-04 2008-08-06 The National University of Singapore Verfahren und system zum bestimmen vorhergesagter anzahlen von für jeweilige segmente einer media-datei für wiedergabe der media-datei erforderlichen prozessorzyklen

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020154227A1 (en) * 2001-04-18 2002-10-24 Koninklijke Philips Electronics N.V. Dynamic complexity prediction and regulation of MPEG2 decoding in a media processor

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5479211A (en) * 1992-04-30 1995-12-26 Olympus Optical Co., Ltd. Image-signal decoding apparatus
US5719961A (en) * 1994-07-22 1998-02-17 Apple Computer, Inc. Adaptive technique for encoder and decoder signal transformation
FR2745650B1 (fr) * 1996-02-29 1998-05-22 Sgs Thomson Microelectronics Adressage d'une zone memoire d'un decodeur mpeg

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020154227A1 (en) * 2001-04-18 2002-10-24 Koninklijke Philips Electronics N.V. Dynamic complexity prediction and regulation of MPEG2 decoding in a media processor

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
MATTAVELLI M ET AL: "Implementing Real-time Video Decoding On Multimedia Processors By Complexity Prediction Techniques" 1998 INTERNATIONAL CONFERENCE ON CONSUMER ELECTRONICS, LOS ANGELES, CA, USA, 2. Juni 1998 (1998-06-02), - 4. Juni 1998 (1998-06-04) Seiten 264-265, XP010283078 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1952268A1 (de) * 2005-11-04 2008-08-06 The National University of Singapore Verfahren und system zum bestimmen vorhergesagter anzahlen von für jeweilige segmente einer media-datei für wiedergabe der media-datei erforderlichen prozessorzyklen
EP1952268A4 (de) * 2005-11-04 2012-01-04 Univ Singapore Verfahren und system zum bestimmen vorhergesagter anzahlen von für jeweilige segmente einer media-datei für wiedergabe der media-datei erforderlichen prozessorzyklen
US8503525B2 (en) 2005-11-04 2013-08-06 National University Of Singapore Method and a system for determining predicted numbers of processor cycles required for respective segments of a media file for playback of the media file

Also Published As

Publication number Publication date
DE10313149B4 (de) 2005-09-29
WO2004084558A3 (de) 2005-01-06
DE10313149A1 (de) 2004-10-07
EP1606951A2 (de) 2005-12-21

Similar Documents

Publication Publication Date Title
DE69434271T2 (de) Adaptives variables Längenkodierungsverfahren für Videodaten
DE69915277T2 (de) Verfahren und vorrichtung zur reduzierung von breathing-artefakten in komprimierten videodaten
DE69913990T2 (de) System zum editieren komprimierter bildsequenzen
DE19946267C2 (de) Digitales Transcodiersystem
DE69826155T2 (de) Verfahren und Vorrichtung zur digitalen Videosignalfilterung und -kodierung
DE60023576T2 (de) Verfahren und Vorrichtung zur Bewegtbilddatentranscodierung
DE69637335T2 (de) Bildsignalkodierungsmethode und -vorrichtung
DE10253380B4 (de) Verfahren und Einrichtung zum Kodieren sich bewegender Bilder mit fester Rechenkomplexität
DE19638632B4 (de) Verfahren und Vorrichtung zur Bewegtbildkodierung
DE69118621T2 (de) Bildkodierungsgerät
DE20222026U1 (de) Vorrichtung mit Decodierer zur verbesserten Referenzcodierung
DE69838729T2 (de) Verfahren und vorrichtung zur verringerung des benötigten speicherplatzes zur speicherung von referenzbildern in einem videodekoder
DE69122595T2 (de) Aufzeichnungs- und Abspielgerät
DE10048735A1 (de) Verfahren zur Codierung und Decodierung von Bildsequenzen sowie Einrichtungen hierzu
EP1815690A1 (de) Verfahren zur transcodierung sowie transcodiervorrichtung
WO1999022518A1 (de) Verfahren und vorrichtung zur verarbeitung eines digitalisierten bildes
EP1472888B1 (de) Kontextsensitive kodierung und dekodierung eines videodatenstroms
DE69017838T2 (de) Vorrichtung zum Kodieren von Bildern.
DE102006003168B4 (de) Kodiervorrichtung, Verfahren zum Anpassen einer Dekodierberechnung und Computerprogrammprodukt hierfür
WO2004084558A2 (de) Verfahren und anordnung zur ermittlung der decodierungskomplexität von blockbasiert codierten videodatenströmen
DE10218541A1 (de) Verfahren zur Videocodierung und Computerprogrammprodukt
EP0346635A2 (de) Bildcodierverfahren und Einrichtung
DE19524872C1 (de) Verfahren und Anordnung zur Codierung und Decodierung von einem Videodatenstrom für alle Bildelemente des Videodatenstroms
EP0241745B1 (de) Verfahren zur Datenreduktion digitaler Bildsignale durch Vektorquantisierung von durch orthonormale Transformation mittels einer symmetrischen fastzyklischen Hadamard-Matrix gewonnenen Koeffizienten
DE102004029086B4 (de) Verfahren zum Entblocken und Umcodieren eines Medienstroms

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): BW GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2004714782

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 2004714782

Country of ref document: EP

WWW Wipo information: withdrawn in national office

Ref document number: 2004714782

Country of ref document: EP