EP0978199A2 - Mpeg-4 systems compliant architecture - Google Patents

Mpeg-4 systems compliant architecture

Info

Publication number
EP0978199A2
EP0978199A2 EP99900029A EP99900029A EP0978199A2 EP 0978199 A2 EP0978199 A2 EP 0978199A2 EP 99900029 A EP99900029 A EP 99900029A EP 99900029 A EP99900029 A EP 99900029A EP 0978199 A2 EP0978199 A2 EP 0978199A2
Authority
EP
European Patent Office
Prior art keywords
mpeg
operating system
architecture
buffer
packet data
Prior art date
Legal status (The legal status 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 status listed.)
Withdrawn
Application number
EP99900029A
Other languages
German (de)
French (fr)
Inventor
Philippe Gentric
Laurent Herrmann
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Koninklijke Philips NV
Original Assignee
Koninklijke Philips Electronics NV
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 Koninklijke Philips Electronics NV filed Critical Koninklijke Philips Electronics NV
Priority to EP99900029A priority Critical patent/EP0978199A2/en
Publication of EP0978199A2 publication Critical patent/EP0978199A2/en
Withdrawn legal-status Critical Current

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/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
    • H04N19/423Methods 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 characterised by memory arrangements
    • 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
    • H04N19/436Methods 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 using parallelised computational arrangements
    • 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 present invention relates to an MPEG-4 Systems compliant architecture.
  • This invention has applications in relation with the MPEG-4 standard, for the streaming of MPEG-4 multimedia data.
  • MPEG-4 Systems The Systems part of the MPEG-4 standard defines the architecture to access MPEG-4 multimedia data (video, audio, 2D and 3D graphics).
  • MPEG-4 Systems is, more precisely, described in the following document "MPEG-4 Systems", ISO/TEC JTC1/3C29/WG11 N 1901, 21 November 1997.
  • Such an architecture is complex, since it provides access to an arbitrary number of streams, such as audio and video streams for instance, originated from a large number of sources (networks, broadcasting, storage,).
  • the standard specifies, for the synchronization of audio and video data, a mechanism allowing to introduce, by means of time-stamps, a temporal information into said different streams.
  • bitrate for instance, mobile networks, Internet.
  • bitrate variations occur (for Internet, depending on the time in the day ; for mobile networks, depending on the distance to the nearest base station).
  • MPEG-4 compliant architecture the topology of which has to be handled with respect to a so- called “configuration” that may be fixed but generally evolves dynamically during the session
  • an optimal architecture implementation has to ensure an appropriate buffer management.
  • the problems to be solved in this context then concern the exchange of information between the different modules of said architecture, in order to avoid drawbacks such as :
  • the invention relates to an architecture characterized in that it is subdivided into key modules, a specific task managed by a multi-threading operating system being assigned to each part of said architecture, and the strategy for the buffer management being optimally based on specific synchronization primitives provided by the multi-threading operating system.
  • An implementation of MPEG-4 Systems has to be able to instantiate dynamically the differents components of a configuration, whatever this one is very simple (for instance, a movie composed of an audio flow and a video flow) or very complex (for example, for an application of interactive multi-user virtual reality with teleconferencing).
  • the technical solution according to the invention that defines a generic architecture for every implementation of MPEG-4 Systems based on microprocessor(s) with a multi-threading operating system, is a reply to this problem.
  • the proposed architecture that uses basic primitives present in all multi-threading environments, is indeed modular, flexible, dynamic, extensible, and easy to implement and to manage.
  • multi-threading operating systems are optimized for the target processor and are built to be able to efficiently manage the synchronization of numerous tasks.
  • - Fig.l depicts an implementation of an MPEG-4 Systems buffer partitioning model (on the so-called Win32 operating system);
  • Fig.2 illustrates the control management with semaphores, used to keep the different threads efficient.
  • the proposed solution addresses the following issues.
  • key modules for an optimal buffer management are defined, which implies a specific generic partitioning of MPEG-4 Systems.
  • Each of these modules is then implemented as a task that is managed by a multi-threading operating system (with the use, in order to manage the filling of the buffers in an optimal way, of specific synchronization primitives provided by said multi -threading operating system).
  • the strategy for the buffer management is defined.
  • Fig.l TransMux, FlexMux, Elementary Stream.
  • a decoder buffer (audio, video,...) is also defined (and represented in Fig.l), in order to read Access Units (AUs) and produce frames that can be played (images, sounds), but this task is not part of the one carried out by the demultiplexer.
  • FMX FlexMux thread
  • DEC Decoder thread
  • AUs Access Units
  • FIFO First-In, First-Out
  • synchronization primitives which is done by means of semaphores (or : counters) that keep the different threads efficient.
  • Each of these semaphores controls each respective buffer (FM-PDU, AL-PDU, AU) in the demultiplexer.
  • For each decoder there is also one semaphore controlling the decoder buffer, and one more for signalling to the TransMux to have to stop if the AU buffer becomes too large.
  • the first operation is done by the TransMux TMX that reads data on the local disk DK or on the network NW ;
  • the regulation of the TransMux TMX is made by the AU feedback semaphore controlling that the AU buffer is not in a critical state.
  • the principle of this buffer management strategy is to keep the buffer sizes as small as possible. When the number of AL-PDUs is sufficient to reconstruct an AU, it has to be done immediately. Thus there is always data present for decoding.
  • TransMux Two types of TransMuxes can be differentiated : slow ones (network access), and fast ones (disk access).
  • the disk accesses are quick and stable in terms of latency, and, with such types of accesses, it is then not needed to store many data in the different buffers, since no loss would occur and the maximal critical value could be rather low.
  • network accesses can introduce some latency (Internet, for example), so that it is important to store more data in the buffers in order not to let the decoder starve. In the case of more than one decoder, it must however be indicated that the
  • TransMux has to be stopped only when all the AU buffers have reached the critical maximum value in order not to have starving decoding threads (it is therefore assumed that the multiplexing strategy has been adapted for that purpose on the sending side).

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)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Communication Control (AREA)

Abstract

The invention relates to an MPEG-4 Systems compliant architecture subdivided in key modules having a specific task managed by a multi-threading operating system. The MPEG-4 demultiplexer is partitioned into three levels of process. Each process is independent of each other, but synchronization primitives are however provided by the operating system, in the form of semaphores controlling the buffers so that their sizes are kept as small as possible. Application: all kinds of industrial MPEG-4 equipment (desk-tops, set-tops boxes).

Description

MPEG-4 systems compliant architecture.
FIELD OF THE INVENTION
The present invention relates to an MPEG-4 Systems compliant architecture. This invention has applications in relation with the MPEG-4 standard, for the streaming of MPEG-4 multimedia data.
BACKGROUND OF THE INVENTION
The Systems part of the MPEG-4 standard defines the architecture to access MPEG-4 multimedia data (video, audio, 2D and 3D graphics). MPEG-4 Systems is, more precisely, described in the following document "MPEG-4 Systems", ISO/TEC JTC1/3C29/WG11 N 1901, 21 November 1997. Such an architecture is complex, since it provides access to an arbitrary number of streams, such as audio and video streams for instance, originated from a large number of sources (networks, broadcasting, storage,...). Particularly, the standard specifies, for the synchronization of audio and video data, a mechanism allowing to introduce, by means of time-stamps, a temporal information into said different streams.
Most of the concerned potential products will use network technology with any type of stability in terms of bitrate (for instance, mobile networks, Internet). On these networks, bitrate variations occur (for Internet, depending on the time in the day ; for mobile networks, depending on the distance to the nearest base station). As an MPEG-4 compliant architecture (the topology of which has to be handled with respect to a so- called "configuration" that may be fixed but generally evolves dynamically during the session) has to deal with a number of memory buffers that will be specifically organized, an optimal architecture implementation has to ensure an appropriate buffer management. The problems to be solved in this context then concern the exchange of information between the different modules of said architecture, in order to avoid drawbacks such as :
- a break of the "pipe-line" effect, for instance losses in the stream that could lead to a desynchronization (a break in the audio stream or a desynchronization of the audio signals with respect to the video stream are very perceptible by the end user and therefore unacceptable) ; - a processing time that would be too long for interactive applications such as video conference ;
- a waste of the memory resources if over-sized buffers are used.
A compromise between the solutions to these problems is difficult to obtain, since the only way to reduce the effect of the network is to increase the size of the buffers, which however increases the delays and processing time, and so on. Moreover, it seems unrealistic to predict the size of the buffers at an early stage of the implementation of the architecture, as it was the case for previous applications (for example with the MPEG-2 standard in the field of TV broadcast).
SUMMARY OF THE INVENTION
It is therefore an object of the invention to obviate these drawbacks. To this end, the invention relates to an architecture characterized in that it is subdivided into key modules, a specific task managed by a multi-threading operating system being assigned to each part of said architecture, and the strategy for the buffer management being optimally based on specific synchronization primitives provided by the multi-threading operating system.
An implementation of MPEG-4 Systems has to be able to instantiate dynamically the differents components of a configuration, whatever this one is very simple (for instance, a movie composed of an audio flow and a video flow) or very complex (for example, for an application of interactive multi-user virtual reality with teleconferencing). The technical solution according to the invention, that defines a generic architecture for every implementation of MPEG-4 Systems based on microprocessor(s) with a multi-threading operating system, is a reply to this problem. The proposed architecture, that uses basic primitives present in all multi-threading environments, is indeed modular, flexible, dynamic, extensible, and easy to implement and to manage. Moreover, multi-threading operating systems are optimized for the target processor and are built to be able to efficiently manage the synchronization of numerous tasks.
BRIEF DESCRIPTION OF THE DRAWINGS
These and other aspects of the invention will be now explained with reference to the following description, given in connection with the accompanying drawings, in which : - Fig.l depicts an implementation of an MPEG-4 Systems buffer partitioning model (on the so-called Win32 operating system);
- Fig.2 illustrates the control management with semaphores, used to keep the different threads efficient.
DESCRIPTION OF THE INVENTION
The proposed solution addresses the following issues. First, key modules for an optimal buffer management are defined, which implies a specific generic partitioning of MPEG-4 Systems. Each of these modules is then implemented as a task that is managed by a multi-threading operating system (with the use, in order to manage the filling of the buffers in an optimal way, of specific synchronization primitives provided by said multi -threading operating system). Finally, the strategy for the buffer management is defined.
For the definition of the MPEG-4 Systems key modules, it is proposed, in order to assign a specific task to each part of the MPEG-4 demultiplexer, to partition said demultiplexer into three different levels, shown in Fig.l : TransMux, FlexMux, Elementary Stream. A decoder buffer (audio, video,...) is also defined (and represented in Fig.l), in order to read Access Units (AUs) and produce frames that can be played (images, sounds), but this task is not part of the one carried out by the demultiplexer.
The scheme of Fig.l has been implemented for instance on the Win32 operating system (= Windows 95), which provides multi-threading functionality. One thread is assigned to each process :
- a TransMux thread (TMX), for reading data on the disk DK or on the network NW and storing a number N of FlexMux Packet Data Units (= FM-PDUs) ;
- a FlexMux thread (FMX), for reading these FM-PDUs in an FM-PDU buffer, storing N Access unit Layer Packet Data Units (= AL-PDUs) and reconstructing N Access
Units (= AUs), the FlexMux FMX and the Elementary Stream ELS being, in that implementation, organized in one single thread ;
- a Decoder thread (DEC), for building N frames with the Access Units (AUs) for the decoders. Each of these threads is independent from the others. As shown in Fig.l, the buffers are implemented as queues, i.e. as FIFO (First-In, First-Out) memories, without any fixed length (it is consequently recommended to control the state of these buffers in order not to have huge buffers nor starving tasks). However the tasks have to watch at each other using so-called synchronization primitives, which is done by means of semaphores (or : counters) that keep the different threads efficient. Each of these semaphores, provided by the operating system, controls each respective buffer (FM-PDU, AL-PDU, AU) in the demultiplexer. For each decoder, there is also one semaphore controlling the decoder buffer, and one more for signalling to the TransMux to have to stop if the AU buffer becomes too large.
These actions are depicted in Fig.2, that illustrates the control management with the semaphores. The steps (1) and (2) correspond to the following tests : (1) means "if N greater than 0, work", and (2) means "if N greater than Max, stop". Based on the synchronization facilities of the operating system, this control function is carried out according to the following buffer management strategy :
(a) at run-time, the first operation is done by the TransMux TMX that reads data on the local disk DK or on the network NW ;
(b) the FlexMux FMX watches at the TransMux TMX ; (c) the Elementary Stream ELS watches at the FlexMux FMX;
(d) the real-time decoding process starts when AUs are present in the AU buffer ;
(e) the regulation of the TransMux TMX is made by the AU feedback semaphore controlling that the AU buffer is not in a critical state. The principle of this buffer management strategy is to keep the buffer sizes as small as possible. When the number of AL-PDUs is sufficient to reconstruct an AU, it has to be done immediately. Thus there is always data present for decoding.
Moreover, an important point is to consider the type of TransMux that is used. Two types of TransMuxes can be differentiated : slow ones (network access), and fast ones (disk access). The disk accesses are quick and stable in terms of latency, and, with such types of accesses, it is then not needed to store many data in the different buffers, since no loss would occur and the maximal critical value could be rather low. On the contrary, network accesses can introduce some latency (Internet, for example), so that it is important to store more data in the buffers in order not to let the decoder starve. In the case of more than one decoder, it must however be indicated that the
TransMux has to be stopped only when all the AU buffers have reached the critical maximum value in order not to have starving decoding threads (it is therefore assumed that the multiplexing strategy has been adapted for that purpose on the sending side).

Claims

CLAMS :
1. An MPEG-4 Systems compliant architecture, characterized in that it is subdivided into key modules, a specific task managed by a multi-threading operating system being assigned to each part of said architecture, and the strategy for the buffer management being optimally based on specific synchronization primitives provided by the multi-threading operating system.
2. An architecture according to claim 1, wherein the MPEG-4 demultiplexer is partitioned into three different levels of process, the first one, TransMux, being provided for reading data on a local disk or a network and storing them by packet data units, the second one, FlexMux, being provided for reading said packet data units and storing access unit layer packet data units, and the third one for reconstructing access units.
3. An architecture according to claim 2, wherein each process is independent from each other, synchronisation primitives being however provided by said operating system in order to watch at each other, by means of semaphores controlling each buffer so that the buffer sizes are kept as small as possible.
EP99900029A 1998-01-27 1999-01-14 Mpeg-4 systems compliant architecture Withdrawn EP0978199A2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
EP99900029A EP0978199A2 (en) 1998-01-27 1999-01-14 Mpeg-4 systems compliant architecture

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
EP98400160 1998-01-27
EP98400160 1998-01-27
PCT/IB1999/000038 WO1999038329A2 (en) 1998-01-27 1999-01-14 Mpeg-4 systems compliant architecture
EP99900029A EP0978199A2 (en) 1998-01-27 1999-01-14 Mpeg-4 systems compliant architecture

Publications (1)

Publication Number Publication Date
EP0978199A2 true EP0978199A2 (en) 2000-02-09

Family

ID=8235248

Family Applications (1)

Application Number Title Priority Date Filing Date
EP99900029A Withdrawn EP0978199A2 (en) 1998-01-27 1999-01-14 Mpeg-4 systems compliant architecture

Country Status (5)

Country Link
EP (1) EP0978199A2 (en)
JP (1) JP2001518272A (en)
KR (1) KR100639894B1 (en)
CN (1) CN1150768C (en)
WO (1) WO1999038329A2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6606329B1 (en) 1998-07-17 2003-08-12 Koninklijke Philips Electronics N.V. Device for demultiplexing coded data

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5668599A (en) * 1996-03-19 1997-09-16 International Business Machines Corporation Memory management for an MPEG2 compliant decoder
GB9704027D0 (en) * 1997-02-26 1997-04-16 Discovision Ass Memory manager for mpeg decoder
EP0909091A1 (en) * 1997-10-07 1999-04-14 CANAL+ Société Anonyme Memory manager

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See references of WO9938329A2 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6606329B1 (en) 1998-07-17 2003-08-12 Koninklijke Philips Electronics N.V. Device for demultiplexing coded data

Also Published As

Publication number Publication date
KR100639894B1 (en) 2006-10-31
WO1999038329A2 (en) 1999-07-29
CN1150768C (en) 2004-05-19
CN1256047A (en) 2000-06-07
WO1999038329A3 (en) 1999-09-30
JP2001518272A (en) 2001-10-09
KR20010005738A (en) 2001-01-15

Similar Documents

Publication Publication Date Title
US6185602B1 (en) Multi-user interaction of multimedia communication
US6584125B1 (en) Coding/decoding apparatus, coding/decoding system and multiplexed bit stream
US9264472B2 (en) Audio-video data switching and viewing system
EP1775895B1 (en) Apparatus and method for receiving multiple streams in a mobile broadcast system
WO1994018776A2 (en) Multimedia distribution system
Kalva et al. Implementing multiplexing, streaming, and server interaction for MPEG-4
JP2003534741A (en) Communication system with MPEG-4 remote access terminal
JP4391231B2 (en) Broadcasting multimedia signals to multiple terminals
EP0978199A2 (en) Mpeg-4 systems compliant architecture
Kalva et al. Delivering object-based audio visual services
Li et al. MPEG-2 coded-and uncoded-stream synchronization control for real-time multimedia transmission and presentation over B-ISDN
Herpel et al. MPEG-4 systems: elementary stream management and delivery
Boutaba et al. Distributed video production: Tasks, architecture and qos provisioning
Li et al. An MPEG-4 based interactive multimedia system
Daami et al. Client based synchronization control of coded data streams
Katto et al. System architecture for synthetic/natural hybrid coding and some experiments
Huang et al. Design and implementation of an efficient MPEG-4 interactive terminal on embedded devices
PROVISIONING¹ et al. DISTRIBUTED VIDEO PRODUCTION: TASKS, ARCHITECTURE AND
Casalino et al. MPEG-4 systems, concepts and implementation
Oliveira et al. An MPEG-2 distributed studio architecture based on ATM
JP2001016567A (en) Multimedia data reproducing device/transmitter
KR100437168B1 (en) communication method used in MPEG-4 system
El Zarki et al. An interactive object based multimedia system for IP networks
Kalva Object-Based Audio-Visual Services
KR20030004061A (en) Multilayer multiplexing for generating an MPEG2 transport stream from elementary MPEG2 and MPEG4 streams

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 19991027

AK Designated contracting states

Kind code of ref document: A2

Designated state(s): DE ES FR GB IT SE

17Q First examination report despatched

Effective date: 20061115

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN

18D Application deemed to be withdrawn

Effective date: 20070526