EP1020997A2 - Verarbeitungsverfahren und Kodiervorrichtung für Audio- oder Videorahmendaten - Google Patents
Verarbeitungsverfahren und Kodiervorrichtung für Audio- oder Videorahmendaten Download PDFInfo
- Publication number
- EP1020997A2 EP1020997A2 EP99125875A EP99125875A EP1020997A2 EP 1020997 A2 EP1020997 A2 EP 1020997A2 EP 99125875 A EP99125875 A EP 99125875A EP 99125875 A EP99125875 A EP 99125875A EP 1020997 A2 EP1020997 A2 EP 1020997A2
- Authority
- EP
- European Patent Office
- Prior art keywords
- processing
- input
- time stamps
- data
- time
- 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
Links
- 238000000034 method Methods 0.000 title claims description 14
- 239000000872 buffer Substances 0.000 claims description 29
- 230000000873 masking effect Effects 0.000 claims description 8
- 238000006243 chemical reaction Methods 0.000 claims description 4
- 229920002776 polycyclohexyl methacrylate Polymers 0.000 claims description 4
- 230000001360 synchronised effect Effects 0.000 claims description 2
- 235000019800 disodium phosphate Nutrition 0.000 claims 3
- 230000000737 periodic effect Effects 0.000 claims 1
- 230000006870 function Effects 0.000 description 12
- 230000007246 mechanism Effects 0.000 description 4
- 125000004122 cyclic group Chemical group 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- CFKMVGJGLGKFKI-UHFFFAOYSA-N 4-chloro-m-cresol Chemical compound CC1=CC(O)=CC=C1Cl CFKMVGJGLGKFKI-UHFFFAOYSA-N 0.000 description 2
- 230000004913 activation Effects 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- YFZOUMNUDGGHIW-UHFFFAOYSA-M p-chloromercuribenzoic acid Chemical compound OC(=O)C1=CC=C([Hg]Cl)C=C1 YFZOUMNUDGGHIW-UHFFFAOYSA-M 0.000 description 2
- 238000011144 upstream manufacturing Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000035484 reaction time Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04H—BROADCAST COMMUNICATION
- H04H60/00—Arrangements for broadcast applications with a direct linking to broadcast information or broadcast space-time; Broadcast-related systems
- H04H60/35—Arrangements for identifying or recognising characteristics with a direct linkage to broadcast information or to broadcast space-time, e.g. for identifying broadcast stations or for identifying users
- H04H60/38—Arrangements for identifying or recognising characteristics with a direct linkage to broadcast information or to broadcast space-time, e.g. for identifying broadcast stations or for identifying users for identifying broadcast time or space
- H04H60/40—Arrangements for identifying or recognising characteristics with a direct linkage to broadcast information or to broadcast space-time, e.g. for identifying broadcast stations or for identifying users for identifying broadcast time or space for identifying broadcast time
Definitions
- the invention relates to a method for processing and to an apparatus for encoding audio or video frame data.
- a 4-stereo-channel real time MPEG audio encoder board has been designed.
- Such encoders can be realised using DSPs (Digital Signal Processor) wherein the processing as well as input and output interfaces is distributed over several DSPs.
- the processing is block oriented. For every new block of e.g. 1152 samples the related bitstream part is generated. As processing time for the processing blocks is not constant, and because several processing blocks on each DSP might compete for execution at any time instant, the total processing delay can vary significantly.
- a requirement may be that the encoder is able to operate with different encoding parameters because MPEG allows e.g. various sample frequencies and overall data rates.
- the total burden of the real time processing is distributed by means of multi-threading to each DSP and to the software equivalent of FIFO buffers carrying one or more frames or blocks of data, i.e. the encoder in principle consists of a chain of software FIFOs alternating with processing blocks (denoted threads) between the encoder input and output.
- the encoder in principle consists of a chain of software FIFOs alternating with processing blocks (denoted threads) between the encoder input and output.
- the audio or video frames are processed in an encoder in subsequent different stages, for example conversion to frequency coefficients in a first stage and bit allocation and quantisation in a further stage.
- the (psychoacoustic) masking is calculated.
- the overall input to output delay is controlled by applying a time stamp based mechanism related to a system time base.
- input data e.g. per frame or block of data
- ITS input time stamp
- This time stamp is then passed along together with the main data through the processing stages, e.g. in the format of a linked data field.
- OTS ITS + DELAY
- OTS is an output time stamp.
- OTS is then used by the output stage to control that the output data are output at the intended time.
- encoding parameters required for a specific processing path can be added to the input streams for the audio channels by linking them with the associated audio data and by storage in the various buffers together with its audio data, i.e. the corresponding encoding parameters are kept linked with the audio data to be encoded throughout the encoding processing in the different data streams and data paths.
- the original encoding parameters assigned to the processing paths become converted to a different format in order to minimise the required word length and/or to facilitate easy evaluation in the related processing stages.
- each data stream can be processed with the correct parameter set without waiting for finishing encoding of the old data stream and for reset and loading of new parameters before starting encoding of a new data stream with new parameters.
- the invention can also be used for audio or video decoding with a corresponding inverse order of processing stages.
- the inventive method is suited for processing audio or video frame data which are processed in succeeding different processing stages wherein input time stamps are generated which become linked at least in one input processing stage with frames of said audio or video data to be encoded, and wherein said input time stamps or time stamps derived from said input time stamps remain linked with the correspondingly processed frame data in said different processing stages in the processing but are at least in the last processing stage replaced by output time stamps denoting the presentation time, and wherein in each of theses stages the corresponding time stamp information linked with current frame data to be processed is regarded in order to control the overall delay of the processing.
- the inventive apparatus is suited for encoding audio frame data which are processed in succeeding different processing stages, and includes:
- the audio encoder in Fig. 1 receives four stereo PCM input signals PCMA, PCMB, PCMC and PCMD.
- E.g. MPEG audio data are frame based, each frame containing 1152 mono or stereo samples.
- the encoder operating system of Fig. 1 may include six DSPs (not depicted) for the encoding of the four MPEG channels. These DSPs form a software encoder which includes the technical functions depicted in Fig. 1.
- a suitable type of DSP is for example ADSP 21060 or 21061 or 21062 of Analog Devices.
- the technical functions depicted in Fig. 1 can be realised in hardware.
- Synchronisation of the software running on the six DSPs, or on corresponding hardware is achieved using FIFO buffers wherein each buffer is assigned to one or some specific frames. This means that at a certain time instant a current frame as well as previous frames, the number of which depends from the quantity of available buffers, are present in the processing stages.
- the PCM input signals PCMA, PCMB, PCMC and PCMD each pass via an asynchronous buffer to a respective converter CONA, CONB, CONC and COND.
- a respective converter CONA, CONB, CONC and COND In such converter an integer-to-floating representation conversion of the audio samples to be encoded may take place.
- the encoder processes integer representation audio samples.
- one or more kinds of energy levels in a frame may be calculated, e.g. energy of all samples of the frame or average energy of the samples of a frame. These energy values may be used in the subsequent psychoacoustic processing.
- the possibly adapted encoding parameters can become linked with the frame audio data.
- the original encoding parameters may be converted as described above and then fed to CONA, CONB, CONC and COND, respectively.
- the output data of CONA, CONB, CONC and COND are fed in parallel to subband filters SUBA, SUBB, SUBC and SUBD and to first left and right channel psychoacoustic calculators Psycho1A_L, Psycho1A_R, Psycho1B_L, Psycho1B_R, Psycho1C_L, Psycho1C_R, Psycho1D_L and Psycho1D_R, respectively.
- the subband filters divide the total audio spectrum into frequency bands, possibly using FFT, and may calculate the maximum or scale factor of the coefficients in a frequency band or subband. Within the frequency bands a normalisation may be carried out.
- the subband filters take into account the above time stamp information and possibly the relevant encoding parameters read from the corresponding upstream asynchronous buffer.
- the first psychoacoustic calculators perform an FFT having a length of e.g. 1024 samples and determine the current masking information.
- Each first psychoacoustic calculator can be followed by a second psychoacoustic calculator Psycho2A_L, Psycho2A_R, Psycho2B_L, Psycho2B_R, Psycho2C_L, Psycho2C_R, Psycho2D_L and Psycho2D_R, respectively, which evaluates the maximum or scale factor values previously calculated in the subband filters.
- the first and second psychoacoustic calculators take into account the above time stamp information and possibly relevant encoding parameters read from the corresponding upstream asynchronous buffers.
- the output signals of Psycho2A_L, Psycho2A_R, Psycho2B_L, Psycho2B_R, Psycho2C_L, Psycho2C_R, Psycho2D_L and Psycho2D_R are used in bit allocators and quantisers Bal/Q/E_A, Bal/Q/E_B, Bal/Q/E_C and Bal/Q/E_D, respectively, for determining the number of bits allocated and the quantisation the audio data coefficients coming from the associated subband filter via a buffer. It is also possible to calculate in the second psychoacoustic calculators in addition what is being calculated in the first psychoacoustic calculators and thereby to omit the first psychoacoustic calculators.
- Bal/Q/E_A, Bal/Q/E_B, Bal/Q/E_C and Bal/Q/E_D pass through an asynchronous buffers and output interfaces AES-EBU_A, AES-EBU_B, AES-EBU_C, AES-EBU_D, respectively, which deliver the encoder stereo output signals PCM_Out_A, PCM_Out_B, PCM_Out_C, PCM_Out_D, respectively.
- the output interfaces may correspond to IEC 958.
- a video encoder includes the following stages: block difference stage, DCT (discrete cosine transform), quantisation and in the feedback loop inverse quantisation, inverse DCT, motion compensated interpolation the output of which is input to the block difference stage, wherein the output of the quantisation is possibly VLC (variable length coding) encoded and buffered before final output and the buffer filling level is used to control the quantisation in such a way that encoding artefacts are masked as far as possible.
- DCT discrete cosine transform
- inverse DCT motion compensated interpolation the output of which is input to the block difference stage
- VLC variable length coding
- a couple of related mechanisms are available which can be used in different combinations as required for the I/O process to be implemented.
- the system makes use of a single hardware timer, which is typically already part of each DSP, in combination with some kind of regular or controlled output driver software activation. The rest of the delay control is then executed by the DSP. In principle two timer functions are required:
- the single hardware timer operating as a backward counter with interrupt at zero, and the input and output DMA block-complete interrupts which are build-in functions of the DSPs, are used.
- the single hardware timer can provide the functions 'interruptAfter(DELAY)' and 'getTime()', wherein for the latter function the subsequent delay times loaded to the timer are summed up to obtain a continuos system time and wherein several 'interruptAfter(DELAY)' functions can run in parallel.
- a special cyclic interrupt signal (e.g. of 10ms length) that is applied to all DSPs in the system and that is used to resynchronise the system times.
- the counter output word may have the format iiii.ffff, wherein iiii is interpreted as integer part and ffff is interpreted as fractional part. Every 10ms iiii is incremented by '1'. This event is transmitted to the DSPs and is counted therein.
- the maximum manageable value for DELAY depends on the word length of iiii.
- the delay control described in above example scenario requires minimum hardware only and thus leaves most of the job to (cheaper and more flexible) software
- the disadvantage is that the delay time accuracy is limited by e.g. interrupt latency times, maximum interrupt disable times and, in case of a multi-DSP system, bus arbitration delays.
- hardware enhancements can be used that make the process of obtaining ITS relative to system time and output at OTS relative to system time more accurate.
- a combined solution with software determining the rough point in time and special hardware establishing the exact point in time will achieve a compromise between required DSP reaction time (tends to be slow compared to hardware) and hardware complexity (tends to be more complex the longer the time periods are).
- Fig. 2 shows a data field including audio samples or audio coefficients COE for a frame or block. To these samples or coefficients an input time stamp information ITS is linked or assigned. An address pointer POI indicates the begin of the input time stamp information ITS. Beginning at the second processing stage ITS can be replaced by (ITS + DELAY) and PCR (MPEG program clock reference) wherein DELAY is the user-defined delay. At the last processing stages ITS or (ITS + DELAY) can be replaced by OTS.
- the MPEG program clock reference PCR is a 33bit word clock representing a 90kHz clock frequency.
- encoding or decoding parameters including for instance mode information (mono, stereo, dual, joint stereo), sample rate and data rate information, length of the data field and/or type of MPEG layer can be linked to COE.
- a microprocessor or DSP ⁇ P is shown together with its memory MEM.
- some data fields A to F are depicted which correspond to data fields as shown in Fig. 2.
- data fields A, B and C may correspond to data fields of three succeeding audio frames in one of the data paths of Fig. 1.
- Data field A may include other ITS, (ITS+DELAY) or OTS information or encoding parameters than data fields B and C.
- the address of the begin of data field B can be calculated by adding the length of data field A to POI.
- the software running on ⁇ P can use the following example commands in C-language for constructing the data fields according to Fig. 2: "struct" may also contain time stamp information.
- the inventive delay control can also be applied for single DSP systems and for any other kind of real time processing.
- the invention can be used e.g. for MPEG 1, 2 and 4 Audio encoding and decoding for MPEG layers 1, 2 or 3, Digital Video Broadcast DVB, for AC-3, MD and AAC processing, for DVD processing and Internet applications concerning audio data encoding and decoding.
- MPEG 1, 2 and 4 Audio encoding and decoding for MPEG layers 1, 2 or 3, Digital Video Broadcast DVB, for AC-3, MD and AAC processing, for DVD processing and Internet applications concerning audio data encoding and decoding.
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP99125875A EP1020997A3 (de) | 1999-01-12 | 1999-12-24 | Verarbeitungsverfahren und Kodiervorrichtung für Audio- oder Videorahmendaten |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP99250009 | 1999-01-12 | ||
EP99250009A EP1021045A1 (de) | 1999-01-12 | 1999-01-12 | Verarbeitungsverfahren und Kodierungsvorrichtung für Audio- oder Videorahmendaten |
EP99125875A EP1020997A3 (de) | 1999-01-12 | 1999-12-24 | Verarbeitungsverfahren und Kodiervorrichtung für Audio- oder Videorahmendaten |
Publications (2)
Publication Number | Publication Date |
---|---|
EP1020997A2 true EP1020997A2 (de) | 2000-07-19 |
EP1020997A3 EP1020997A3 (de) | 2001-01-31 |
Family
ID=26153214
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP99125875A Withdrawn EP1020997A3 (de) | 1999-01-12 | 1999-12-24 | Verarbeitungsverfahren und Kodiervorrichtung für Audio- oder Videorahmendaten |
Country Status (1)
Country | Link |
---|---|
EP (1) | EP1020997A3 (de) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6487528B1 (en) * | 1999-01-12 | 2002-11-26 | Deutsche Thomson-Brandt Gmbh | Method and apparatus for encoding or decoding audio or video frame data |
WO2022100414A1 (zh) * | 2020-11-11 | 2022-05-19 | 华为技术有限公司 | 音频编解码方法和装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4845752A (en) * | 1985-10-30 | 1989-07-04 | International Business Machines Corp. | Multi-signal processor synchronized system |
EP0701374A2 (de) * | 1994-08-19 | 1996-03-13 | Thomson Consumer Electronics, Inc. | Systembus für Audio-/Video-/Data-Komponenten |
WO1998045959A1 (en) * | 1997-04-06 | 1998-10-15 | Optibase Ltd. | A method for compressing an audio-visual signal |
-
1999
- 1999-12-24 EP EP99125875A patent/EP1020997A3/de not_active Withdrawn
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4845752A (en) * | 1985-10-30 | 1989-07-04 | International Business Machines Corp. | Multi-signal processor synchronized system |
EP0701374A2 (de) * | 1994-08-19 | 1996-03-13 | Thomson Consumer Electronics, Inc. | Systembus für Audio-/Video-/Data-Komponenten |
WO1998045959A1 (en) * | 1997-04-06 | 1998-10-15 | Optibase Ltd. | A method for compressing an audio-visual signal |
Non-Patent Citations (2)
Title |
---|
"OPTIMIZED DATA TIME STAMPS FOR DIGITAL AUDIO AMD VIDEO ON A STOCHASTIC NETWORK" IBM TECHNICAL DISCLOSURE BULLETIN, vol. 36, no. 9A, 1 September 1993 (1993-09-01), page 183 XP000395356 * |
KIM S -Y ET AL: "A REAL-TIME IMPLEMENTATION OF THE MPEG-2 AUDIO ENCODER" IEEE TRANSACTIONS ON CONSUMER ELECTRONICS, vol. 43, no. 3, 1 August 1997 (1997-08-01), pages 593-597, XP000742536 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6487528B1 (en) * | 1999-01-12 | 2002-11-26 | Deutsche Thomson-Brandt Gmbh | Method and apparatus for encoding or decoding audio or video frame data |
WO2022100414A1 (zh) * | 2020-11-11 | 2022-05-19 | 华为技术有限公司 | 音频编解码方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
EP1020997A3 (de) | 2001-01-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6891573B2 (en) | Method and apparatus for changing the output delay of audio or video data encoding | |
US6356871B1 (en) | Methods and circuits for synchronizing streaming data and systems using the same | |
US6145007A (en) | Interprocessor communication circuitry and methods | |
US6253293B1 (en) | Methods for processing audio information in a multiple processor audio decoder | |
US6542550B1 (en) | Method for processing and apparatus for encoding or decoding audio or video frame data | |
WO2002025952A3 (en) | Regeneration of program clock reference data for mpeg transport streams | |
US6009389A (en) | Dual processor audio decoder and methods with sustained data pipelining during error conditions | |
KR20050058252A (ko) | 트랜스포트 스트림으로부터 프로그램 스트림으로의 변환 | |
US6804655B2 (en) | Systems and methods for transmitting bursty-asnychronous data over a synchronous link | |
US6487528B1 (en) | Method and apparatus for encoding or decoding audio or video frame data | |
EP1279232A1 (de) | Einzeltaktreferenz für verarbeitungssysteme im komprimierten bereich | |
EP1020997A2 (de) | Verarbeitungsverfahren und Kodiervorrichtung für Audio- oder Videorahmendaten | |
Wang | Low latency audio processing | |
EP1139666B1 (de) | Verfahren und Gerät für die Ausgabeverzögerungsänderung während der Video- und Tonkodierung | |
Schulzrinne | Operating system issues for continuous media | |
EP1020998B1 (de) | Verfahren und Vorrichtung zu Kodierung von Audiorahmendaten | |
KR100770906B1 (ko) | 비디오 패킷의 출력 비트레이트 조절 방법 및 장치 | |
CN100527849C (zh) | 音频解码方法、音频解码器及其中的平滑滤波方法 | |
JP2001016267A (ja) | 通信装置および方法、並びに媒体 | |
KR100375830B1 (ko) | 피씨알 지터 제거장치 및 방법 | |
CN114255788B (zh) | 一种异步采样的转换方法及其转换装置 | |
JP2001177401A (ja) | 位相同期回路 | |
KR0185831B1 (ko) | Mpeg2 pmt의 역패킷화기 | |
EP1155572A1 (de) | Vorhersage von zeitmarken mit kalmanfilter und bayes-schätzer für genaues zeitraster und glättung | |
US8549343B2 (en) | Timing recovery apparatus and method thereof |
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 |
|
AK | Designated contracting states |
Kind code of ref document: A2 Designated state(s): DE FR GB |
|
AX | Request for extension of the european patent |
Free format text: AL;LT;LV;MK;RO;SI |
|
PUAL | Search report despatched |
Free format text: ORIGINAL CODE: 0009013 |
|
AK | Designated contracting states |
Kind code of ref document: A3 Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LI LU MC NL PT SE |
|
AX | Request for extension of the european patent |
Free format text: AL;LT;LV;MK;RO;SI |
|
RIC1 | Information provided on ipc code assigned before grant |
Free format text: 7H 04N 7/52 A, 7H 04B 1/66 B |
|
17P | Request for examination filed |
Effective date: 20010216 |
|
AKX | Designation fees paid |
Free format text: DE FR GB |
|
RBV | Designated contracting states (corrected) |
Designated state(s): DE FR GB |
|
RAP1 | Party data changed (applicant data changed or rights of an application transferred) |
Owner name: THOMSON LICENSING |
|
17Q | First examination report despatched |
Effective date: 20090327 |
|
RAP1 | Party data changed (applicant data changed or rights of an application transferred) |
Owner name: THOMSON LICENSING |
|
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: 20091001 |