WO2009037099A1 - Method and apparatus for processing real-time data streams - Google Patents

Method and apparatus for processing real-time data streams Download PDF

Info

Publication number
WO2009037099A1
WO2009037099A1 PCT/EP2008/061466 EP2008061466W WO2009037099A1 WO 2009037099 A1 WO2009037099 A1 WO 2009037099A1 EP 2008061466 W EP2008061466 W EP 2008061466W WO 2009037099 A1 WO2009037099 A1 WO 2009037099A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
buffer
real
operating modes
time data
Prior art date
Application number
PCT/EP2008/061466
Other languages
French (fr)
Inventor
Stefan Abeling
Johann Maas
Herbert Schuetze
Axel Kochale
Original Assignee
Thomson Licensing
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 Thomson Licensing filed Critical Thomson Licensing
Publication of WO2009037099A1 publication Critical patent/WO2009037099A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording

Definitions

  • the present invention relates to the field of storage systems or processing systems for real-time data streaming.
  • exemplary embodiments of the present invention relate to monitoring the real-time ability of such systems and altering the operation of the system in response.
  • the mounting information represents a system package connection state.
  • an underflow signal is transmitted.
  • a pair of detectors detects whether a first and second package is operating or not and outputs first and second detecting signals respectively.
  • the selector outputs a stuff request signal in response to the underflow signal.
  • the stuff request signal is output to the first and second buffers based on the second and first detecting signals respectively.
  • EP Patent Application No. 663774 to Kim et al. purports to disclose a de- multiplexing apparatus that comprises an input FIFO buffer module with several series input FIFO buffer memories for temporarily storing the bit stream. Each buffer generates a full or an empty flag signal representative of the state of the buffer.
  • a video FIFO buffer module has several video FIFO buffers generating a full or empty flag signal representing its state.
  • the apparatus includes an audio FIFO buffer.
  • Flag status detectors receive the flag signals. The flag status detectors also detect and produce a buffer status signal indicative of the number of FIFO buffers that exhibit the full or the empty state in the input, the video and the audio FIFO buffer modules.
  • a control circuit in response to the signal, fetches the input bit stream from the input FIFO buffers exhibiting full states to de-multiplex the fetched bit stream to produce video and audio data bit streams, and provide video and audio data bit streams to the video and audio FIFO buffers indicating empty states.
  • U.S. Patent No. 6,295,321 to Lyu purports to disclose a video decoding method and apparatus using the method to decode and display a compressed video bit stream output through a video buffer and the temporary storing of the video bit stream.
  • the method includes the steps of receiving a single sync signal and an external command to control decoding of the video bit stream, and decoding the input video bit stream, or skipping it, or waiting without decoding under the control of the first step.
  • a video decoder includes a decoding control section receptive to a single synchronization signal and an external command to control decoding of the video bit stream, and a video decoder for decoding the video bit stream input through the video buffer, or skipping the video bit stream, or waiting for a defined frame period without decoding the video bit stream under the control of the decoding control section.
  • U.S. Patent No. 6,757,348 to Vila et al. purports to disclose systems and methods for enabling data transfers over communications links having a plurality of transmission lanes.
  • One disclosed system comprises a plurality of elastic buffers, each of which is coupled to one of the lanes in the communications link, and a buffer controller coupled to the buffers. Data is clocked into the elastic buffers using a first clock signal and is clocked out of the buffers by a second clock signal.
  • the buffer controller is configured to monitor each of the buffers and to detect impending underflow or overflow conditions. In response to detecting one of these conditions, the buffer controller will cause the words to be added or deleted, respectively, to all of the elastic buffers rather than only the buffer in which the overflow/underflow condition was detected.
  • U.S. Patent Application Publication No. 20020136205 to Sasaki purports to disclose a system that performs real time communication. Long interruption of a media data signal caused by underflow or overflow of a buffer is purportedly reduced.
  • a monitoring unit monitors a state of the buffer periodically. When the quantity of encoded data in the buffer shows tendency of increasing from a standard data storage number, successively a predetermined number of times, then, it is judged that the buffer tends to overflow.
  • the decoding unit is then made to skip at least one encoded data to be read and processed this time from the buffer.
  • the processing unit is then made to suspend operation during at least one period of the above-mentioned reproduction period.
  • the real-time ability of a data storage and processing system can decrease during the lifetime of the system.
  • environmental conditions may negatively impact system performance.
  • a simple and efficient mechanism to monitor the real-time behavior of a real-time storage system that provides the possibility of reacting very quickly to unforeseen system performance collapses is desirable.
  • the data storage device comprises a mass storage device that stores real-time data received from a data source and a data buffer that buffers the realtime data before the real-time data is stored on the mass storage device.
  • the data storage device also comprises a controller that selects one of a first plurality of operating modes if the data buffer experiences a buffer overflow condition and selects one of a second plurality of operating modes if the data buffer experiences a buffer underflow condition.
  • the controller may be adapted to notify a user if the data buffer experiences a buffer overflow condition or a buffer underflow condition.
  • the data buffer may be adapted to signal the controller if the data buffer experiences a buffer overflow condition or a buffer underflow condition.
  • the data buffer may be adapted to write an interrupt status value into an interrupt status register if the data buffer experiences a buffer overflow condition or a buffer underflow condition.
  • the controller may be adapted to write a buffer overflow byte count and a critical buffer byte count to the data buffer.
  • the controller may be adapted to abort a data recording operation as a one of the first plurality of operating modes and to abort a playback operation as a one of the second plurality of operating modes.
  • the controller may additionally be adapted to automatically resume a temporarily suspended data recording operation as a one of the first plurality of operating modes and to automatically resume a temporarily suspended playback operation as a one of the second plurality of operating modes.
  • the controller may further be adapted to receive status information from the data buffer as a one of the first plurality of operating modes and to receive status information from the data buffer as a one of the second plurality of operating modes without interrupting the current record or playback process.
  • a method of transferring data in accordance with the present invention comprises receiving a real-time data stream from a data source and buffering real-time data received from the data source.
  • the method further comprises selecting one of a first plurality of operating modes if a buffer overflow condition is experienced while buffering the real-time data and selecting one of a second plurality of operating modes if a buffer underflow condition is experienced while buffering the real-time data.
  • a method according to the invention may comprise notifying a user if a buffer overflow condition is experienced while buffering the real-time data and if a buffer underflow condition is experienced while buffering the real-time data.
  • the method may further comprise writing an interrupt status value into an interrupt status register if a buffer overflow condition is experienced while buffering the real-time data and if a buffer underflow condition is experienced while buffering the real-time data.
  • the method may further comprise writing a buffer overflow byte count and a critical buffer byte count to a data buffer.
  • a method may comprise aborting a data recording operation as a one of the first plurality of operating modes and aborting a playback operation as a one of the second plurality of operating modes.
  • the method may additionally comprise resuming a temporarily suspended data recording operation as a one of the first plurality of operating modes and resuming a temporarily suspended playback operation as a one of the second plurality of operating modes.
  • the method may further comprise receiving status information from a data buffer as a one of the first plurality of operating modes and receiving status information from the data buffer as a one of the second plurality of operating modes.
  • Fig. 1 is a block diagram of a real-time data processing and storage system with a real-time data buffer in accordance with an exemplary embodiment of the present invention.
  • Fig. 2 is a block diagram of a real-time data buffer having dynamic values for thresholds for critical/buffer overflow interrupts that facilitate recording of data in accordance with an exemplary embodiment of the present invention.
  • Fig. 3 is a block diagram of a real-time data buffer having dynamic values for thresholds for critical/buffer underflow interrupts that facilitate playback of data in accordance with an exemplary embodiment of the present invention.
  • Fig. 4 is a process flow diagram showing three examples of responding to a buffer overflow message while performing a recording operation in accordance with an exemplary embodiment of the present invention.
  • Fig. 5 is a process flow diagram showing three examples of responding to a buffer underflow message while performing a playback operation in accordance with an exemplary embodiment of the present invention.
  • a real-time data buffer is inserted into the real-time data path of a storage or recording system.
  • the realtime data buffer can compensate for some latency of the system. If the latency increases unexpectedly, a buffer overflow or underflow happens, depending on the direction of data access, namely read or write. These events are detectable by a controller unit like a microprocessor which is able to initiate immediately appropriate reactions.
  • a collapse of the required data rate may lead to data loss.
  • the system has to be reset to a known state and the real-time data transmitting has to be repeated, if possible.
  • This restart of the data processing costs generally much time especially when a human being is responsible for the management. Otherwise, significant amounts of data may be lost.
  • the real-time system desirably reacts automatically and as fast as possible upon an unexpected low data rate.
  • An exemplary embodiment of the present invention provides a mechanism to recognize and handle a collapse of the data rate very quickly.
  • Fig. 1 is a block diagram of a real-time data processing and storage system with a real-time data buffer in accordance with an exemplary embodiment of the present invention.
  • the real-time data processing and storage system is generally referred to by the reference number 100.
  • the real-time data processing and storage system 100 includes a real-time data buffer 102 that is adapted to exchange data with a real-time interface 104 and a data processing unit 106.
  • the real-time interface 104 may be adapted to communicate with a real-time data source or sink, e.g. a digital camera or a display.
  • the operation of the real-time data processing and storage system 100 is controlled by a controller unit 108.
  • the controller unit 108 is adapted to provide control information to configure the real-time data buffer 102, the real-time interface 104, the data processing unit 106 and an I/O controller 110 via a control path 112.
  • the controller unit 108 comprises a microprocessor.
  • the real-time data buffer 102 provides status information to the controller unit 108 via a status path 114.
  • the data is first streamed from the real-time interface 104 into the real-time data buffer unit 102.
  • the real-time data buffer unit 102 comprises a memory module. Because the real-time data stream is written into and read from the real-time data buffer unit 102 concurrently, the realtime data buffer unit 102 desirably runs at a rate of at least twice the real-time data rate. From the real-time data buffer unit 102, the stream passes to the data processing unit 106 where some desired operations on the data stream can be executed in real-time. From the output of the data processing unit 106, the data stream is written to a mass storage array 116 through the I/O controller 110.
  • the mass storage array 116 may comprise a plurality of mass storage devices.
  • the controller unit 108 sets the hardware components of the real-time data processing and storage system 100 into a mode that has been demanded by a user. Examples of modes that may be demanded include a video record mode or a video playback mode.
  • the mass storage arrayi 16 produces latencies, especially at the beginning of a data transfer, whether a read or a write request.
  • the capacity of the real-time data buffer 102 is desirably chosen so that it is big enough to compensate these predictable latencies.
  • a second kind of latency is produced under special environmental conditions or when unexpected events happen.
  • unexpected events that may cause data loss include vibrations of hard disks that may cause a long time for positioning of the read/write head before the data stream is continued or damaged sectors of a storage unit or the like.
  • Another example includes a situation in which an error correction algorithm or a remapping algorithm produces additional data processing delay.
  • damage to the video data stream is observable during playback by a user, who will restart the playback of the whole stream.
  • the restart is done automatically at the point where the video data gets corrupted. In this manner, disruption to the video playback is minimized.
  • the monitoring of the ability of the system to store data in real time can be configured.
  • Thresholds of the realtime data buffer 102 can be programmed by the controller unit 108 via the control path 112.
  • the controller unit 108 is able to determine and program those thresholds dynamically by, for example, writing them into registers that are accessed by the real-time data buffer 102.
  • the real-time data buffer 102 may send status information or signal different events or messages to the controller unit 108 via the status path 114. Consequently, events critical to the operation of the real-time data processing and storage system 100 can be dynamically adapted to the momentary environmental conditions of the working location of the system which enables an optimal reaction in the event of data losses.
  • Fig. 2 is a block diagram of a real-time data buffer having dynamic values for thresholds for critical/buffer overflow interrupts that facilitate recording of data in accordance with an exemplary embodiment of the present invention.
  • the block diagram is generally referred to by the reference number 200.
  • a data stream 202 is received by the real-time interface 104 with an intended destination of the mass storage array 116.
  • the block diagram 200 illustrates an example of a configurable buffer overflow threshold and a further threshold for a critical buffer byte count during a record operation.
  • the controller unit 108 programs a buffer overflow byte count register 204 with an appropriate buffer overflow byte count value.
  • the controller unit 108 additionally programs a critical buffer byte count register 206 with a critical buffer byte count value.
  • the real-time data buffer 102 may generate a buffer overflow interrupt signal if the byte count in the real-time data buffer 102 exceeds the buffer overflow byte count.
  • the realtime data buffer 102 may generate a critical buffer byte count interrupt if the byte count of the real-time data buffer exceeds the critical buffer byte count.
  • an interrupt status value may be written by the real-time data buffer 102 into an interrupt status register 208, which may be read by the controller unit 108.
  • the interrupt status value may support an analysis of the reasons why the real-time data rate could not be provided. Processing steps taken in response to a buffer overflow are explained in detail below with reference to Fig. 4.
  • Fig. 3 is a block diagram of a real-time data buffer having dynamic values for thresholds for critical/buffer underflow interrupts that facilitate playback of data in accordance with an exemplary embodiment of the present invention.
  • the block diagram is generally referred to by the reference number 300.
  • a data stream 302 is received from the mass storage array 116 by the data processing unit 106 with an intended destination of a display screen, which is not shown in Fig. 3.
  • the block diagram 300 illustrates an example of a configurable buffer underflow threshold and a further threshold for a critical buffer byte count during a playback operation.
  • the controller unit 108 programs a buffer underflow byte count register 304 with an appropriate buffer underflow byte count value.
  • the controller unit 108 additionally programs a critical buffer byte count register 306 with a critical buffer byte count value.
  • the real-time data buffer 102 may generate a buffer underflow interrupt signal if the byte count in the real-time data buffer 102 is less than the buffer underflow byte count.
  • the real-time data buffer 102 may generate a critical buffer byte count interrupt if the byte count of the real-time data buffer is less than the critical buffer byte count.
  • an interrupt status value may be written by the real-time data buffer 102 into an interrupt status register 308, which may be read by the controller unit 108.
  • the interrupt status value may support an analysis of the reasons why the real-time data rate could not be provided. Processing steps taken in response to a buffer underflow are explained in detail below with reference to Fig. 5.
  • Fig. 4 is a process flow diagram showing three exemplary modes of responding to a buffer overflow message while performing a recording operation in accordance with an exemplary embodiment of the present invention.
  • the process flow diagram which comprises Fig. 4a and Fig. 4b, is generally referred to by the reference number 400.
  • the method 400 may be performed by the controller unit 108 upon receiving a request to record video data from a user.
  • the controller unit 108 Prior to receipt of the request to record data, the controller unit 108 performs an idle step 402. When the request to record data is received, the controller unit 108 performs configuration of the hardware of the real-time data processing and storage system 100, as shown at step 404. The record operation begins at step 406.
  • the real-time data buffer 102 becomes full and overflows. Data that would otherwise be recorded is then lost.
  • an interrupt may be generated by the real-time data buffer 102, as described above with reference to Fig. 2.
  • the real-time data buffer 102 may write an interrupt status value to the interrupt status register 208.
  • the user may be notified of the overflow by a signal such as the lighting of an indicator LED or a printout to the display of the storage device 100.
  • the controller 108 performs a mode select step 408 to determine one of three possible modes in which to respond to the buffer overflow condition.
  • modes of operation described herein are merely examples of how to react to buffer overflow/underflow events. Additional modes may be devised based on design criteria for a particular system. The decision about which mode to employ in a given situation may be programmed in advance based on system design considerations.
  • a current record or playback is automatically restarted when an overflow or underflow event occurs. Recording or playback may be aborted if a given number of overflow/underflow events occur in within a specified period of time, such as five overflow/underflow events within a period of one minute as such a condition indicates severe problems with real-time availability of system hardware. This illustrates that the different modes of operation can be interlaced.
  • the treatment of records also depends on system design criteria.
  • an exemplary embodiment of the present invention is desirably adapted to read and process records that result from a corrupted video stream.
  • the controller unit 108 is adapted to react promptly and automatically to initiate the appropriate action to resolve the overflow problem.
  • appropriate action comprises but is not limited to aborting the recording, as shown at step 410. If this mode of responding to the overflow condition is selected by the controller unit 108, the recording is ended as shown at step 412. The operation of the hardware units of the real-time data processing and storage system 100 are stopped, as shown at step 414 and the idle step 402 is again performed by the controller 108.
  • the controller 108 may stop the current record operation and reset the hardware units of the real-time data processing and storage system 100 to a known state, as shown at step 416. A further data file may be created, as shown at step 418. At step 420, the controller unit 108 restarts the record operation and the new record operation is commenced at step 422.
  • the second record operation represented by the recording step 422 completes according to user input without further buffer overflow events.
  • the recording operation is then stopped, as shown at block 412, and the hardware units of the real-time data processing and storage system 100 are stopped, as shown at step 414.
  • the controller unit 108 again performs the idle step 402 to complete the second mode of operation.
  • the controller unit 108 responds to a buffer overflow condition using this second method of operation, the only data lost will be data in between the time of the buffer overflow and the time the successive record operation is started.
  • data from the two recording sessions may be stored in two different data files. The content of these files is not corrupted/damaged.
  • a third mode of operation may be initiated by the controller unit 108 in response to a buffer overflow condition.
  • the controller unit 108 identifies the buffer overflow and memorizes the location and duration of the overflow for a given data file. Thereafter, real-time recording is started as soon as the real-time data processing and storage system 100 is able to continue recording in real time. In this situation, the stored data stream is damaged, but the amount of data loss is as small as possible. The controller unit 108 now operates to manage a reading of the damaged data stream as effectively as possible.
  • the controller unit 108 performs an information mode step 424. Together with signaling a buffer overflow event or message, further information about the state of the real-time data processing and storage system 100 can be delivered to the controller unit 108 and, for example, to a user interface.
  • the real-time data buffer 102 sends information about its status to the controller unit 108. This process is illustrated at step 426 in Fig. 4.
  • the information provided by the real-time data buffer 102 may include information about the location of an error in the current data strea. Knowing the location of errors allows an exemplary embodiment of the present invention to work around errors.
  • step 426 additional information sent during step 426 may allow identification of the reason for the overflow event to be analyzed and perhaps solved. For example, if one storage unit on the mass storage array 116 slows down the data rate because of damaged sectors, a replacement of that storage unit when the device is in the idle step 402 can solve the problem for future records.
  • the real-time data buffer 102 is adapted to continue recording and providing status information to the controller unit 108, as shown at step 428.
  • the recording operation is stopped, as shown at block 412. Moreover, the hardware units of the real-time data processing and storage system 100 are stopped, as shown at step 414.
  • the controller unit 108 again performs the idle step 402 to complete the third mode of operation.
  • Fig. 5 is a process flow diagram showing three examples of responding to a buffer underflow message while performing a playback operation in accordance with an exemplary embodiment of the present invention.
  • the process flow diagram which comprises Fig. 5a and Fig. 5b, is generally referred to by the reference number 500.
  • the method 500 may be performed by the controller unit 108 upon receiving a request from a user to perform a playback of stored video data.
  • the controller unit 108 Prior to receipt of the request to perform the playback operation, the controller unit 108 performs an idle step 502. When the request to perform the playback operation is received, the controller unit 108 performs configuration of the hardware of the real-time data processing and storage system 100, as shown at step 504. The playback operation begins at step 506.
  • a buffer underflow of the real-time data buffer 102 occurs because the real-time interface 104 reads data faster from the real-time data buffer 102 than data is written to it from the mass storage array 116. As a consequence, the real-time data rate requirement is not fulfilled.
  • an interrupt may be generated by the real-time data buffer 102, as described above with reference to Fig. 3. Also, the real-time data buffer 102 may write an interrupt status value to the interrupt status register 308. The user may be notified of the underflow by a signal such as the lighting of an indicator LED. In response to being notified of the underflow condition, the controller 108 performs a mode select step 508 to determine one of three possible modes in which to respond to the buffer underflow condition.
  • the controller unit 108 is adapted to react promptly and automatically to initiate the appropriate action to resolve the underflow problem.
  • appropriate action comprises but is not limited to aborting the playback operation, as shown at step 510. If this mode of responding to the overflow condition is selected by the controller unit
  • the recording is ended as shown at step 512.
  • the operation of the hardware units of the real-time data processing and storage system 100 are stopped, as shown at step 514 and the idle step 502 is again performed by the controller 108.
  • the user may be informed about the unsuccessful completion of the playback operation. Consequently, the user can restart the playback operation manually.
  • the controller 108 may perform an auto-resume step 516 by stopping the playback operation and setting all hardware units into a known state such as a reset state, as shown at step 518.
  • the playback operation is then restarted at the place where the buffer underflow event appeared, as shown at step 520.
  • the second playback operation represented by the playback step 520 completes according to user input without further buffer underflow events.
  • the playback operation is then stopped, as shown at block 512, and the hardware units of the real-time data processing and storage system 100 are stopped, as shown at step 514.
  • the controller unit 108 again performs the idle step 502 to complete the second mode of operation.
  • a third mode of operation may be initiated by the controller unit 108 in response to a buffer underflow condition.
  • the controller unit 108 is adapted to continue playback with the result that an undamaged video stream is shown when the data transfer rate of the mass storage array 116 reaches the required real-time data rate following the underflow condition.
  • a playback unit preferably placed between the real-time data buffer 102 and the real-time interface 104 is desirably adapted to process corrupted data streams.
  • the playback unit could be positioned after the real-time interface 104
  • the playback unit is desirably adapted to resynchronize the data stream to generate a correct data output, for example, to show a correct video picture.
  • data loss is minimized. Nonetheless, the processing of corrupted files is difficult because a reading application must process unexpected data.
  • the controller unit 108 performs an information mode step 522.
  • the real-time data buffer 102 sends information about its status to the controller unit 108. This process is illustrated at step 524 in Fig. 5.
  • the information provided by the real-time data buffer 102 may allow identification of the reason for the underflow event to be analyzed and perhaps solved.
  • the real- time data buffer 102 is adapted to continue playing and providing status information to the controller unit 108, as shown at step 526.
  • the playback operation is stopped, as shown at block 512. Moreover, the hardware units of the real-time data processing and storage system 100 are stopped, as shown at step 514. The controller unit 108 again performs the idle step 502 to complete the third mode of operation.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

The present invention relates to a device and method for transferring data. According to the invention, a data storage device (100) comprises a mass storage device (116) that stores real-time data received from a data source and a data buffer (102) that buffers the real-time data before the real-time data is stored on the mass storage device (116). The data storage device (100) also comprises a controller (108) that selects one of a first plurality of operating modes if the data buffer (102) experiences a buffer overflow condition and selects one of a second plurality of operating modes if the data buffer experiences a buffer underflow condition. A method according to the invention comprises receiving a real-time data stream from a data source and buffering real-time data received from the data source. The method further comprises selecting one of a first plurality of operating modes if a buffer overflow condition is experienced while buffering the real-time data and selecting one of a second plurality of operating modes if a buffer underflow condition is experienced while buffering the real-time data.

Description

Method and Apparatus for Processing Real-Time Data Streams
The present invention relates to the field of storage systems or processing systems for real-time data streaming. In particular, exemplary embodiments of the present invention relate to monitoring the real-time ability of such systems and altering the operation of the system in response.
There are many applications and systems dealing with real-time data processing and storage. Basic properties of real-time data streaming typically include that the required data rate must be maintained at a fast enough level to permit real time streaming and that the stream generally cannot be paused. If the data stream sink, e.g. a storage unit, is temporarily not able to work at the required data rate, the data stream is partly lost. The amount of lost data depends on the time the data rate is down and on the way in which the real-time system handles this event.
Japanese Patent Application Publication No. 10093581 to Fujii purports to disclose a system having a power-on reset circuit that transmits mounting information to a selector. The mounting information represents a system package connection state. When the amount of data stored in a pair of buffers is below a threshold value, an underflow signal is transmitted. A pair of detectors detects whether a first and second package is operating or not and outputs first and second detecting signals respectively. The selector outputs a stuff request signal in response to the underflow signal. The stuff request signal is output to the first and second buffers based on the second and first detecting signals respectively.
EP Patent Application No. 663774 to Kim et al. purports to disclose a de- multiplexing apparatus that comprises an input FIFO buffer module with several series input FIFO buffer memories for temporarily storing the bit stream. Each buffer generates a full or an empty flag signal representative of the state of the buffer. A video FIFO buffer module has several video FIFO buffers generating a full or empty flag signal representing its state. Similarly, the apparatus includes an audio FIFO buffer. Flag status detectors receive the flag signals. The flag status detectors also detect and produce a buffer status signal indicative of the number of FIFO buffers that exhibit the full or the empty state in the input, the video and the audio FIFO buffer modules. A control circuit, in response to the signal, fetches the input bit stream from the input FIFO buffers exhibiting full states to de-multiplex the fetched bit stream to produce video and audio data bit streams, and provide video and audio data bit streams to the video and audio FIFO buffers indicating empty states.
U.S. Patent No. 6,295,321 to Lyu purports to disclose a video decoding method and apparatus using the method to decode and display a compressed video bit stream output through a video buffer and the temporary storing of the video bit stream. The method includes the steps of receiving a single sync signal and an external command to control decoding of the video bit stream, and decoding the input video bit stream, or skipping it, or waiting without decoding under the control of the first step. A video decoder includes a decoding control section receptive to a single synchronization signal and an external command to control decoding of the video bit stream, and a video decoder for decoding the video bit stream input through the video buffer, or skipping the video bit stream, or waiting for a defined frame period without decoding the video bit stream under the control of the decoding control section.
U.S. Patent No. 6,757,348 to Vila et al. purports to disclose systems and methods for enabling data transfers over communications links having a plurality of transmission lanes. One disclosed system comprises a plurality of elastic buffers, each of which is coupled to one of the lanes in the communications link, and a buffer controller coupled to the buffers. Data is clocked into the elastic buffers using a first clock signal and is clocked out of the buffers by a second clock signal. The buffer controller is configured to monitor each of the buffers and to detect impending underflow or overflow conditions. In response to detecting one of these conditions, the buffer controller will cause the words to be added or deleted, respectively, to all of the elastic buffers rather than only the buffer in which the overflow/underflow condition was detected.
U.S. Patent Application Publication No. 20020136205 to Sasaki purports to disclose a system that performs real time communication. Long interruption of a media data signal caused by underflow or overflow of a buffer is purportedly reduced. A monitoring unit monitors a state of the buffer periodically. When the quantity of encoded data in the buffer shows tendency of increasing from a standard data storage number, successively a predetermined number of times, then, it is judged that the buffer tends to overflow. The decoding unit is then made to skip at least one encoded data to be read and processed this time from the buffer. Further, when the quantity of encoded data in the buffer shows a tendency of decreasing from the mentioned standard data storage number, successively the predetermined number of times, then, it is judged that the buffer tends to underflow. The processing unit is then made to suspend operation during at least one period of the above-mentioned reproduction period.
The real-time ability of a data storage and processing system can decrease during the lifetime of the system. In addition, environmental conditions may negatively impact system performance.
A simple and efficient mechanism to monitor the real-time behavior of a real-time storage system that provides the possibility of reacting very quickly to unforeseen system performance collapses is desirable.
A data storage apparatus in accordance with the present invention is recited in claim 1. The data storage device comprises a mass storage device that stores real-time data received from a data source and a data buffer that buffers the realtime data before the real-time data is stored on the mass storage device. The data storage device also comprises a controller that selects one of a first plurality of operating modes if the data buffer experiences a buffer overflow condition and selects one of a second plurality of operating modes if the data buffer experiences a buffer underflow condition. In a data storage device according to the invention, the controller may be adapted to notify a user if the data buffer experiences a buffer overflow condition or a buffer underflow condition. Further, the data buffer may be adapted to signal the controller if the data buffer experiences a buffer overflow condition or a buffer underflow condition. In accordance with the invention, the data buffer may be adapted to write an interrupt status value into an interrupt status register if the data buffer experiences a buffer overflow condition or a buffer underflow condition. The controller may be adapted to write a buffer overflow byte count and a critical buffer byte count to the data buffer.
In a data storage device according to the invention, the controller may be adapted to abort a data recording operation as a one of the first plurality of operating modes and to abort a playback operation as a one of the second plurality of operating modes. The controller may additionally be adapted to automatically resume a temporarily suspended data recording operation as a one of the first plurality of operating modes and to automatically resume a temporarily suspended playback operation as a one of the second plurality of operating modes. The controller may further be adapted to receive status information from the data buffer as a one of the first plurality of operating modes and to receive status information from the data buffer as a one of the second plurality of operating modes without interrupting the current record or playback process.
A method of transferring data in accordance with the present invention is set forth in claim 9. The method comprises receiving a real-time data stream from a data source and buffering real-time data received from the data source. The method further comprises selecting one of a first plurality of operating modes if a buffer overflow condition is experienced while buffering the real-time data and selecting one of a second plurality of operating modes if a buffer underflow condition is experienced while buffering the real-time data.
A method according to the invention may comprise notifying a user if a buffer overflow condition is experienced while buffering the real-time data and if a buffer underflow condition is experienced while buffering the real-time data. The method may further comprise writing an interrupt status value into an interrupt status register if a buffer overflow condition is experienced while buffering the real-time data and if a buffer underflow condition is experienced while buffering the real-time data. The method may further comprise writing a buffer overflow byte count and a critical buffer byte count to a data buffer. By doing this, a system in accordance with the invention can be dynamically adapted to changing requirements due to new storage units or different environmental conditions.
In accordance with the invention, a method may comprise aborting a data recording operation as a one of the first plurality of operating modes and aborting a playback operation as a one of the second plurality of operating modes. The method may additionally comprise resuming a temporarily suspended data recording operation as a one of the first plurality of operating modes and resuming a temporarily suspended playback operation as a one of the second plurality of operating modes. The method may further comprise receiving status information from a data buffer as a one of the first plurality of operating modes and receiving status information from the data buffer as a one of the second plurality of operating modes.
A preferred embodiment of the present invention is described with reference to the accompanying drawings. The preferred embodiment merely exemplifies the invention. Plural possible modifications are apparent to the skilled person. The gist and scope of the present invention is defined in the appended claims of the present application.
Fig. 1 is a block diagram of a real-time data processing and storage system with a real-time data buffer in accordance with an exemplary embodiment of the present invention.
Fig. 2 is a block diagram of a real-time data buffer having dynamic values for thresholds for critical/buffer overflow interrupts that facilitate recording of data in accordance with an exemplary embodiment of the present invention. Fig. 3 is a block diagram of a real-time data buffer having dynamic values for thresholds for critical/buffer underflow interrupts that facilitate playback of data in accordance with an exemplary embodiment of the present invention.
Fig. 4 is a process flow diagram showing three examples of responding to a buffer overflow message while performing a recording operation in accordance with an exemplary embodiment of the present invention.
Fig. 5 is a process flow diagram showing three examples of responding to a buffer underflow message while performing a playback operation in accordance with an exemplary embodiment of the present invention.
In an exemplary embodiment of the present invention, a real-time data buffer is inserted into the real-time data path of a storage or recording system. The realtime data buffer can compensate for some latency of the system. If the latency increases unexpectedly, a buffer overflow or underflow happens, depending on the direction of data access, namely read or write. These events are detectable by a controller unit like a microprocessor which is able to initiate immediately appropriate reactions.
In real-time data processing systems, a collapse of the required data rate may lead to data loss. To handle such an event, the system has to be reset to a known state and the real-time data transmitting has to be repeated, if possible. This restart of the data processing costs generally much time especially when a human being is responsible for the management. Otherwise, significant amounts of data may be lost. To minimize the data loss, the real-time system desirably reacts automatically and as fast as possible upon an unexpected low data rate. An exemplary embodiment of the present invention provides a mechanism to recognize and handle a collapse of the data rate very quickly.
Fig. 1 is a block diagram of a real-time data processing and storage system with a real-time data buffer in accordance with an exemplary embodiment of the present invention. The real-time data processing and storage system is generally referred to by the reference number 100.
The real-time data processing and storage system 100 includes a real-time data buffer 102 that is adapted to exchange data with a real-time interface 104 and a data processing unit 106. The real-time interface 104 may be adapted to communicate with a real-time data source or sink, e.g. a digital camera or a display.
The operation of the real-time data processing and storage system 100 is controlled by a controller unit 108. The controller unit 108 is adapted to provide control information to configure the real-time data buffer 102, the real-time interface 104, the data processing unit 106 and an I/O controller 110 via a control path 112. In one exemplary embodiment of the present invention, the controller unit 108 comprises a microprocessor. The real-time data buffer 102 provides status information to the controller unit 108 via a status path 114.
In case of recording data on the mass storage array 116, the data is first streamed from the real-time interface 104 into the real-time data buffer unit 102. In one exemplary embodiment of the present invention, the real-time data buffer unit 102 comprises a memory module. Because the real-time data stream is written into and read from the real-time data buffer unit 102 concurrently, the realtime data buffer unit 102 desirably runs at a rate of at least twice the real-time data rate. From the real-time data buffer unit 102, the stream passes to the data processing unit 106 where some desired operations on the data stream can be executed in real-time. From the output of the data processing unit 106, the data stream is written to a mass storage array 116 through the I/O controller 110. The skilled person will appreciate that the mass storage array 116 may comprise a plurality of mass storage devices.
The controller unit 108 sets the hardware components of the real-time data processing and storage system 100 into a mode that has been demanded by a user. Examples of modes that may be demanded include a video record mode or a video playback mode.
The mass storage arrayi 16 produces latencies, especially at the beginning of a data transfer, whether a read or a write request. The capacity of the real-time data buffer 102 is desirably chosen so that it is big enough to compensate these predictable latencies.
A second kind of latency is produced under special environmental conditions or when unexpected events happen. Examples of unexpected events that may cause data loss include vibrations of hard disks that may cause a long time for positioning of the read/write head before the data stream is continued or damaged sectors of a storage unit or the like. Another example includes a situation in which an error correction algorithm or a remapping algorithm produces additional data processing delay. These latencies are unpredictable and cannot be compensated by the real-time data buffer 102 if their duration necessitates more than the storage capacity of the buffer.
Generally, damage to the video data stream is observable during playback by a user, who will restart the playback of the whole stream. In an exemplary embodiment of the present invention, the restart is done automatically at the point where the video data gets corrupted. In this manner, disruption to the video playback is minimized.
In an exemplary embodiment of the present invention, the monitoring of the ability of the system to store data in real time can be configured. Thresholds of the realtime data buffer 102 can be programmed by the controller unit 108 via the control path 112. The controller unit 108 is able to determine and program those thresholds dynamically by, for example, writing them into registers that are accessed by the real-time data buffer 102. In addition, the real-time data buffer 102 may send status information or signal different events or messages to the controller unit 108 via the status path 114. Consequently, events critical to the operation of the real-time data processing and storage system 100 can be dynamically adapted to the momentary environmental conditions of the working location of the system which enables an optimal reaction in the event of data losses.
Fig. 2 is a block diagram of a real-time data buffer having dynamic values for thresholds for critical/buffer overflow interrupts that facilitate recording of data in accordance with an exemplary embodiment of the present invention. The block diagram is generally referred to by the reference number 200.
A data stream 202 is received by the real-time interface 104 with an intended destination of the mass storage array 116. The block diagram 200 illustrates an example of a configurable buffer overflow threshold and a further threshold for a critical buffer byte count during a record operation. The controller unit 108 programs a buffer overflow byte count register 204 with an appropriate buffer overflow byte count value. The controller unit 108 additionally programs a critical buffer byte count register 206 with a critical buffer byte count value. The real-time data buffer 102 may generate a buffer overflow interrupt signal if the byte count in the real-time data buffer 102 exceeds the buffer overflow byte count. The realtime data buffer 102 may generate a critical buffer byte count interrupt if the byte count of the real-time data buffer exceeds the critical buffer byte count.
In addition to generating an interrupt when the number of bytes in the real-time data buffer 102 exceeds one of these thresholds, an interrupt status value may be written by the real-time data buffer 102 into an interrupt status register 208, which may be read by the controller unit 108. The interrupt status value may support an analysis of the reasons why the real-time data rate could not be provided. Processing steps taken in response to a buffer overflow are explained in detail below with reference to Fig. 4.
Fig. 3 is a block diagram of a real-time data buffer having dynamic values for thresholds for critical/buffer underflow interrupts that facilitate playback of data in accordance with an exemplary embodiment of the present invention. The block diagram is generally referred to by the reference number 300. In a playback operation requested by a user, a data stream 302 is received from the mass storage array 116 by the data processing unit 106 with an intended destination of a display screen, which is not shown in Fig. 3. The block diagram 300 illustrates an example of a configurable buffer underflow threshold and a further threshold for a critical buffer byte count during a playback operation. The controller unit 108 programs a buffer underflow byte count register 304 with an appropriate buffer underflow byte count value. The controller unit 108 additionally programs a critical buffer byte count register 306 with a critical buffer byte count value. The real-time data buffer 102 may generate a buffer underflow interrupt signal if the byte count in the real-time data buffer 102 is less than the buffer underflow byte count. The real-time data buffer 102 may generate a critical buffer byte count interrupt if the byte count of the real-time data buffer is less than the critical buffer byte count.
In addition to generating an interrupt when the number of bytes in the real-time data buffer 102 is less than one of these thresholds, an interrupt status value may be written by the real-time data buffer 102 into an interrupt status register 308, which may be read by the controller unit 108. The interrupt status value may support an analysis of the reasons why the real-time data rate could not be provided. Processing steps taken in response to a buffer underflow are explained in detail below with reference to Fig. 5.
Fig. 4 is a process flow diagram showing three exemplary modes of responding to a buffer overflow message while performing a recording operation in accordance with an exemplary embodiment of the present invention. The process flow diagram, which comprises Fig. 4a and Fig. 4b, is generally referred to by the reference number 400. The method 400 may be performed by the controller unit 108 upon receiving a request to record video data from a user.
Prior to receipt of the request to record data, the controller unit 108 performs an idle step 402. When the request to record data is received, the controller unit 108 performs configuration of the hardware of the real-time data processing and storage system 100, as shown at step 404. The record operation begins at step 406.
If a data streaming session from the real-time interface 104 to the mass storage array 116 is affected by an unexpected latency, the real-time data buffer 102 becomes full and overflows. Data that would otherwise be recorded is then lost. When a buffer overflow occurs, an interrupt may be generated by the real-time data buffer 102, as described above with reference to Fig. 2. Also, the real-time data buffer 102 may write an interrupt status value to the interrupt status register 208. The user may be notified of the overflow by a signal such as the lighting of an indicator LED or a printout to the display of the storage device 100. In response to being notified of the overflow condition, the controller 108 performs a mode select step 408 to determine one of three possible modes in which to respond to the buffer overflow condition.
The skilled person will appreciate that the modes of operation described herein are merely examples of how to react to buffer overflow/underflow events. Additional modes may be devised based on design criteria for a particular system. The decision about which mode to employ in a given situation may be programmed in advance based on system design considerations. In one exemplary embodiment, a current record or playback is automatically restarted when an overflow or underflow event occurs. Recording or playback may be aborted if a given number of overflow/underflow events occur in within a specified period of time, such as five overflow/underflow events within a period of one minute as such a condition indicates severe problems with real-time availability of system hardware. This illustrates that the different modes of operation can be interlaced. The skilled person will appreciate that the treatment of records also depends on system design criteria. Moreover, an exemplary embodiment of the present invention is desirably adapted to read and process records that result from a corrupted video stream.
In an exemplary embodiment of the present invention, the controller unit 108 is adapted to react promptly and automatically to initiate the appropriate action to resolve the overflow problem. One example of appropriate action comprises but is not limited to aborting the recording, as shown at step 410. If this mode of responding to the overflow condition is selected by the controller unit 108, the recording is ended as shown at step 412. The operation of the hardware units of the real-time data processing and storage system 100 are stopped, as shown at step 414 and the idle step 402 is again performed by the controller 108.
In a second mode of operation for responding to an overflow condition, the controller 108 may stop the current record operation and reset the hardware units of the real-time data processing and storage system 100 to a known state, as shown at step 416. A further data file may be created, as shown at step 418. At step 420, the controller unit 108 restarts the record operation and the new record operation is commenced at step 422.
In the exemplary embodiment of the present invention shown in Fig. 4, the second record operation represented by the recording step 422 completes according to user input without further buffer overflow events. The recording operation is then stopped, as shown at block 412, and the hardware units of the real-time data processing and storage system 100 are stopped, as shown at step 414. The controller unit 108 again performs the idle step 402 to complete the second mode of operation.
If the controller unit 108 responds to a buffer overflow condition using this second method of operation, the only data lost will be data in between the time of the buffer overflow and the time the successive record operation is started. As noted above, data from the two recording sessions may be stored in two different data files. The content of these files is not corrupted/damaged.
A third mode of operation may be initiated by the controller unit 108 in response to a buffer overflow condition. In this third mode of operation, the controller unit 108 identifies the buffer overflow and memorizes the location and duration of the overflow for a given data file. Thereafter, real-time recording is started as soon as the real-time data processing and storage system 100 is able to continue recording in real time. In this situation, the stored data stream is damaged, but the amount of data loss is as small as possible. The controller unit 108 now operates to manage a reading of the damaged data stream as effectively as possible.
In the exemplary embodiment of the present invention shown in Fig. 4, the controller unit 108 performs an information mode step 424. Together with signaling a buffer overflow event or message, further information about the state of the real-time data processing and storage system 100 can be delivered to the controller unit 108 and, for example, to a user interface. As part of the information mode step 424, the real-time data buffer 102 sends information about its status to the controller unit 108. This process is illustrated at step 426 in Fig. 4. The information provided by the real-time data buffer 102 may include information about the location of an error in the current data strea. Knowing the location of errors allows an exemplary embodiment of the present invention to work around errors. Moreover, additional information sent during step 426 may allow identification of the reason for the overflow event to be analyzed and perhaps solved. For example, if one storage unit on the mass storage array 116 slows down the data rate because of damaged sectors, a replacement of that storage unit when the device is in the idle step 402 can solve the problem for future records. The real-time data buffer 102 is adapted to continue recording and providing status information to the controller unit 108, as shown at step 428.
When the recording operation completes according to user input, the recording operation is stopped, as shown at block 412. Moreover, the hardware units of the real-time data processing and storage system 100 are stopped, as shown at step 414. The controller unit 108 again performs the idle step 402 to complete the third mode of operation.
Fig. 5 is a process flow diagram showing three examples of responding to a buffer underflow message while performing a playback operation in accordance with an exemplary embodiment of the present invention. The process flow diagram, which comprises Fig. 5a and Fig. 5b, is generally referred to by the reference number 500. The method 500 may be performed by the controller unit 108 upon receiving a request from a user to perform a playback of stored video data.
Prior to receipt of the request to perform the playback operation, the controller unit 108 performs an idle step 502. When the request to perform the playback operation is received, the controller unit 108 performs configuration of the hardware of the real-time data processing and storage system 100, as shown at step 504. The playback operation begins at step 506.
If a playback session from the mass storage array 116 to a display connected to the real-time interface 104 is affected by an unexpected latency, a buffer underflow of the real-time data buffer 102 occurs because the real-time interface 104 reads data faster from the real-time data buffer 102 than data is written to it from the mass storage array 116. As a consequence, the real-time data rate requirement is not fulfilled.
When a buffer underflow occurs, an interrupt may be generated by the real-time data buffer 102, as described above with reference to Fig. 3. Also, the real-time data buffer 102 may write an interrupt status value to the interrupt status register 308. The user may be notified of the underflow by a signal such as the lighting of an indicator LED. In response to being notified of the underflow condition, the controller 108 performs a mode select step 508 to determine one of three possible modes in which to respond to the buffer underflow condition.
In an exemplary embodiment of the present invention, the controller unit 108 is adapted to react promptly and automatically to initiate the appropriate action to resolve the underflow problem. One example of appropriate action comprises but is not limited to aborting the playback operation, as shown at step 510. If this mode of responding to the overflow condition is selected by the controller unit
108, the recording is ended as shown at step 512. The operation of the hardware units of the real-time data processing and storage system 100 are stopped, as shown at step 514 and the idle step 502 is again performed by the controller 108. The user may be informed about the unsuccessful completion of the playback operation. Consequently, the user can restart the playback operation manually.
In a second mode of operation for responding to an underflow condition, the controller 108 may perform an auto-resume step 516 by stopping the playback operation and setting all hardware units into a known state such as a reset state, as shown at step 518. The playback operation is then restarted at the place where the buffer underflow event appeared, as shown at step 520.
In the exemplary embodiment of the present invention shown in Fig. 5, the second playback operation represented by the playback step 520 completes according to user input without further buffer underflow events. The playback operation is then stopped, as shown at block 512, and the hardware units of the real-time data processing and storage system 100 are stopped, as shown at step 514. The controller unit 108 again performs the idle step 502 to complete the second mode of operation.
A third mode of operation may be initiated by the controller unit 108 in response to a buffer underflow condition. In this third mode of operation, the controller unit 108 is adapted to continue playback with the result that an undamaged video stream is shown when the data transfer rate of the mass storage array 116 reaches the required real-time data rate following the underflow condition.
For the third mode of operation, a playback unit preferably placed between the real-time data buffer 102 and the real-time interface 104 is desirably adapted to process corrupted data streams. Alternatively, the playback unit could be positioned after the real-time interface 104 When the real-time data rate is reached again after a buffer underflow, the playback unit is desirably adapted to resynchronize the data stream to generate a correct data output, for example, to show a correct video picture. In the third mode of operation, data loss is minimized. Nonetheless, the processing of corrupted files is difficult because a reading application must process unexpected data. In the exemplary embodiment of the present invention shown in Fig. 5, the controller unit 108 performs an information mode step 522. Together with signaling a buffer underflow event or message, further information about the state of the real-time data processing and storage system 100 can be delivered to the controller unit 108 and to a user interface. As part of the information mode step 522, the real-time data buffer 102 sends information about its status to the controller unit 108. This process is illustrated at step 524 in Fig. 5. The information provided by the real-time data buffer 102 may allow identification of the reason for the underflow event to be analyzed and perhaps solved. The real- time data buffer 102 is adapted to continue playing and providing status information to the controller unit 108, as shown at step 526.
When the playback operation completes according to user input or if the end of the current data stream is reached, the playback operation is stopped, as shown at block 512. Moreover, the hardware units of the real-time data processing and storage system 100 are stopped, as shown at step 514. The controller unit 108 again performs the idle step 502 to complete the third mode of operation.
The skilled person will appreciate that combining any of the above-recited features of the present invention together may be desirable.

Claims

Claims
1. Data storage device (100), comprising:
- a mass storage device (116) that stores real-time data received from a data source; - a data buffer (102) that buffers the real-time data before the real-time data is stored on the mass storage device (116); and
- a controller (108) that selects one of a first plurality of operating modes if the data buffer (102) experiences a buffer overflow condition and selects one of a second plurality of operating modes if the data buffer experiences a buffer underflow condition.
2. Data storage device (100) according to claim 1 , wherein the controller (108) is adapted to notify a user if the data buffer (102) experiences a buffer overflow condition or a buffer underflow condition.
3. Data storage device (100) according to claims 1 or 2, wherein the data buffer (102) is adapted to signal the controller (108) if the data buffer (102) experiences a buffer overflow condition or a buffer underflow condition.
4. Data storage device (100) according to any preceding claim, wherein the data buffer (102) is adapted to write an interrupt status value into an interrupt status register (208, 308) if the data buffer (102) experiences a buffer overflow condition or a buffer underflow condition.
5. Data recording device (100) according to any preceding claim, wherein the controller (108) is adapted to write a buffer overflow byte count, a buffer underflow byte count and a critical buffer byte count to the data buffer (102).
6. Data storage device (100) according to any preceding claim, wherein the controller (108) is adapted to abort a data recording operation as a one of the first plurality of operating modes and to abort a playback operation as a one of the second plurality of operating modes.
7. Data storage device (100) according to any preceding claim, wherein the controller (108) is adapted to automatically resume a temporarily suspended data recording operation as a one of the first plurality of operating modes and to automatically resume a temporarily suspended playback operation as a one of the second plurality of operating modes.
8. Data storage device (100) according to any preceding claim, wherein the controller (108) is adapted to receive status information from the data buffer (102) as a one of the first plurality of operating modes and to receive status information from the data buffer (102) as a one of the second plurality of operating modes.
9. Method (400) of transferring data, comprising: - receiving a real-time data stream (202) from a data source;
- buffering real-time data received from the data source; and
- selecting one of a first plurality of operating modes if a buffer overflow condition is experienced while buffering the real-time data and selecting one of a second plurality of operating modes if a buffer underflow condition is experienced while buffering the real-time data.
10. Method (400) of transferring data according to claim 9, comprising notifying a user if a buffer overflow condition is experienced while buffering the real-time data and if a buffer underflow condition is experienced while buffering the real-time data.
11. Method (400) of transferring data according to claims 9 or 10, comprising writing an interrupt status value into an interrupt status register (208, 308) if a buffer overflow condition is experienced while buffering the real-time data and if a buffer underflow condition is experienced while buffering the real-time data.
12. Method (400) of transferring data according to any of claims 9-11 , comprising writing a buffer overflow byte count, a buffer underflow byte count and a critical buffer byte count to a data buffer (102).
13. Method (400) of transferring data according to any of claims 9-12, comprising aborting a data recording operation as a one of the first plurality of operating modes and aborting a playback operation as a one of the second plurality of operating modes.
14. Method (400) of transferring data according to any of claims 9-13, comprising resuming a temporarily suspended data recording operation as a one of the first plurality of operating modes and resuming a temporarily suspended playback operation as a one of the second plurality of operating modes.
15. Method (400) of transferring data according to any of claims 9-14, comprising receiving status information from a data buffer (102) as a one of the first plurality of operating modes and receiving status information from the data buffer (102) as a one of the second plurality of operating modes.
PCT/EP2008/061466 2007-09-18 2008-09-01 Method and apparatus for processing real-time data streams WO2009037099A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP07116682.1 2007-09-18
EP07116682 2007-09-18

Publications (1)

Publication Number Publication Date
WO2009037099A1 true WO2009037099A1 (en) 2009-03-26

Family

ID=39865719

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2008/061466 WO2009037099A1 (en) 2007-09-18 2008-09-01 Method and apparatus for processing real-time data streams

Country Status (2)

Country Link
TW (1) TW200915170A (en)
WO (1) WO2009037099A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3865995A1 (en) * 2020-02-13 2021-08-18 Beijing Dajia Internet Information Technology Co., Ltd. Method, device and server for playing audio

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1139667A2 (en) * 2000-03-31 2001-10-04 Matsushita Electric Industrial Co., Ltd. Packet rate adjusting apparatus
EP1209678A1 (en) * 2000-11-21 2002-05-29 Ricoh Company, Ltd. Information recording apparatus and method
US20020110366A1 (en) * 1997-02-04 2002-08-15 Lg Electronics Inc. Method and apparatus for compensating reproduced audio signals of an optical disc
US7106672B1 (en) * 2001-09-11 2006-09-12 Zoran Corporation Method and apparatus for using a frequency difference to adjust a target bit for bit counting
WO2007007264A2 (en) * 2005-07-13 2007-01-18 Koninklijke Philips Electronics N.V. Method and apparatus for recording an input signal with a decrease of the level of resolution during temporarily suspension of the recording

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020110366A1 (en) * 1997-02-04 2002-08-15 Lg Electronics Inc. Method and apparatus for compensating reproduced audio signals of an optical disc
EP1139667A2 (en) * 2000-03-31 2001-10-04 Matsushita Electric Industrial Co., Ltd. Packet rate adjusting apparatus
EP1209678A1 (en) * 2000-11-21 2002-05-29 Ricoh Company, Ltd. Information recording apparatus and method
US7106672B1 (en) * 2001-09-11 2006-09-12 Zoran Corporation Method and apparatus for using a frequency difference to adjust a target bit for bit counting
WO2007007264A2 (en) * 2005-07-13 2007-01-18 Koninklijke Philips Electronics N.V. Method and apparatus for recording an input signal with a decrease of the level of resolution during temporarily suspension of the recording

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3865995A1 (en) * 2020-02-13 2021-08-18 Beijing Dajia Internet Information Technology Co., Ltd. Method, device and server for playing audio

Also Published As

Publication number Publication date
TW200915170A (en) 2009-04-01

Similar Documents

Publication Publication Date Title
TWI399649B (en) Method, hub device, memory controller and memory system for providing indeterminate read data latency
JP3633884B2 (en) Playback image transmission device
KR20010106226A (en) Method and device for decoding a video stream in trick mode
JP2006520986A (en) CPI data for stream buffer channel
EP1727367A2 (en) Electronic apparatus, image control method and image control program
WO2005096162A1 (en) Arbitration method and device
US6865627B2 (en) Regulating real-time data capture rates to match processor-bound data consumption rates
KR100534291B1 (en) Digital broadcasting writing regenerative apparatus
WO2009037099A1 (en) Method and apparatus for processing real-time data streams
EP1576813B1 (en) Video viewing system and method
JP2003289526A (en) Video receiving terminal unit and method for controlling reproduction
KR101341668B1 (en) Controlling data flow through a data communications link
US8428426B2 (en) Digital video recording/playback apparatus
JP2006066995A (en) Image reproducer, its control method and program, and storage medium
JP2005267313A (en) Processing control device, processing control method and processing control program
JP4612436B2 (en) Audio decoding device
KR20120106549A (en) Video server device and synchronization control method
US20080091438A1 (en) Audio signal decoder and resource access control method
US20240214321A1 (en) Data transmitting apparatus and control method thereof
JP5589654B2 (en) Video / audio playback device and video / audio playback method
JP4522835B2 (en) Image transmission apparatus and image monitoring system
JP5338595B2 (en) Data processing method and data processing apparatus
JP5012626B2 (en) Information processing apparatus and method, and program
WO2007043235A1 (en) Stream regeneration control device
JP4290306B2 (en) Recording / reproducing apparatus, method and medium

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 08803449

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 08803449

Country of ref document: EP

Kind code of ref document: A1