EP4381600A1 - Empfang und abtastratenwandlung von asynchron übertragenen audio und videodaten - Google Patents

Empfang und abtastratenwandlung von asynchron übertragenen audio und videodaten

Info

Publication number
EP4381600A1
EP4381600A1 EP22760905.4A EP22760905A EP4381600A1 EP 4381600 A1 EP4381600 A1 EP 4381600A1 EP 22760905 A EP22760905 A EP 22760905A EP 4381600 A1 EP4381600 A1 EP 4381600A1
Authority
EP
European Patent Office
Prior art keywords
data
buffer
sample rate
filter
input data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
EP22760905.4A
Other languages
English (en)
French (fr)
Inventor
Marc Brunke
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Publication of EP4381600A1 publication Critical patent/EP4381600A1/de
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03HIMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
    • H03H17/00Networks using digital techniques
    • H03H17/02Frequency selective networks
    • H03H17/04Recursive filters
    • H03H17/0416Recursive filters with input-sampling frequency and output-delivery frequency which differ, e.g. extrapolation; Anti-aliasing
    • H03H17/0422Recursive filters with input-sampling frequency and output-delivery frequency which differ, e.g. extrapolation; Anti-aliasing the input and output signals being derived from two separate clocks, i.e. asynchronous sample rate conversion
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03HIMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
    • H03H17/00Networks using digital techniques
    • H03H17/02Frequency selective networks
    • H03H17/04Recursive filters
    • H03H17/0416Recursive filters with input-sampling frequency and output-delivery frequency which differ, e.g. extrapolation; Anti-aliasing
    • H03H17/0427Recursive filters with input-sampling frequency and output-delivery frequency which differ, e.g. extrapolation; Anti-aliasing characterized by the ratio between the input-sampling and output-delivery frequencies
    • H03H17/0455Recursive filters with input-sampling frequency and output-delivery frequency which differ, e.g. extrapolation; Anti-aliasing characterized by the ratio between the input-sampling and output-delivery frequencies the ratio being rational
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/062Synchronisation of signals having the same nominal but fluctuating bit rates, e.g. using buffers
    • H04J3/0632Synchronisation of packets and cells, e.g. transmission of voice via a packet network, circuit emulation service [CES]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/0016Arrangements for synchronising receiver with transmitter correction of synchronization errors
    • H04L7/002Arrangements for synchronising receiver with transmitter correction of synchronization errors correction by interpolation
    • H04L7/0029Arrangements for synchronising receiver with transmitter correction of synchronization errors correction by interpolation interpolation of received data signal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/0016Arrangements for synchronising receiver with transmitter correction of synchronization errors
    • H04L7/005Correction by an elastic buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/439Processing of audio elementary streams
    • H04N21/4392Processing of audio elementary streams involving audio buffer management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44004Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video buffer management, e.g. video decoder buffer or video display buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/440263Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by altering the spatial resolution, e.g. for displaying on a connected PDA
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/01Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
    • H04N7/0102Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level involving the resampling of the incoming video signal

Definitions

  • the invention relates to a method and a device for converting data and a system for transmitting data.
  • the information is sent wired or wirelessly.
  • a transmitter or source z. B. microphone, camera, DVD player or the like and as a receiver or sink speaker, screen or the like.
  • the data is often sent directly using known standards (e.g. DVI, HDMI, SPDIF, AES/EBU) or using a point-to-point connection.
  • networks e.g. Ethernet, Internet
  • the receiver processes the received data using an SRC (sample rate converter, sampling rate converter, frame rate converter).
  • SRC sample rate converter, sampling rate converter, frame rate converter
  • the SRC converts a received video signal with a first resolution into a different screen resolution (e.g. source is 800x600 pixels, screen is 1920x1200 pixels) or in the case of an audio signal into a different sample rate (e.g. source with 48 kHz, loudspeakers at 44.1 kHz or 48 kHz not synchronized with the source).
  • An SRC is often implemented with low-pass filters which, based on the input signal, calculate which pixels or samples are best suited for the new resolutions, so that the viewer or listener can see or hear a result that is as true to the original as possible compared to the source.
  • synchronous point-to-point connections e.g. DVI, SPDIF
  • a synchronization signal or clock signal is also transmitted.
  • the sampling rates are in a known, fixed ratio relative to one another, which means that conversion can be carried out using relatively simple means.
  • Conventional SRCs work on the basis of this principle.
  • the method mentioned at the outset for converting data comprises at least the following steps.
  • the data packets include input data with a first sample rate.
  • the input data is assigned to positions in a combined input and filter buffer, hereinafter referred to simply as the "filter buffer", based on the first sample rate.
  • the input data are combined based on their respective position in the filter buffer as part of a low-pass filtering to output data with a defined second sample rate.
  • the input data in the filter buffer advances position-by-position and data-driven.
  • conversion means a conversion of data.
  • the conversion of the data relates on the one hand to the conversion of the data arriving in packets into a serial and preferably synchronizable or synchronized data stream and/or on the other hand to a change in the sampling rate or sample rate on which the data is based.
  • the data in particular digital data, can in principle include any data that is based on a sample rate. They therefore generally have a number of measuring points with the associated measured values, the so-called samples.
  • the data can be in the form of digital audio and/or video data, as will be explained in more detail later.
  • a sample rate refers to a temporal or spatial resolution on which the data is based. i.e. the sample rate is inversely proportional to a temporal or spatial distance between individual measurement points.
  • the data is thus recorded or measured with a corresponding sample rate and can also be stored, buffered, output and/or played back with this sample rate or with a different sample rate after conversion.
  • the incoming data is received as a number of data packets, for example by means of an input interface.
  • a data packet includes in particular at least one sample.
  • a data packet preferably includes a number of samples.
  • a data packet is therefore a so-called burst or data burst.
  • a plurality or a series, ie several, data packets are received.
  • the input data is therefore asynchronous data arriving in packets.
  • the incoming data or data packets are not synchronous, ie they are not coordinated in terms of time and usually arrive at irregular times. distance one. However, this packetized data is still based on a sample rate, namely the first sample rate.
  • the data packets can also contain other data such as e.g. B. include header data.
  • these are data packets that are transmitted in a network with a corresponding transmission protocol or network protocol.
  • the network protocol can, for example, be a protocol from the group of TCP/IP protocols, in particular the Ethernet protocol or another standard Internet protocol (IP) such as Sonet, ATM, 5G or the like.
  • IP Internet protocol
  • the data packets can take different routes in the network and therefore also have different transmission times.
  • a filter tap is assigned to a position in the filter buffer. It influences the result of the combination of the data in the filter buffer with the output data. This is done e.g. B. by means of a specifically defined weighting of the position or the filter taps within the framework of the low-pass filtering known in principle.
  • the low-pass filtering can be implemented in different ways, as will be explained in more detail later.
  • Newly arriving data - e.g. B. from the network - are assigned or allocated to an initial position in the filter buffer, as described below.
  • Data-driven means that when new data arrives, the data already in the filter buffer advances position by position. That is, if no new data arrives, the data remain at their previous position in the filter buffer. The data therefore advance in a burst-driven manner when a new data packet arrives.
  • the filter buffer is not operated with a fixed or defined clock, which was previously based on the first sample rate that was necessarily determined for this purpose, because according to the invention, the positions of the data in the filter buffer only change when new data arrives, using the invention it is therefore basically no longer necessary to determine the first sample rate.
  • the data advances in sync.
  • the advancement of the data takes place e.g. B. by shifting the actual position of the samples in the buffer, a new assignment of the samples to virtual positions or taps using memory addresses, pointers (pointers) or in a similar way.
  • Changing the position of a sample also changes the effect, for example the weighting of the low-pass filtering, of this sample when combined with the output data.
  • a sample has passed the intended positions in the filter buffer, it is deleted. This creates space for the following samples or data.
  • the filter buffer is a basically readable and writable, in particular random, memory.
  • the memory does not have to be read out sequentially or in blocks.
  • the addressing is preferably not carried out via the individual cells, but via words, ie z. B. in the form of blocks with the size of a sample. As described, it is filled with the input data and is read out at least as part of the low-pass filtering. In particular, it is implemented as an integrated circuit. But he can z. B. can also be composed of several memory modules.
  • the entire filter buffer is used for filtering. This is based on the idea that more data used in the filtering also leads to a better result. This also means in particular that preferably no areas in the filter buffer remain unused.
  • a value for a sample of the output data is available. i.e. using low-pass filtering, a value is interpolated for each sample of the output data.
  • the result of the combination or the low-pass filtering is read out or output with or in time with the second sample rate.
  • the second sample rate can fundamentally be different from or the same as the first sample rate.
  • the second sample rate preferably differs from the first sample rate.
  • the second sample rate is defined or specified. i.e. it can be specified, for example, when designing the process or the conversion device.
  • the second sample rate is preferably adjustable. i.e. she can e.g. B. by means of a user input, in accordance with other devices connected to the conversion device or by means of a default setting.
  • a preferably large configuration of the filter buffer means that missing data packets and/or an incorrect sequence of the incoming data packets can be animals are advantageously compensated in the context of the conversion of the data.
  • the method according to the invention takes place without the reconstruction of a synchronization signal.
  • the conversion device mentioned at the outset for converting data comprises an input interface.
  • the input interface is designed to receive a number of asynchronously arriving data packets.
  • the data packets include input data with a first sample rate.
  • the conversion device also has a filter buffer.
  • the filter buffer is designed in such a way that the input data is assigned to positions therein on the basis of the first sample rate.
  • the input data in the filter buffer advances position-by-position and data-driven.
  • a low-pass filter is included in the conversion device. The low-pass filter combines the input data based on their respective position in the filter buffer into output data with the defined second sample rate.
  • the conversion device according to the invention is therefore particularly suitable for carrying out a method according to the invention for converting data.
  • the input interface is e.g. B. designed as a common interface for the network standard used.
  • the conversion device preferably also includes an output interface for outputting the output data.
  • the output interface is e.g. B. designed as a standard interface for a desired audio standard or video standard.
  • the term input interface or output interface also includes non-standardised, ie e.g. B. proprietary, interface configurations.
  • the method according to the invention and the conversion device according to the invention can basically work without an input buffer or with a very small-sized pre-buffer.
  • the filter buffer alone is already sufficient to convert the data according to the invention, so that no further buffer is required for the basic invention.
  • the system mentioned at the outset for the transmission of data comprises an asynchronous data network and a conversion device according to the invention, the conversion device receiving and converting data packets from the data network.
  • the term "system” here generally describes the interaction of the explicitly mentioned components.
  • the system can also include several other components such.
  • the conversion device therefore acts in particular as an interface between an asynchronous network and a synchronous network and/or an asynchronous or synchronous terminal device.
  • a data-driven filter buffer is used in a conversion device for converting sample rates.
  • a large part of the aforementioned components of the conversion device, in particular the low-pass filter, can be implemented entirely or partially in the form of software modules in a processor of a corresponding control device.
  • the object is also achieved by a corresponding computer program product with a computer program which can be loaded directly into a memory device of a control device of a conversion device, with program sections in order to carry out all or at least some of the steps of the method according to the invention when the program is executed in the control device .
  • Such a computer program product can, in addition to the computer program, optionally contain additional components such as e.g.
  • documentation and/or additional components also include hardware components, such as hardware keys (dongles, etc.) for using the software.
  • a computer-readable medium for example a memory stick, a hard disk or another transportable or permanently installed data medium, on which the program sections of the computer program that can be read and executed by a computer unit of the control device are stored, can be used for transport to the control device and/or for storage on or in the control device are.
  • the computer unit can, for example, have one or more microprocessors or the like working together.
  • the input data preferably includes samples according to the first sample rate.
  • the samples of the input data are then preferably assigned to a respective position in the filter buffer on the basis of the first sample rate.
  • the input data are preferably combined as a function of the respective position of their samples in the filter buffer.
  • a sample is a signal digitized from an analog signal, i.e. a measured value recorded and digitized at a measurement time.
  • the sample has a bit depth that depends on how the measurements were taken.
  • the input data and the output data preferably include audio data and/or video data.
  • audio data there are typically audio samples which have an audio level with a bit depth of 8 bits, 16 bits, 20 bits, 32 bits or preferably 24 bits.
  • the audio data is therefore in particular audio data from the professional audio sector.
  • a video sample exists for each video frame and for each video level or color channel and the pixel associated with that video level.
  • a video frame of an HD signal with 1080 lines and a color resolution of 4:2:2 consists of 1920 samples for the luma signal and 960 samples each for the two color difference signals per line, i.e. a total of 3840 samples per line.
  • the conversion according to the invention can be applied to any spatial resolutions or color resolutions as well as temporal resolutions.
  • the color depth is z.
  • 24-bit true color, 8 bits each for R, G and B
  • 32-bit true color + 8-bit alpha channel, 8-bit each for R, G, B and alpha
  • 30-bit deep color / HDR video, 10 bits each for Y, U and V
  • 36 bits Deep Color / HDR10+ / Dolby Vision, 12 bits each for R, G and B.
  • the first sample rate of a video signal thus has several components.
  • a first component is the temporal resolution in the individual video frames, i.e. the frame rate.
  • One or more second components of the first sample rate of the video signal are the spatial resolutions of the individual color channels. This applies analogously to the second sample rate.
  • the second sample rate can be the same as the first sample rate, so that the conversion of packet-wise se incoming data takes place in a serial data stream. However, it can also differ from the first sample rate in one or more components, so that these components are converted.
  • the conversion method according to the invention can correspondingly be applied to one or more components of the signal in the case of video data. So it can be used to convert the frame rate and/or spatial resolution of each color channel. i.e. in particular that the principle of low-pass filtering can be applied both to a time sequence of samples that are assigned to a pixel and to video levels, e.g. B. spatially adjacent pixels of a video frame, for example, to interpolate intermediate pixels for a higher spatial resolution. With a suitable memory in the filter buffer and sufficient computing power, a simultaneous conversion of the frame rate and the spatial resolution is also possible.
  • the audio data preferably have sample rates of 44.1 kHz, 48 kHz, 88.2 kHz, 96 kHz, 176.4 kHz or 192 kHz.
  • the video data preferably have temporal sample rates or frame rates of 25 Hz, 50 Hz, 59.94 Hz, 100 Hz or 119.88 Hz.
  • the positions of the filter buffer are preferably assigned filter coefficients for low-pass filtering, which are particularly preferably adjustable.
  • the output data is therefore generated from a linear combination of the data stored at the positions as part of the low-pass filtering, with the filter coefficients serving as weighting factors.
  • the fact that the filter coefficients are "adjustable" means that they can be changed as required. If e.g. If, for example, the first sample rate or the second sample rate with which the output data is output changes, the filter coefficients can be adjusted accordingly.
  • the low-pass filtering preferably takes place using an 11R filter or particularly preferably using an FIR filter.
  • the operating principles of the corresponding filters are known in principle to those skilled in the art.
  • the data stored in the filter buffer can particularly preferably be modified by means of feedback loops.
  • a feedback loop is preferably assigned to each position in the filter buffer or each filter tap. If, for example, it is determined when reading out the data that the data is not in one or more of the positions change, for example because no new input data arrives, the respective feedback loop regulates that the data stored at the position asymptotically approach the value zero. In other words, in this case, the feedback loops ensure that the filter decays.
  • the output data are preferably generated as a serial data stream by repeating at least some of the steps of the method according to the invention. For example, as part of the steps, the combination can be repeated, each time generating a new sample of output data.
  • the combination can also be repeated if no new input data is received. If the filter buffer is set up in such a way that the data remain unchanged in their position when there is no new input data, a time-constant value can be output as output data when the combination is repeated, for example.
  • the previously described decay can also be implemented by means of feedback loops.
  • the filter buffer is therefore preferably dimensioned to buffer at least 5 ms, particularly preferably at least 10 ms, very particularly preferably at least 15 ms, most preferably at least 20 ms of the input data.
  • the first sample rate is particularly preferably estimated by assigning the rate of incoming samples to one of the standard sample rates, in particular one of the standard sample rates specified above.
  • this estimation does not correspond to a reconstruction of a sync signal or clock signal, as would be required for a prior art SRC.
  • the input data are preferably pre-buffered and particularly preferably pre-sorted in a pre-buffer before the filter buffer.
  • the prebuffer is a relative to the Filter buffer small memory.
  • the pre-buffer is preferably many times smaller than the filter buffer. i.e. it has, for example, a memory size of at most one third, preferably at most one quarter, particularly preferably at most one fifth, very particularly preferably at most one tenth, of the memory size of the filter buffer.
  • the prebuffer can e.g. B. be designed as a FIFO memory.
  • the pre-buffer has logic that sends the data packets z. B. based on header data, as is common in many network protocols, sorted.
  • the pre-buffer should therefore only temporarily store a relatively small amount of data, for example in order to intercept bursts of data, ie one or more data packets arriving at short intervals. Transmission pauses occur between such bursts. They arise e.g. B. by combining multiple samples within the source to send data packets more efficiently.
  • the filter buffer is thus filled more evenly or in a more orderly manner, which at the same time improves the result of the following low-pass filtering.
  • the pre-buffer is particularly preferably connected to logic, a circuit or an electronic component which estimates the first sample rate as already described above.
  • the pre-buffer preferably forwards the individual samples at a higher rate than the estimated sample rate.
  • the rate is preferably at least 1% higher, more preferably at least 2% higher, most preferably at least 4% higher than the estimated sample rate. This advantageously prevents the pre-buffer from filling up.
  • the filter buffer is preferably designed in such a way that it can be read out and written to at the same time.
  • an arbitration logic regulates collisions, the z. B. arise with simultaneous accesses. So he can z. B. be designed as a dual-port RAM.
  • This refinement of the filter buffer is particularly advantageous since the two otherwise separate systems can work with the common data when filling and reading out the filter buffer without restricting each other's access speed.
  • the filter buffer and the low-pass filter form an interpolator.
  • the signal present at the output of the low-pass filter has a high frequency, e.g. B. is in the range of 50 MHz, updated
  • the conversion device preferably also includes a decimator, which is connected downstream of the interpolator and outputs the intermediate results generated by the interpolator with the desired second sample rate, i.e. a lower frequency or the new video resolution or desired audio sample rate .
  • the input data is preferably converted into output data in the form of a serial data stream.
  • the serial data stream of the output data is particularly preferably synchronous or can be synchronized with a number of devices connected to the conversion device.
  • the output data is then preferably transmitted via an output interface to a number of other devices with which the conversion device is synchronized. So it can be z. B. be just one or more synchronously connected to the conversion device facilities.
  • the conversion device is particularly preferably connected synchronously to a synchronously operating audio interface and/or video interface, which is followed by a number of other devices.
  • the quality of the (low-pass) filter of the interpolator of the sample rate converter is thus improved by the significantly increased number of TAPs by means of the invention. Furthermore, due to the increased low-pass effect, an increased tolerance for unstable or large networks is achieved.
  • the three electronic components described at the outset are implemented in just one component.
  • FIG. 1 shows a block diagram of a sequence of an exemplary embodiment of a method according to the invention for converting data
  • FIG. 2 is a block diagram of an embodiment of a conversion device according to the invention for converting data and
  • FIG. 3 shows a roughly schematic diagram of an embodiment of a system according to the invention for the transmission of data.
  • FIG. 1 shows a block diagram of a sequence of a method according to the invention for converting data by way of example and in a roughly schematic manner. It is explained below together with the exemplary embodiment of a conversion device 20 according to the invention for converting data, which is shown in FIG. 2 as an example and schematically as a block diagram.
  • a first step i input data ED arriving asynchronously are received in the form of data packets DP by means of an input interface 21 .
  • data packets DP For the sake of simplicity, three data packets PO, P1, P2 are shown as an example. However, it is usually a very much larger number of data packets DP.
  • the data packets arrive asynchronously because they B. are received over a network and their transit time through the network consequently differs due to differently arranged packets or differently routed paths through the network.
  • the input data ED include a large number of samples S01, S02, . . . , S23, S24, etc., which are based on a first sample rate SR1.
  • the reference number for a sample includes the respective package number as the front digit after the "S" and the number of a sample in the respective package as the back digit.
  • the input data ED represent z. B. a digitized audio signal with the first sample rate SR1 of z. B. 96 kHz and a bit depth of 24 bits was sampled.
  • Each sample S01, S02, . . . , S23, S24 thus has a sample value that characterizes the audio signal.
  • the input data ED are optionally pre-buffered in a pre-buffer 28 in order to compensate for irregular arrival of the data packets DP, and also optionally, e.g. B. pre-sorted based on their header data to sorted input data ED *.
  • the buffer 28 optionally includes sorting logic (not shown). So if e.g. B. the data packet P1 arrived at the input interface 21 before the data packet PO, they could be rearranged in the prebuffer 28 so that they are again arranged in the correct order shown.
  • the prebuffer can B. be designed as a FIFO buffer.
  • the pre-buffered or sorted input data ED* are transmitted to a filter buffer 22, preferably sample-by-sample at a higher rate than the estimated sample rate. i.e. each sample S01 , S02, ... , S23, S24 etc. is stored at a position in the filter buffer 22 or in a filter tap. For the sake of simplicity, the positions are shown here in a consecutive row. Even if such an implementation is possible in principle, it is clear to the person skilled in the art that the position in a memory, e.g. B. is described by memory addresses or pointers (pointers). Accordingly, the samples S01, S02, ...
  • S23, S24 do not usually have to be stored in storage locations that are actually lined up one after the other, but the ordered series of samples S01 , S02, ... , S23, S24 can be assigned to the samples S01 , S02, ..., S23, S24 assigned a series of memory addresses or pointers are understood.
  • the samples S01, S02, . i.e. the position of the samples S01 , S02, ... , S23, S24 is shifted by the number of newly arriving samples. As described above, this can basically be done by physically moving the sample to a new storage location.
  • the series of memory addresses or pointers is preferably simply changed accordingly.
  • a weighting element g1, g2, . . . gn of a low-pass filter 23 is linked to a position or a filter tap in the filter buffer 22. i.e. as part of a low-pass filtering that takes place in step ii of the method, the values of the samples S01, S02, ..., S23, S24 are each used by means of the weighting element or by means of the filter coefficient g1, g2, gn weighted, which is associated with them based on their position in the filter buffer 22 respectively.
  • the correspondingly weighted values are all subsequently added by means of a summation element 27 .
  • the setting of the filter coefficients can be fixed for specific parameters, for example during production, or can also be electronically set later.
  • the result of this linear combination is output from the low-pass filter 23 as combined data KD.
  • a sync signal CLK is provided for synchronization by means of a sync source 26 .
  • the sync source 26 can—as shown here—be arranged within the conversion device 20 so that other devices connected to the conversion device are synchronized to this sync signal CLK.
  • the sync source 26 can also be designed as an interface to another device connected to the conversion device or as a network interface.
  • the sample rate-converted data SKD are output via an output interface 24 .
  • the output interface 24 z. B. other devices or a network, preferably synchronized connected.
  • the filter buffer 22 is designed to be much larger than the pre-buffer 28. As can already be seen from the area interruptions in FIG. 2, not all positions of the pre-buffer 28 and the filter buffer 22 are shown. Likewise, the relationship between the pre-buffer 28 and the filter buffer is not to scale, but the filter buffer 22 is preferred many times larger than the prebuffer 28. It is dimensioned in particular to buffer at least 5 ms, preferably at least 10 ms, particularly preferably at least 15 ms, very particularly preferably at least 20 ms of the input data ED. This size of the filter buffer 22 advantageously makes it easier to compensate for interchanged and/or missing data packets DP—in particular if there is no prebuffer 28 or if the prebuffer 28 alone is not sufficient for this.
  • the samples S01, S02, S03 and S04 of the first data packet PO had failed, the samples S11, S12, S13 and S14 of the second data packet P1 would directly follow the preceding data. This would eventually cause a break or crackle in the audio signal when the signal was readily output.
  • the absence of the first data packet PO no longer has any significant impact on normal human hearing. The same applies analogously in the event that z. B. the first data packet PO and the second data packet P1 arrive in the filter buffer 22 in reversed order.
  • the first sample rate SR1 is 96 kHz.
  • the parameters such as e.g. B. the filter coefficients g1, g2, ..., gn are modified in order to output the signal as faithfully as possible to the original with the second sample rate SR2.
  • the weighting factors of the weighting elements g1, g2, . . . , gn can preferably be set. So you can e.g. B. be determined depending on the (estimated) first sample rate SR1, the second sample rate SR2 and / or other relevant parameters.
  • FIG. 3 shows a diagram of an exemplary embodiment of a system 30 according to the invention for the transmission of data in a roughly schematic manner.
  • the system 30 includes a microphone 31 as an audio source, the audio signal AS of which is preamplified and digitized by means of an A/D converter, i. H. is sampled with the first sample rate SR1 and a defined bit depth.
  • the sampled signal is transmitted to a network device 32, where it is packed into data packets DP and transmitted using a defined network protocol, e.g. B. Ethernet or other standard Internet protocols (IP) such as Sonet, ATM, 5G, sent via a data network 33.
  • IP Internet protocols
  • the data packets DP can be routed differently in the data network 33 and are therefore received asynchronously by the conversion device 20 as input data ED.
  • the conversion device 20 converts the input data ED, in particular the conversion into synchronized data and/or sample rate-converted data SKD takes place.
  • a second sample rate SR2 to be output can be specified by means of an input interface 25 for a conversion of the sample rate.
  • the specification can e.g. B. by a user, by a connected audio device or via the data network 33 or via an audio network synchronously connected to the conversion device 20.
  • the synchronous and sample rate-converted data SKD are converted back into an analog audio signal by means of a suitable loudspeaker 34 and reproduced.
  • a suitable loudspeaker 34 In addition to the microphone 31 and the loudspeaker 34, the system can also have a large number of other audio sources (microphones, line-in, etc.), playback devices, processing devices (such as mixers), or network devices (such as routers, repeaters ) and/or similar.
  • the conversion device 20 thus serves as an interface between an asynchronous data network 33 and synchronized audio devices such. B. the speaker 34, and / or synchronous data networks, in particular synchronous audio networks and / or video networks.
  • indefinite article “a” or “an” does not rule out the possibility that the characteristics in question can also be present more than once.
  • the terms “device”, “unit” and “system” do not rule out the component in question consisting of a number of interacting subcomponents, which may also be spatially distributed.

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)

Abstract

Die Erfindung betrifft Verfahren zur Konvertierung von Daten, welches zumindest folgende Schritte umfasst. Eine Anzahl von asynchron eintreffenden Datenpaketen (P0, P1,..., P4) wird empfangen, wobei die Datenpakete (DP) Eingangsdaten (ED) mit einer ersten Samplerate umfassen. Die Eingangsdaten (ED) werden zu Positionen in einem Filterbuffer (22) auf Basis der ersten Samplerate zugewiesen. Die Eingangsdaten (ED) werden auf Basis ihrer jeweiligen Position im Filterbuffer (22) zu Ausgangsdaten (SKD) mit einer definierten zweiten Samplerate (SR2) im Rahmen einer Tiefpassfilterung (23) kombiniert. Dabei rücken die Eingangsdaten im Filterbuffer (22) positionsweise und datengetrieben vor. Die Erfindung betrifft ferner eine Konvertierungsvorrichtung (20) und ein System (30) zur Übertragung von Daten sowie die Verwendung eines Filterbuffers (22) in einer Konvertierungsvorrichtung (20) zur Konvertierung von Samplerates (SR1, SR2).

Description

EMPFANG UND ABTASTRATENWANDLUNG VON ASYNCHRON ÜBERTRAGENEN AUDIO UND VIDEODATEN
Die Erfindung betrifft ein Verfahren sowie eine Vorrichtung zur Konvertierung von Daten sowie ein System zur Übertragung von Daten.
Bei der Übertragung von Audio- oder Videodaten zwischen einem Sender (Quelle) und einem Empfänger (Senke) werden die Informationen drahtgebunden oder drahtlos gesendet. Als Sender bzw. Quelle dienen z. B. Mikrofon, Kamera, DVD-Player oder dergleichen und als Empfänger bzw. Senke Lautsprecher, Bildschirm oder dergleichen. Häufig werden die Daten mittels bekannter Standards (z. B. DVI, HDMI, SPDIF, AES/EBU) auf direktem Weg bzw. mittels einer Punkt-zu-Punkt Verbindung gesendet. Immer öfter besteht neuerdings der Wunsch, diese Daten über Netzwerke (z. B. Ethernet, Internet) zu senden, weil das Netzwerk beispielsweise bereits vorhanden ist oder weil viele Quellen mit vielen Senken ein Netzwerk bilden sollen.
Um eine Kompatibilität zwischen unterschiedlichen oder nicht synchronisierten Abtastraten (Samplerates, Framerates) herzustellen, bearbeitet der Empfänger die empfangenen Daten mit Hilfe eines SRC (Sample Rate Converter, Abtastratenwandler, Frame Rate Converter). Zum Beispiel wandelt der SRC ein empfangenes Videosignal mit einer ersten Auflösung in eine andere Auflösung des Bildschirms (z. B. Quelle ist 800x600 Pixel, Bildschirm ist 1920x1200 Pixel) oder bei einem Audiosignal in eine andere Sample Rate (z. B. Quelle mit 48 kHz, Lautsprecher mit 44,1 kHz oder nicht mit der Quelle synchronisierten 48 kHz). Ein SRC wird häufig mit Tiefpassfiltern realisiert, die auf Basis des Eingangssignals berechnen, welche Pixel oder Samples am besten für die neuen Auflösungen geeignet sind, damit der Zuschauer bzw. Zuhörer ein verglichen mit der Quelle möglichst originalgetreues Ergebnis zu sehen bzw. zu hören bekommt.
Mit fortschreitender Digitalisierung ergibt sich ein neues Problem, die Zeitverzögerung (Latenz). Immer mehr Systeme müssen oder können Daten aus verschiedenen Gründen Zwischenspeichern. Die Latenz kommt dabei in Netzwerken beispielsweise zustande, indem: Pakete verschickt werden, Pakete neu zusammengesetzt werden, Pakete durch Kollisionen verzögert werden, verlorene Pakete neu angefragt werden müssen. Digitale Filter wie ein SRC benötigten etliche Einzelbilder (Frames) oder Audiosamples (im Folgenden auch abgekürzt: Samples), um möglichst gut die neuen Daten errechnen zu können. Insbesondere bei Echtzeit-Anwendungen, bei denen Kamerasignale und/oder Mikro- fonsignale direkt zu einem Publikum übertragen werden, d.h. ein Zuschauer sieht bzw. hört eine live-Quelle, die zugleich auch über Bildschirme und/oder Lautsprecher wiedergegeben wird, ergeben sich häufig bemerkbare Verzögerungen - wenige Millisekunden sind bereits deutlich sichtbar und insbesondere hörbar.
Um die Abtastrate von übertragenen Daten zu konvertieren, sind zum einen synchrone Punkt-zu-Punkt-Verbindungen (z. B. DVI, SPDIF) bekannt, bei denen ein Synchronisationssignal bzw. Clock-Signal mitübertragen wird. Die Abtastraten stehen dadurch relativ zueinander in einem bekannten, festen Verhältnis, wodurch eine Konvertierung mit verhältnismäßig einfachen Mitteln möglich ist. Auf Basis dieses Prinzips arbeiten bisher übliche SRC.
Zum anderen ist aus der Praxis auch eine Konvertierung der Abtastrate von paketweise und asynchron in einem Netzwerk übertragenen Daten bekannt. Dazu wird zunächst ein verhältnismäßig großer Eingangsbuffer verwendet, um die eintreffenden Pakete zu puffern und/oder zu ordnen. Über das Netzwerk werden auch Synchronisierungsdaten verschickt, aus denen mittels eines weiteren elektronischen Bausteins ein Synchronisationssignal rekonstruiert wird. Erst dann erfolgt die eigentliche Konvertierung der Abtastrate der vorgebufferten Daten, wobei auch hier aufgrund des rekonstruierten Synchronisationssignals wie oben im Wesentlichen ein üblicher SRC verwendet wird. Für dieses Prinzip der Abtastratenkonvertierung sind also mindestens drei Bausteine nötig, nämlich ein Eingangsbuffer, eine Einheit zur Rekonstruktion des Synchronisationssignals und der eigentliche SRC. Da die Daten sowohl im Eingangsbuffer als auch im SRC für den jeweiligen Verarbeitungsschritt zwischengespeichert werden, summieren sich die jeweils für die Verarbeitung erforderlichen Zeiten und somit die Latenzen.
Es ist daher eine Aufgabe der vorliegenden Erfindung, eine alternative Datenkonvertierung für paketweise und asynchron eintreffende Daten anzugeben, mit der die oben beschriebenen Latenzen verringert werden.
Diese Aufgabe wird durch ein Verfahren zur Konvertierung gemäß Patentanspruch 1 , eine Konvertierungsvorrichtung gemäß Patentanspruch 11, ein System gemäß Patentanspruch 12 und eine Verwendung gemäß Patentanspruch 13 gelöst.
Das eingangs genannte Verfahren zur Konvertierung von Daten umfassend zumindest folgende Schritte. In einem Schritt wird eine Anzahl von asynchron eintreffenden Daten- paketen empfangen. Dabei umfassen die Datenpakete Eingangsdaten mit einer ersten Samplerate. In einem weiteren Schritt werden die Eingangsdaten auf Basis der ersten Samplerate zu Positionen in einem kombinierten Eingangs- und Filterbuffer, nachfolgend vereinfacht „Filterbuffer“ genannt, zugewiesen. Die Eingangsdaten werden auf Basis ihrer jeweiligen Position im Filterbuffer im Rahmen einer Tiefpassfilterung zu Ausgangsdaten mit einer definierten zweiten Samplerate kombiniert. Dabei rücken die Eingangsdaten im Filterbuffer positionsweise und datengetrieben vor.
Unter dem Begriff „Konvertierung“ wird im Rahmen der Erfindung eine Umwandlung von Daten verstanden. Insbesondere betrifft die Konvertierung der Daten einerseits die Umwandlung der paketweise eintreffenden Daten in einen seriellen und bevorzugt synchronisierbaren bzw. synchronisierten Datenstrom und/oder andererseits eine Veränderung der den Daten zu Grunde liegenden Abtastrate bzw. Samplerate.
Die, insbesondere digitalen, Daten können grundsätzlich jegliche Daten umfassen, denen eine Samplerate zugrunde liegt. Sie weisen also allgemein eine Anzahl von Messpunkten mit dazugehörigen Messwerten auf, die sog. Samples. Zum Beispiel können die Daten in Form von digitalen Audio- und/oder Videodaten vorliegen, wie später noch näher erläutert wird.
Eine Samplerate bezeichnet im Rahmen der vorliegenden Erfindung eine zeitliche oder räumliche Auflösung, die den Daten zugrunde liegt. D. h. die Samplerate ist umgekehrt proportional zu einem zeitlichen oder räumlichen Abstand, der zwischen einzelnen Messpunkten liegt. Mit einer entsprechenden Samplerate werden also die Daten aufgenommen bzw. gemessen und können auch mit dieser oder nach einer Konvertierung auch mit einer anderen Samplerate gespeichert, zwischengespeichert, ausgegeben und/oder wiedergegeben werden.
Die eintreffenden Daten, also die Eingangsdaten, werden als Anzahl von Datenpaketen z.B. mittels einer Eingangsschnittstelle empfangen. Ein Datenpaket umfasst dabei insbesondere zumindest ein Sample. Bevorzugt umfasst ein Datenpaket mehrere Samples. Es handelt sich bei einem Datenpaket also um einen sog. Burst bzw. Datenburst. Insbesondere wird eine Mehrzahl bzw. eine Reihe, also mehrere, Datenpakete empfangen. Es handelt sich somit bei den Eingangsdaten um paketweise eintreffende, asynchrone Daten. Die eintreffenden Daten bzw. Datenpakete sind also nicht synchron, d. h. sie sind nicht zeitlich aufeinander abgestimmt und treffen üblicherweise in unregelmäßigen Zeit- abständen ein. Diesen auf Pakete aufgeteilten Daten liegt jedoch immer noch eine Samplerate, nämlich die erste Samplerate, zugrunde.
Die Datenpakete können neben den tatsächlichen Nutzdaten bzw. Samples abhängig vom jeweils verwendeten Übertragungsstandard auch noch weitere Daten wie z. B. Kopfdaten umfassen. Beispielsweise handelt es sich um Datenpakete, die in einem Netzwerk mit einem entsprechenden Übertragungsprotokoll bzw. Netzwerkprotokoll übertragen werden. Das Netzwerkprotokoll kann beispielsweise ein Protokoll aus der Gruppe der TCP/IP-Protokolle, insbesondere das Ethernet-Protokoll oder ein anderes übliches Internetprotokoll (IP) wie Sonet, ATM, 5G oder dergleichen sein. Die Datenpakete können dabei unterschiedliche Wege im Netzwerk nehmen und haben somit auch unterschiedliche Übermittlungszeiten.
Einer Position im Filterbuffer wird ein Filter-Tap zugeordnet. Sie beeinflusst das Ergebnis der Kombination der im Filterbuffer befindlichen Daten zu den Ausgangsdaten. Dies erfolgt z. B. mittels einer spezifisch definierten Gewichtung der Position bzw. des Filter-Taps im Rahmen der dem Prinzip nach bekannten Tiefpassfilterung. Die Tiefpassfilterung kann dabei auf unterschiedliche Art realisiert sein, wie später noch näher erläutert wird.
Neu eintreffende Daten - z. B. aus dem Netzwerk - werden einer initialen Position im Filterbuffer, wie im Folgenden noch beschrieben, zuwiesen bzw. zugeordnet.
„Datengetrieben“ bedeutet, wenn neue Daten eintreffen, rücken die bereits im Filterbuffer befindlichen Daten positionsweise vor. D. h., wenn keine neuen Daten eintreffen verbleiben die Daten an ihrer bisherigen Position im Filterbuffer. Die Daten rücken also insbesondere burstgetrieben vor, wenn ein neues Datenpaket eintrifft. Im Gegensatz zum Stand der Technik wird der Filterbuffer also nicht mit einem festen oder definiertem Takt betrieben, der sich bisher an der dafür notwendigerweise ermittelten ersten Samplerate orientiert, denn erfindungsgemäß ändern sich die Positionen der Daten im Filterbuffer lediglich beim Eintreffen neuer Daten, Mittels der Erfindung ist somit grundsätzlich eine Bestimmung der ersten Samplerate nicht mehr erforderlich.
Insbesondere rücken die Daten taktgleich vor. Das Vorrücken der Daten erfolgt dabei z. B. durch ein Verschieben der tatsächlichen Position der Samples im Buffer, eine neue Zuordnung der Samples zu virtuellen Positionen bzw. Taps mit Hilfe von Speicheradressen, Zeigern (Pointern) oder auf ähnliche Weise. Mit einer geänderten Position eines Samples ändert sich in Folge auch die Wirkung, also beispielsweise die Gewichtung bei der Tiefpassfilterung, dieses Samples bei der Kombination zu den Ausgangsdaten. Wenn ein Sample die vorgesehenen Positionen im Filterbuffer durchlaufen hat, wird es gelöscht. Dadurch wird Platz für die nachkommenden Samples bzw. Daten geschaffen.
Der Filterbuffer ist ein grundsätzlich lesbarer und beschreibbarer, insbesondere wahlfreier, Speicher. Der Speicher muss also nicht sequenziell oder in Blöcken ausgelesen werden. Bevorzugt erfolgt die Adressierung nicht über die einzelnen Zellen, sondern über Worte, also z. B. in Form von Blöcken mit der Größe eines Samples. Er wird, wie beschrieben, mit den Eingangsdaten befüllt und wird zumindest im Rahmen der Tiefpassfilterung ausgelesen. Er ist insbesondere als integrierter Schaltkreis realisiert. Er kann aber z. B. auch aus mehreren Speichermodulen zusammengesetzt sein.
Für die Filterung wird insbesondere der gesamte Filterbuffer genutzt. Dem liegt die Überlegung zugrunde, dass mehr Daten, die bei der Filterung verwendet werden, auch zu einem besseren Ergebnis führen. Das bedeutet insbesondere auch, dass bevorzugt keine Bereiche im Filterbuffer ungenutzt bleiben.
Nach einer Kombination der Daten liegt ein Wert für ein Sample der Ausgangsdaten vor. D. h. mittels der Tiefpassfilterung wird für jedes Sample der Ausgangsdaten ein Wert interpoliert. Um nun Ausgangsdaten mit der zweiten Samplerate zu generieren, wird das Ergebnis der Kombination bzw. die Tiefpassfilterung mit der bzw. im Takt der zweiten Samplerate ausgelesen bzw. ausgegeben.
Dabei kann die zweite Samplerate grundsätzlich unterschiedlich oder gleich der ersten Samplerate sein. Bevorzugt unterscheidet sich die zweite Samplerate von der ersten Samplerate. Die zweite Samplerate ist definiert bzw. vorgegeben. D. h. sie kann zum Beispiel bei der Auslegung des Verfahrens bzw. der Konvertierungsvorrichtung festgelegt werden. Bevorzugt ist die zweite Samplerate einstellbar. D. h. sie kann z. B. mittels einer Benutzereingabe, nach Maßgabe weiterer mit der Konvertierungseinrichtung verbundener Einrichtungen oder mittels einer Default-Einstellung definiert bzw. vorgegeben sein.
Durch eine bevorzugt große Ausgestaltung des Filterbuffers können fehlende Datenpakete und/oder eine falsche Reihenfolge der eintreffenden Datenpakete ohne vorheriges Sor- tieren im Rahmen der Konvertierung der Daten vorteilhafterweise ausgeglichen werden. Zudem ist es bei dem erfindungsgemäßen Verfahren vorteilhafterweise nicht mehr erforderlich, ein Synchronisationssignal (Sync-Signal) zu rekonstruieren. Insbesondere erfolgt das erfindungsgemäße Verfahren ohne die Rekonstruktion eines Synchronisationssignals.
Die eingangs genannte Konvertierungsvorrichtung zur Konvertierung von Daten umfasst eine Eingangsschnittstelle. Die Eingangsschnittstelle ist zum Empfang einer Anzahl von asynchron eintreffenden Datenpaketen ausgebildet. Dabei umfassen die Datenpakete Eingangsdaten mit einer ersten Samplerate. Die Konvertierungsvorrichtung weist außerdem einen Filterbuffer auf. Der Filterbuffer ist so ausgebildet, dass darin die Eingangsdaten auf Basis der ersten Samplerate zu Positionen zugewiesen werden. Zudem rücken die Eingangsdaten im Filterbuffer positionsweise und datengetrieben vor. Ferner ist ein Tiefpassfilter von der Konvertierungsvorrichtung umfasst. Der Tiefpassfilter kombiniert die Eingangsdaten auf Basis ihrer jeweiligen Position im Filterbuffer zu Ausgangsdaten mit der definierten zweiten Samplerate.
Die erfindungsgemäße Konvertierungsvorrichtung ist somit insbesondere zur Durchführung eines erfindungsgemäßen Verfahrens zur Konvertierung von Daten auf.
Die Eingangsschnittstelle ist z. B. als übliche Schnittstelle für den verwendeten Netzwerkstandard ausgebildet. Die Konvertierungsvorrichtung umfasst bevorzugt auch eine Ausgangsschnittstelle zur Ausgabe der Ausgangsdaten. Die Ausgangsschnittstelle ist z. B. als übliche Schnittstelle für einen gewünschten Audiostandard bzw. Videostandard ausgebildet. Der Begriff Eingangsschnittstelle bzw. Ausgangsschnittstelle umfasst aber auch nicht standardisierte, also z. B. proprietäre, Schnittstellenausgestaltungen.
Im weiteren Gegensatz zum Stand der Technik kann das erfindungsgemäße Verfahren und die erfindungsgemäße Konvertierungsvorrichtung grundsätzlich ohne einen Eingangsbuffer bzw. mit einem sehr klein dimensionierten Vorbuffer arbeiten. D.h. prinzipiell ist der Filterbuffer alleine bereits ausreichend, um die Daten erfindungsgemäß zu konvertieren, so dass für die grundlegende Erfindung kein weiterer Buffer erforderlich ist.
Das eingangs genannte System zur Übertragung von Daten umfasst ein asynchrones Datennetzwerk und eine erfindungsgemäße Konvertierungsvorrichtung, wobei die Konvertierungsvorrichtung Datenpakete aus dem Datennetzwerk empfängt und konvertiert. Der Begriff „System“ bezeichnet hier allgemein das Zusammenwirken der explizit erwähnten Komponenten. Das System kann aber auch mehrere weitere Komponenten umfassen, wie z. B. weitere Einheiten zur Audioverarbeitung und/oder Videoverarbeitung, die insbesondere von einem synchronen Audionetzwerk und/oder Videonetzwerk umfasst sind. Die Konvertierungsvorrichtung wirkt also insbesondere als Schnittstelle zwischen einem asynchronen Netzwerk und einem synchronen Netzwerk und/oder einem asynchronen oder synchronen Endgerät.
Erfindungsgemäß wird ein datengetriebener Filterbuffer in einer Konvertierungsvorrichtung zur Konvertierung von Samplerates verwendet.
Ein Großteil der zuvor genannten Komponenten der Konvertierungseinrichtung, insbesondere der Tiefpassfilter, können ganz oder teilweise in Form von Softwaremodulen in einem Prozessor einer entsprechenden Steuereinrichtung realisiert werden. Insofern wird die Aufgabe auch durch ein entsprechendes Computerprogrammprodukt mit einem Computerprogramm gelöst, welches direkt in eine Speichereinrichtung einer Steuereinrichtung einer Konvertierungsvorrichtung ladbar ist, mit Programmabschnitten, um alle oder zumindest einen Teil der Schritte des erfindungsgemäßen Verfahrens auszuführen, wenn das Programm in der Steuereinrichtung ausgeführt wird. Ein solches Computerprogrammprodukt kann neben dem Computerprogramm gegebenenfalls zusätzliche Bestandteile wie z. B. eine Dokumentation und/oder zusätzliche Komponenten auch Hardware-Komponenten, wie z.B. Hardware-Schlüssel (Dongles etc.) zur Nutzung der Software, umfassen.
Zum Transport zur Steuereinrichtung und/oder zur Speicherung an oder in der Steuereinrichtung kann ein computerlesbares Medium, beispielsweise ein Memorystick, eine Festplatte oder ein sonstiger transportabler oder fest eingebauter Datenträger dienen, auf welchem die von einer Rechnereinheit der Steuereinrichtung einlesbaren und ausführbaren Programmabschnitte des Computerprogramms gespeichert sind. Die Rechnereinheit kann z.B. hierzu einen oder mehrere zusammenarbeitende Mikroprozessoren oder dergleichen aufweisen.
Weitere, besonders vorteilhafte Ausgestaltungen und Weiterbildungen der Erfindung ergeben sich aus den abhängigen Ansprüchen sowie der nachfolgenden Beschreibung, wobei die unabhängigen Ansprüche einer Anspruchskategorie auch analog zu den abhängigen Ansprüchen einer anderen Anspruchskategorie weitergebildet sein können und insbesondere auch einzelne Merkmale verschiedener Ausführungsbeispiele zu neuen Ausführungsbeispielen kombiniert werden können.
Die Eingangsdaten umfassen bevorzugt Samples gemäß der ersten Samplerate. Die Samples der Eingangsdaten werde dann bevorzugt auf Basis der ersten Samplerate zu jeweils einer Position in dem Filterbuffer zugewiesen. Die Kombination der Eingangsdaten erfolgt dabei vorzugsweise in Abhängigkeit von der jeweiligen Position ihrer Samples im Filterbuffer erfolgt.
Ein Sample ist ein aus einem analogen Signal digitalisiertes Signal, also ein zu einem Messzeitpunkt erfasster und digitalisierter Messwert. Das Sample weist eine Bittiefe auf, die von der Art und Weise der Erfassung der Messwerte abhängt.
Die Eingangsdaten und die Ausgangsdaten umfassen bevorzugt Audiodaten und/oder Videodaten. Entsprechend liegen bei Audiodaten typischerweise Audiosamples vor, die einen Audiopegel mit einer Bittiefe von 8 Bit, 16 Bit, 20 Bit, 32 Bit oder bevorzugt 24 Bit vor. Bei den Audiodaten handelt es sich somit insbesondere um Audiodaten aus dem professionellen Audiobereich.
Ein Videosample liegt für jeden Videoframe und für jeden Videopegel bzw. Farbkanal und den diesem Videopegel zugeordneten Bildpunkt. So besteht beispielsweise ein Videoframe eines HD-Signals mit 1080 Zeilen und der Farbauflösung 4:2:2 aus 1920 Samples für das Luma-Signal und jeweils 960 Samples für die beiden Farbdifferenzsignale pro Zeile, also aus insgesamt 3840 Samples pro Zeile. Die erfindungsgemäße Konvertierung ist grundsätzlich jedoch auf beliebige räumliche Auflösungen bzw. Farbauflösungen sowie zeitliche Auflösungen anwendbar. Die Farbtiefe ist dabei z. B. 24 Bit (True Color, je 8 Bit für R, G und B), 32 Bit (True Color + 8-Bit-Alphakanal, je 8 Bit für R, G, B und Alpha), bevorzugt 30 Bit (Deep Color / HDR Video, je 10 Bit für Y, U und V), besonders bevorzugt 36 Bit (Deep Color / HDR10+ / Dolby Vision, je 12 Bit für R, G und B).
Die erste Samplerate eines Videosignals hat somit mehrere Komponenten. Eine erste Komponente ist die zeitliche Auflösung in die einzelnen Videoframes, also die Bildwechselfrequenz bzw. Frame Rate. Eine oder mehrere zweite Komponenten der ersten Samplerate des Videosignals sind die räumlichen Auflösungen der einzelnen Farbkanäle. Dies gilt analog für die zweite Samplerate. Die zweite Samplerate kann - wie zuvor bereits beschrieben - gleich der ersten Samplerate sein, sodass die Konvertierung von paketwei- se eintreffenden Daten in einen seriellen Datenstrom erfolgt. Sie kann sich aber auch in einer oder mehreren Komponenten von der ersten Samplerate unterscheiden, sodass diese Komponenten konvertiert werden.
Das erfindungsgemäße Konvertierungsverfahren kann entsprechend bei Videodaten auf eine oder mehrere Komponenten des Signals angewandt werden. Es kann also zur Konvertierung der Bildwechselfrequenz und/oder der räumlichen Auflösung der einzelnen Farbkanäle verwendet werden. D. h. insbesondere, dass das Prinzip der Tiefpassfilterung sowohl auf zeitliche Folge von Samples, die einem Bildpunkt zugeordnet sind, angewandt werden kann als auch auf Videopegel z. B. räumlich benachbarter Bildpunkte eines Videoframes, um beispielsweise Zwischenbildpunkte für eine höhere räumliche Auflösung zu interpolieren. Bei geeignetem Speicher im Filterbuffer und ausreichender Rechenleistung ist auch eine gleichzeitige Konvertierung der Bildwechselfrequenz und der räumlichen Auflösung möglich.
Die Audiodaten weisen bevorzugt Samplerates von 44,1 kHz, 48 kHz, 88,2 kHz, 96 kHz, 176,4 kHz oder 192 kHz auf. Die Videodaten weisen bevorzugt zeitliche Samplerates bzw. Framerates von 25 Hz, 50 Hz, 59,94 Hz, 100 Hz, oder 119,88 Hz auf.
Den Positionen des Filterbuffers sind zur Tiefpassfilterung vorzugsweise Filterkoeffizienten zugewiesen, die besonders bevorzugt einstellbar sind. Mit anderen Worten werden die Ausgangsdaten also aus einer Linearkombination aus den an den Positionen gespeicherten Daten im Rahmen der Tiefpassfilterung generiert, wobei die Filterkoeffizienten als Gewichtungsfaktoren dienen. Dass die Filterkoeffizienten „einstellbar“ sind bedeutet, dass sie je nach Anforderung verändert werden können. Wird z. B. die erste Samplerate oder die zweite Samplerate, mit der die Ausgangsdaten ausgegeben werden verändert, so können die Filterkoeffizienten entsprechend angepasst werden.
Die Tiefpassfilterung erfolgt bevorzugt unter Verwendung eines 11 R-Filters oder besonders bevorzugt unter Verwendung eines FIR-Filters. Die Wirkungsprinzipien der entsprechenden Filter sind dem Fachmann grundsätzlich bekannt.
Bei einem FIR-Filter können die im Filterbuffer gespeicherten Daten besonders bevorzugt mittels Feedbackloops modifiziert werden. Bevorzugt ist jeder Position im Filterbuffer bzw. jedem Filter-Tap ein Feedbackloop zugeordnet. Wird zum Beispiel beim Auslesen der Daten festgestellt, dass sich die an einer oder mehreren der Positionen, die Daten nicht ändern, weil beispielsweise keine neuen Eingangsdaten eintreffen, regelt der jeweilige Feedbackloop, dass sich die an der Position gespeicherten Daten asymptotisch dem Wert Null nähern. Mit andern Worten sorgen die Feedbackloops in diesem Fall dafür, dass der Filter ausschwingt.
Wie zuvor bereits erwähnt, werden die Ausgangsdaten bevorzugt durch Wiederholen zumindest eines Teils der Schritte des erfindungsgemäßen Verfahrens als serieller Datenstrom generiert. Als Teil der Schritte kann beispielweise die Kombination wiederholt werden, dadurch wird jedes Mal ein neues Sample von Ausgangsdaten generiert.
Die Kombination kann insbesondere auch wiederholt werden, wenn keine neuen Eingangsdaten empfangen werden. Falls der Filterbuffer so eingerichtet ist, dass die Daten beim Ausbleiben neuer Eingangsdaten unverändert an ihrer Position verbleiben, kann bei Wiederholung der Kombination zum Beispiel ein zeitlich konstanter Wert als Ausgangsdaten ausgegeben werden. Alternativ kann in diesem Fall aber auch das zuvor beschriebene Ausschwingen mittels Feedbackloops implementiert sein.
Grundsätzlich können verlorengegangene oder in falscher Reihenfolge eintreffende Datenpakete besser ausgeglichen werden je mehr Daten für die Tiefpassfilterung zur Verfügung stehen. Daher ist der Filterbuffer bevorzugt dimensioniert, um mindestens 5 ms, besonders bevorzugt mindestens 10 ms, ganz besonders bevorzugt mindestens 15 ms, am meisten bevorzugt mindestens 20 ms der Eingangsdaten zu buffern.
Unter normalen Betriebsbedingungen werden dabei im Wesentlichen alle über das Netzwerk versandten Pakete als Eingangsdaten empfangen. D.h. dass lediglich sehr wenige Pakete bei der Übermittlung verloren gehen, sodass bevorzugt bereits nach einer kurzen Zeit auf Basis der pro Zeit eintreffenden Samples eine durchschnittliche Samplerate abgeschätzt werden kann, die im Wesentlichen gleich der ersten Samplerate ist, die den Eingangsdaten zugrunde liegt. Besonders bevorzugt wird die erste Samplerate abgeschätzt, indem die Rate eintreffenden Samples einer der Standard-Samplerate, insbesondere einer der oben angegebenen Standard-Samplerates, zugeordnet wird. Dieses Abschätzen entspricht jedoch nicht einer Rekonstruktion eines Sync-Signals bzw. Clock- Signals, wie es für einen SRC nach dem Stand der Technik erforderlich wäre.
Die Eingangsdaten werden vor dem Filterbuffer in einem Vorbuffer vorzugsweise vorge- buffert und besonders bevorzugt vorsortiert. Dabei ist der Vorbuffer ein im Verhältnis zum Filterbuffer kleiner Speicher. Der Vorbuffer ist bevorzugt um ein Vielfaches kleiner als der Filterbuffer. D. h. er weist beispielsweise eine Speichergröße von höchstens einem Drittel, bevorzugt höchstens ein Viertel, besonders bevorzugt höchstens ein Fünftel, ganz besonders bevorzugt höchstens ein Zehntel, der Speichergröße des Filterbuffers auf.
Der Vorbuffer kann z. B. als FIFO-Speicher ausgestaltet sein. Besonders bevorzugt weist der Vorbuffer eine Logik auf, die die Datenpakete z. B. anhand von Kopfdaten, wie sie in vielen Netzwerkprotokollen üblich sind, sortiert.
Der Vorbuffer soll also nur eine verhältnismäßig kleine Datenmenge Zwischenspeichern, um beispielsweise Bursts von Daten also ein oder mehrere in kurzem Abstand eintreffende Datenpakete abzufangen. Zwischen solchen Bursts kommt es zu Übertragungspausen. Sie entstehen z. B. durch die Kombination von mehreren Samples innerhalb der Quelle, um Datenpakete effizienter zu verschicken. Mittels des Vorbuffers wird somit der Filterbuffer gleichmäßiger bzw. geordneter befüllt, wodurch zugleich das Ergebnis der folgenden Tiefpassfilterung verbessert wird. Dazu ist der Vorbuffer besonders bevorzugt mit einer Logik, einer Schaltung bzw. einem elektronischen Baustein verbunden, der die erste Samplerate wie oben bereits beschrieben abschätzt. Des Weiteren gibt der Vorbuffer die einzelnen Samples vorzugsweise mit einer höheren Rate als der geschätzten Samplerate weiter. Die Rate ist bevorzugt mindestens 1% höher, besonders bevorzugt mindestens 2% höher, ganz besonders bevorzugt mindestens 4% höher, als die geschätzte Samplerate. Dadurch wird vorteilhafterweise vermieden, dass der Vorbuffer voll- läuft.
Der Filterbuffer ist bevorzugt so ausgebildet, dass er gleichzeitig ausgelesen und beschrieben werden kann. Dabei regelt bevorzugt eine Arbitrationslogik Kollisionen, die z. B. bei gleichzeitigen Zugriffen entstehen. Er kann also z. B. als Dual-Port-RAM ausgestaltet sein. Diese Ausgestaltung des Filterbuffer ist besonders vorteilhaft, da so die zwei ansonsten getrennten Systeme beim Befüllen und Auslesen des Filterbuffers mit den gemeinsamen Daten arbeiten können, ohne sich gegenseitig in der Zugriffsgeschwindigkeit einzuschränken.
Die Daten rücken im Filterbuffer mit einem mittleren Buffertakt vor, der im Wesentlichen - also z. B. bis auf verloren gegangene Pakete - gleich der ersten Samplerate ist. In der Konvertierungsvorrichtung bilden der Filterbuffer und der Tiefpassfilter einen Interpolator. Dabei wird das am Ausgang des Tiefpassfilters anliegende Signal mit einer hohen Frequenz, die z. B. im Bereich von 50 MHz liegt, aktualisiert Die Konvertierungsvorrichtung umfasst bevorzugt auch einen Dezimator, der dem Interpolator nachgeschaltet ist und die vom Interpolator erzeugten Zwischenergebnisse mit der gewünschten zweiten Samplerate, also einer niedrigeren Frequenz bzw. der neuen Videoauflösung oder gewünschten Audio-Samplerate ausgibt.
Wie zuvor bereits beschrieben, werden die Eingangsdaten bevorzugt in Ausgangsdaten in Form eines seriellen Datenstroms konvertiert. Der serielle Datenstrom der Ausgangsdaten ist besonders bevorzugt synchron bzw. synchronisierbar mit einer Anzahl von mit der Konvertierungsvorrichtung verbundenen Einrichtungen. Die Ausgangsdaten werden dann bevorzugt über eine Ausgangsschnittstelle an die Anzahl von weiteren Einrichtungen übertragen, mit denen die Konvertierungsvorrichtung synchronisiert ist. Es kann sich dabei also z. B. um lediglich eine oder um mehrere synchron mit der Konvertierungsvorrichtung verbundene Einrichtungen handeln. Besonders bevorzugt ist die Konvertierungsvorrichtung synchron mit einer synchron arbeitenden Audioschnittstelle und/oder Videoschnittstelle verbunden, welcher die Anzahl von weiteren Einrichtungen nachgeschaltet ist.
Mittels der Erfindung wird somit die Qualität des (Tiefpass-)Filters des Interpolators des Sampleratekonverters durch die deutlich erhöhte Anzahl an TAPs verbessert. Ferner wird durch die erhöhte Tiefpasswirkung eine erhöhte Toleranz für unstabile oder große Netzwerke erzielt. Zudem werden die eingangs beschriebenen drei elektronischen Bausteine in nur einem Baustein realisiert.
Die Erfindung wird im Folgenden unter Hinweis auf die beigefügten Figuren anhand von Ausführungsbeispielen noch einmal näher erläutert. Dabei sind in den verschiedenen Figuren gleiche Komponenten mit identischen Bezugsziffern versehen. Die Figuren sind in der Regel nicht maßstäblich. Es zeigen:
Figur 1 ein Blockdiagramm eines Ablaufs eines Ausführungsbeispiels eines erfindungsgemäßen Verfahrens zur Konvertierung von Daten,
Figur 2 ein Blockschaltbild eines Ausführungsbeispiels einer erfindungsgemäßen Konvertierungsvorrichtung zur Konvertierung von Daten und Figur 3 ein grob schematisches Diagramm eines Ausführungsbeispiels eines erfindungsgemäßen Systems zur Übertragung von Daten.
In Figur 1 ist beispielhaft und grob schematisch ein Blockdiagramm eines Ablaufs eines erfindungsgemäßen Verfahrens zur Konvertierung von Daten dargestellt. Es wird im Folgenden zusammen mit dem in Figur 2 beispielhaft und schematisch als Blockschaltbild gezeigten Ausführungsbeispiel einer erfindungsgemäßen Konvertierungsvorrichtung 20 zur Konvertierung von Daten erläutert.
In einem ersten Schritt i werden asynchron eintreffende Eingangsdaten ED in Form von Datenpaketen DP mittels einer Eingangsschnittstelle 21 empfangen. Der Einfachheit halber sind beispielhaft drei Datenpakete PO, P1 , P2 dargestellt. Es handelt sich jedoch üblicherweise um eine sehr viel größere Anzahl von Datenpaketen DP. Die Datenpakete treffen asynchron ein, da sie z. B. über ein Netzwerk empfangen werden und ihre Laufzeit durch das Netzwerk demzufolge aufgrund von unterschiedlich angeordneten Pakten oder unterschiedlich gerouteten Wegen durch das Netzwerk differiert.
Die Eingangsdaten ED umfassen dabei eine Vielzahl von Samples S01 , S02, ... , S23, S24 usw., denen eine erste Samplerate SR1 zugrunde liegt. Das Bezugszeichen für ein Sample umfasst im hier vorliegenden Beispiel zur Vereinfachung der Erläuterung hinter dem „S“ als vordere Ziffer die jeweilige Paketnummer und als hintere Ziffer die Nummer eines Samples im jeweiligen Paket. Die Eingangsdaten ED repräsentieren z. B. ein digitalisiertes Audiosignal, das mit der ersten Samplerate SR1 von z. B. 96 kHz und einer Bittiefe von 24 Bit gesampelt wurde. Jedes Sample S01 , S02, ... , S23, S24 weist somit einen Samplewert auf, der das Audiosignal charakterisiert. Solange das Audiosignal aufgenommen, digitalisiert und übertragen wird, treffen also auch Eingangsdaten ED an der Eingangsschnittstelle 21 ein. Auch wenn die Datenpakete PO, P1 , P2 zur einfacheren Darstellung jeweils mit nur vier Samples gezeigt sind, ist klar, dass sie in der realen Anwendung eine fortlaufende Anzahl von Samples umfassen, also eine - im Rahmen der Übertragung bis zum Abbruch oder zur Störung der Verbindung - durchgehende Serie von Audio- bzw. Videosamples.
Die Eingangsdaten ED werden optional in einem Vorbuffer 28 vorgebuffert, um ein unregelmäßiges Eintreffen der Datenpakete DP auszugleichen, und weiterhin optional z. B. anhand ihrer Kopfdaten zu sortierten Eingangsdaten ED* vorsortiert. Dazu weist der Vor- buffer 28 optional eine Sortierungslogik auf (nicht gezeigt). Wäre also z. B. das Datenpaket P1 vor dem Datenpaket PO an der Eingangsschnittstelle 21 eingetroffen, könnten sie im Vorbuffer 28 umsortiert werden, sodass sie wieder in der dargestellten, richtigen Reihenfolge angeordnet sind. Der Vorbuffer kann hierzu z. B. als FIFO Buffer ausgebildet sein.
Bevorzugt ist der Vorbuffer 28 mit einer Schätzlogik 41 verbunden. Die Schätzlogik 41 schätz anhand der Rate der eintreffenden Samples S01 , S02, ... , S23, S24 die erste Samplerate SR1 ab. Dies erfolgt z. B. dadurch, dass Rate der eintreffenden Samples S01, S02, ... , S23, S24 einer Standard Audiosamplerate, also beispielsweise 44,1 kHz, 48 kHz, 88,2 kHz, 96 kHz, 176,4 kHz oder 192 kHz zugeordnet wird.
Die vorgebufferten bzw. sortierten Eingangsdaten ED* werden, bevorzugt sampleweise mit einer höheren Rate als der geschätzten Samplerate, in einen Filterbuffer 22 übertragen. D. h. jedes Sample S01 , S02, ... , S23, S24 usw. wird an einer Position im Filterbuffer 22 bzw. in einem Filter-Tap gespeichert. Zur vereinfachten Darstellung sind die Positionen hier in einer aufeinanderfolgenden Reihe dargestellt. Auch wenn eine derartige Implementierung grundsätzlich möglich ist, ist dem Fachmann jedoch klar, dass in einem Speicher die Position häufig z. B. durch Speicheradressen oder Zeiger (Pointer) beschrieben wird. Dementsprechend müssen die Samples S01, S02, ... , S23, S24 in der Regel nicht an real aneinandergereihten Speicherorten hinterlegt sein, sondern die geordnete Reihe der Samples S01 , S02, ... , S23, S24 kann als eine den Samples S01 , S02, ... , S23, S24 zugeordnete eine Reihe von Speicheradressen bzw. Pointern verstanden werden.
Beim Eintreffen neuer Eingangsdaten ED bzw. wenn neue Daten in den Filterbuffer 22 übertragen werden, rücken die Samples S01, S02, ... , S23, S24 im Filterbuffer datengetrieben positionsweise vor. D. h. die Position der Samples S01 , S02, ... , S23, S24 wird um die Anzahl der neu eintreffenden Samples verschoben. Wie oben beschrieben, kann dies grundsätzlich über eine reale Verschiebung des Sample an einen neuen Speicherort erfolgen. Bevorzugt wird einfach die Reihe der Speicheradressen bzw. Pointer entsprechend geändert.
Mit einer Position bzw. einem Filter-Tap im Filterbuffer 22 ist je ein Gewichtungselement g1, g2, ... , gn eines Tiefpassfilters 23 verknüpft. D. h. im Rahmen einer in Schritt ii des Verfahrens erfolgenden Tiefpassfilterung werden die Werte der Samples S01, S02, ... , S23, S24 jeweils mittels des Gewichtungselements bzw. mittels des Filterkoeffizienten g1, g2, gn gewichtet, welches jeweils mit ihnen auf Basis ihrer Position im Filterbuffer 22 verknüpft ist.
Die entsprechend gewichteten Werte werden alle folgend jeweils mittels eines Summierungselements 27 addiert. Mit anderen Worten wird im Tiefpassfilter 23 eine Linearkombination aus den Samples S01, S02, ... , S23, S24 erzeugt, die das zugrundeliegende Audiosignal möglichst originalgetreu wiedergibt. D. h. die Gewichtungselemente bzw. die Filterkoeffizienten g1 , g2, ... , gn werden für definierte Verhältnisse zwischen den Samplerates SR1 und SR2 in Abhängigkeit der Anzahl der verwendeten Filter-Taps ermittelt und eingestellt. Die Einstellung der Filterkoeffizienten kann für bestimmte Parameter beispielsweise bei der Fertigung festgelegt werden oder auch später noch elektronisch einstellbar sein. Das Ergebnis dieser Linearkombination wird als kombinierte Daten KD aus dem Tiefpassfilter 23 ausgegeben.
Der Filterbuffer 22 ist hier als FIR-Filter dargestellt, der eine differenzierte Regelung ermöglicht. Er kann aber genauso gut z. B. als IIR-Filter, der vorteilhaft wenig Logik- Bausteine benötigt und daher kompakt und einfach zu realisieren ist. Mittels einer einfachen Leerlauflogik 29 können leere Samples bzw. „Nullen“ in den Filterbuffer 22 eingefüttert werden, sobald festgestellt wird, dass innerhalb eines definierten Zeitraums keine neuen Eingangsdaten ED eintreffen. Alternativ oder zusätzlich können in ähnlicher Weise Feedbackloops (hier nicht gezeigt) für alle Positionen im Filterbuffer 22 ausgebildet sein, die die Werte der Samples S01 , S02, ... , S23, S24 im Filterbuffer 22 unter vorgegeben Bedingungen modifizieren können. Dazu kann der Filterbuffer 22 z. B. als Dual-Port-RAM ausgebildet sein, was vorteilhafterweise gleichzeitige Lese- oder Schreibzugriffe von zwei Seiten, also z. B. sowohl durch neue Befüllung des bzw. Vorrücken im Filterbuffer 22 als auch durch die Feedbackloops, ermöglicht.
Das Auswerten des Filterbuffers 22 mittels des Tiefpassfilters 23 und die Ausgabe der kombinierten Daten KD erfolgen bevorzugt mit einer zweiten Samplerate SR2. Die zweite Samplerate SR2 ist definiert in dem Sinne, dass sie einstellbar ist und z. B. über eine Eingabeschnittstelle 25 vorgegeben werden kann. Dabei heißt „vorgegeben“, z. B. dass ein Benutzer die zweite Samplerate SR2 wählt und eingibt, dass die zweite Samplerate SR2 über eine Verbindung zu anderen mit der Konvertierungsvorrichtung 20 zusammenwirkenden Einheiten bzw. über ein Netzwerk vorgegeben wird, dass die zweite Samplerate SR2 als Default-Wert vorgegeben ist oder dergleichen. Die das Auslesen des Filterbuffers 22 mittels des Tiefpassfilters 23 bzw. die Tiefpassfilterung erfolgt bevorzugt bereits synchronisiert. D. h. mittels einer Sync-Quelle 26 wird für die Synchronisierung ein Sync-Signal CLK bereitgestellt. Die Sync-Quelle 26 kann dazu - wie hier dargestellt - innerhalb der Konvertierungseinrichtung 20 angeordnet sein, sodass sich andere mit der Konvertierungsvorrichtung verbundene Einrichtungen auf dieses Sync-Signal CLK synchronisieren. Die Sync-Quelle 26 kann aber auch als Schnittstelle zu einer anderen mit der Konvertierungsvorrichtung verbundenen Einrichtung oder als Netzwerkschnittstelle ausgebildet sein.
Die so konvertierten Daten KD werden mit einer hohen Frequenz von beispielsweise 50 MHz an einen Dezimator 40 übermittelt. Der Dezimator 40erzeugt aus den so erzeugten Zwischenergebnissen mit hoher Frequenz wieder Daten mit niedrigerer Frequenz, nämlich der gewünschten zweiten Samplerate SR2, d.h. die gewünschte Videoauflösung oder die gewünschte Audio-Samplerate, und wandelt somit die Daten im Schritt iii in samplerate-konvertierte Daten SKD.
Die zweite Samplerate SR2 kann dabei z. B. durch eine Benutzereingabe oder über mittels eines Signals, das z. B. von einem angeschlossenen synchronen Gerät bzw. Netzwerk übermittelt wurde, eingestellt bzw. festgelegt werden.
Die samplerate-konvertierten Daten SKD werden mittels einer Ausgangsschnittstelle 24 ausgegeben. Mit der Ausgangsschnittstelle 24 können z. B. weitere Einrichtungen oder ein Netzwerk, bevorzugt synchronisiert, verbunden sein.
Der Vorbuffer 28 kann alternativ in einfacher Weise, also ohne dass eine Sortierung implementiert ist, auch als FIFO-Buffer ausgebildet sein. In diesem Fall dient er lediglich dazu, dass der Filterbuffer 22 gleichmäßiger mit den Eingangsdaten ED befüllt wird, um ein unregelmäßiges Eintreffen der Datenpakete DP, wie z. B. etwaige Bursts oder Pausen, auszugleichen. Die Eingangsdaten ED können weiterhin alternativ auch ohne Vorbuf- ferung direkt Positionen im Filterbuffer 22 zugewiesen werden. Die Konvertierungsvorrichtung 20 weist in diesem Fall auch keinen Vorbuffer 28 auf.
Der Filterbuffer 22 ist sehr viel größer ausgestaltet als der Vorbuffer 28. Wie aus den Bereichsunterbrechungen in FIG 2 bereits hervorgeht, sind nicht alle Positionen von dem Vorbuffer 28 und dem Filterbuffer 22 dargestellt. Ebenso ist das Verhältnis zwischen der Vorbuffer 28 und Filterbuffer nicht maßstäblich, sondern der Filterbuffer 22 ist bevorzugt um ein Vielfaches größer als der Vorbuffer 28. Er ist insbesondere dimensioniert, um mindestens 5 ms, bevorzugt mindestens 10 ms, besonders bevorzugt mindestens 15 ms, ganz besonders bevorzugt mindestens 20 ms der Eingangsdaten ED zu buffern. Durch diese Größe des Filterbuffers 22 ist es vorteilhafterweise besser möglich, vertauschte und/oder fehlende Datenpakete DP auszugleichen - insbesondere auch falls kein Vorbuffer 28 vorhanden ist oder der Vorbuffer 28 hierzu allein nicht ausreicht.
Wenn beispielsweise die Samples S01, S02, S03 und S04 des ersten Datenpakets PO ausgefallen wären, würden die Samples S11, S12, S13 und S14 des zweiten Datenpakets P1 direkt an die vorhergehenden Daten anschließen. Dadurch würde gegebenenfalls zu einem Bruch bzw. ein Knacken im Audiosignal hervorgerufen, wenn das Signal ohne weiteres ausgegeben würde. Dadurch das bei der Tiefpassfilterung jedoch eine sehr große Anzahl weiterer Samples berücksichtigt wird, fällt das Fehlen des ersten Datenpakets PO für das normale menschliche Hörvermögen nicht mehr wesentlich ins Gewicht. Das gleiche gilt analog in dem Fall, dass z. B. das erste Datenpaket PO und das zweite Datenpaket P1 in vertauschter Reihenfolge in den Filterbuffer 22 gelangen.
Bei der Beschreibung von FIG2 wurde eingangs beispielhaft angegeben, dass die erste Samplerate SR1 96 kHz beträgt. Weisen die Eingangsdaten in einem anderen Beispiel eine erste Samplerate SR1 von nur 48 kHz auf, können die Parameter, wie z. B. die Filterkoeffizienten g1, g2, ... , gn modifiziert werden, um das Signal möglichst originalgetreu mit der zweiten Samplerate SR2 auszugeben.
Entsprechend sind die Gewichtungsfaktoren der Gewichtungselemente g1, g2, ... , gn bevorzugt einstellbar. Sie können also z. B. in Abhängigkeit von der (geschätzten) ersten Samplerate SR1, der zweiten Samplerate SR2 und/oder anderen maßgeblichen Parametern festgelegt werden.
Mittels der erfindungsgemäßen Konvertierungsvorrichtung bzw. des erfindungsgemäßen Verfahrens zur Konvertierung kann vorteilhafterweise die Latenz im Vergleich zu bisher bekannten SRC-Vorrichtungen, die mit asynchron eintreffenden Datenpakten arbeiten, verringert werden. Denn bei den bisherigen Lösungen addieren sich die Latenzen des im Verhältnis zur Erfindung großen Eingangsbuffers (Latenz z. B. 4 ms für 192 Samples bei 48 kHz), der benötigt wird, um ein Sync-Signal zu rekonstruieren, und des eigentlichen SRCs (Latenz z. B. ebenfalls 4 ms für 192 Samples bei 48 kHz), dessen Latenz im Wesentlichen durch die Latenz des Interpolators dominiert wird (Latenz insgesamt also 8 ms). Die durch den Eingangsbuffer erzeugte Latenz kann mittels der vorliegenden Erfindung vollkommen vermieden oder zumindest wesentlich verringert werden (Latenz insgesamt z. B. 4 ms für 192 Samples bei 48 kHz). Eine Rekonstruktion eines Sync-Signals ist vorteilhafterweise nicht mehr erforderlich.
In Figur 3 ist grob schematisch ein Diagramm eines Ausführungsbeispiels eines erfindungsgemäßen Systems 30 zur Übertragung von Daten dargestellt. Das System 30 umfasst ein Mikrofon 31 als Audioquelle, dessen Audiosignal AS vorverstärkt und mittels eines A/D-Wandlers digitalisiert, d. h. mit der ersten Samplerate SR1 und einer definierten Bittiefe gesampelt wird. Das gesampelte Signal wird an ein Netzwerkgerät 32 übertragen, dort in Datenpakete DP gepackt und mittels eines definierten Netzwerkprotokolls, z. B. Ethernet oder anderen üblichen Internetprotokollen (IP) wie Sonet, ATM, 5G, über ein Datennetzwerk 33 verschickt. Im Datennetzwerk 33 können die Datenpakete DP unterschiedlich geroutet werden und werden daher asynchron von der Konvertierungseinrichtung 20 als Eingangsdaten ED empfangen.
Die Konvertierungsvorrichtung 20 konvertiert die Eingangsdaten ED, insbesondere erfolgt die Konvertierung in synchronisierte Daten und/oder samplerate-konvertierte Daten SKD. Für eine Konvertierung der Samplerate kann eine auszugebene zweite Samplerate SR2 mittels einer Eingabeschnittstelle 25 vorgegeben werden. Die Vorgabe kann z. B. durch einen Benutzer, durch eine verbundene Audio-Einrichtung oder auch über das Datennetzwerk 33 oder auch über ein synchron mit der Konvertierungsvorrichtung 20 verbundenes Audionetzwerk erfolgen.
Die synchronen und samplerate-konvertierten Daten SKD werden mittels eines geeigneten Lautsprechers 34 wieder in ein analoges Audiosignal gewandelt und wiedergegeben. Neben dem Mikrofon 31 und dem Lautsprecher 34 kann das System noch eine Vielzahl von weiteren Audioquellen (Mikrofone, Line-IN etc.), Wiedergabegeräten, Bearbeitungsgeräten (wie z. B. Mischpulten), oder Netzwerkgeräten (wie z. B. Router, Repeater) und/oder Ähnlichem umfassen.
Die erfindungsgemäße Konvertierungsvorrichtung 20 dient somit als Schnittstelle zwischen einem asynchronen Datennetzwerk 33 und synchronisierten Audiogeräten, wie z. B. dem Lautsprecher 34, und/oder synchronen Datennetzwerken, insbesondere synchronen Audionetzwerken und/oder Videonetzwerken. Es wird abschließend noch einmal darauf hingewiesen, dass es sich bei den vorhergehend detailliert beschriebenen Vorrichtungen lediglich um Ausführungsbeispiele handelt, welche vom Fachmann in verschiedenster Weise modifiziert werden können, ohne den Bereich der Erfindung zu verlassen. Obwohl das Ausführungsbeispiel lediglich anhand von Audiodaten erläutert wurde, ist das erfindungsgemäße Prinzip und insbesondere auch die Tiefpassfilterung mittels zweidimensionaler oder mehrdimensionaler Arrays von Sampeln leicht auf Videosignale bzw. Videodaten zu übertragen. Weiterhin schließt die Verwendung der unbestimmten Artikel „ein“ bzw. „eine“ nicht aus, dass die betreffenden Merkmale auch mehrfach vorhanden sein können. Ebenso schließen die Begriffe „Vorrich- tung“, „Einheit“ und „System“ nicht aus, dass die betreffende Komponente aus mehreren zusammenwirkenden Teilkomponenten besteht, die gegebenenfalls auch räumlich verteilt sein können.
Bezugszeichenliste
20 Konvertierungsvorrichtung
21 Eingangsschnittstelle
22 Filterbuffer
23 Tiefpassfilter
24 Ausgangsschnittstelle
25 Eingabeschnittstelle
26 Sync-Quelle
27 Summierungselement
28 Vorbuffer
29 Leerlauflogik
30 Systems
31 Mikrofon, Audioquelle
32 Netzwerkgerät
33 Datennetzwerk
34 Lautsprecher
40 Dezimator
41 Schätzlogik
AS Audiosignal
CLK Sync-Signal
DP Datenpakete
ED Eingangsdaten
ED* sortierte Eingangsdaten g1, g2, ... , gn Gewichtungselement, Filterkoeffizient
KD kombinierte Daten
PO, P1 , P2 Datenpakete
S01 , S02, ... , S23, S24 Sample
SKD samplerate-konvertierte Daten
SR1 erste Samplerate
SR2 zweiten Samplerate i, ii, iii Verfahrensschritte

Claims

Patentansprüche
1. Verfahren zur Konvertierung von Daten umfassend zumindest folgende Schritte: a) Empfang einer Anzahl von asynchron eintreffenden Datenpaketen (PO, P1, P4), wobei die Datenpakete (DP) Eingangsdaten (ED) mit einer ersten Samplerate umfassen, b) Zuweisung der Eingangsdaten (ED) zu Positionen in einem Filterbuffer (22) auf Basis der ersten Samplerate, c) Kombination der Eingangsdaten (ED) auf Basis ihrer jeweiligen Position im Filterbuffer (22) zu Ausgangsdaten (SKD) mit einer definierten zweiten Samplerate (SR2) im Rahmen einer Tiefpassfilterung (23), wobei die Eingangsdaten im Filterbuffer (22) positionsweise und datengetrieben vorrücken.
2. Verfahren nach Anspruch 1 , wobei
- die Eingangsdaten Samples gemäß der ersten Samplerate umfassen,
- die Samples der Eingangsdaten auf Basis der ersten Samplerate zu jeweils einer Position in dem Filterbuffer (22) zugewiesen werden und
- die Kombination (22) der Eingangsdaten (ED) in Abhängigkeit von der jeweiligen Position ihrer Samples im Filterbuffer (22) erfolgt.
3. Verfahren nach Anspruch einem der vorstehenden Ansprüche, wobei die Eingangsdaten (ED) und die Ausgangsdaten (SKD) Audiodaten und/oder Videodaten umfassen.
4. Verfahren nach Anspruch 3, wobei die Audiodaten Samplerates von 44,1 kHz, 48 kHz, 88,2 kHz, 96 kHz, 176,4 kHz oder 192 kHz aufweisen.
5. Verfahren nach Anspruch 3, wobei die Videodaten Samplerates von 25 Hz, 50 Hz, 59,94 Hz, 100 Hz, oder 119,88 Hz aufweisen.
6. Verfahren nach einem der vorstehenden Ansprüche, wobei den Positionen des Filterbuffers (22) zur Tiefpassfilterung (23) Filterkoeffizienten (g1, g2, ... , gn) zugewiesen sind, die bevorzugt einstellbar sind.
7. Verfahren nach einem der vorstehenden Ansprüche, wobei die Tiefpassfilterung (23) unter Verwendung eines IIR-Filters oder bevorzugt unter Verwendung eines FIR-Filters erfolgt.
8. Verfahren nach einem der vorstehenden Ansprüche, wobei der Filterbuffer (22) dimensioniert ist, um mindestens 5 ms, bevorzugt mindestens 10 ms, besonders bevorzugt mindestens 15 ms, ganz besonders bevorzugt mindestens 20 ms der Eingangsdaten (ED) zu buffern.
9. Verfahren nach einem der vorstehenden Ansprüche, wobei die Eingangsdaten vor dem Filterbuffer in einem Vorbuffer (28) vorgebuffert und bevorzugt vorsortiert werden, wobei der Vorbuffer (28) klein im Verhältnis zum Filterbuffer (22) ist.
10. Verfahren nach einem der vorstehenden Ansprüche, wobei der Filterbuffer (22) so ausgebildet ist, dass er gleichzeitig ausgelesen und beschrieben werden kann.
11. Konvertierungsvorrichtung zur Konvertierung von Daten umfassend
- eine Eingangsschnittstelle (21), die zum Empfang einer Anzahl von asynchron eintreffenden Datenpaketen (DP) ausgebildet ist, wobei die Datenpakete (DP) Eingangsdaten (ED) mit einer ersten Samplerate umfassen,
- einen Filterbuffer (22), der als so ausgebildet ist, dass darin die Eingangsdaten (ED) auf Basis der ersten Samplerate zu Positionen zugewiesen werden und die Eingangsdaten (ED) positionsweise und datengetrieben vorrücken, und
- einen Tiefpassfilter (23), der die Eingangsdaten (ED) auf Basis ihrer jeweiligen Position im Filterbuffer (22) zu Ausgangsdaten mit der definierten zweiten Samplerate (SR2) kombiniert.
12. System (30) zur Übertragung von Daten mit einem asynchronen Datennetzwerk (33) und einer Konvertierungsvorrichtung (20) nach Anspruch 11, wobei die Konvertierungsvorrichtung (20) Datenpakete (DP) aus dem Datennetzwerk (33) empfängt und konvertiert.
13. Verwendung eines datengetriebenen Filterbuffers (22) in einer Konvertierungsvorrichtung (20) zur Konvertierung von Samplerates (SR1 , SR2).
EP22760905.4A 2021-08-03 2022-08-01 Empfang und abtastratenwandlung von asynchron übertragenen audio und videodaten Pending EP4381600A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102021120204.3A DE102021120204A1 (de) 2021-08-03 2021-08-03 Empfang von Daten
PCT/EP2022/071594 WO2023012126A1 (de) 2021-08-03 2022-08-01 Empfang und abtastratenwandlung von asynchron übertragenen audio und videodaten

Publications (1)

Publication Number Publication Date
EP4381600A1 true EP4381600A1 (de) 2024-06-12

Family

ID=83113060

Family Applications (1)

Application Number Title Priority Date Filing Date
EP22760905.4A Pending EP4381600A1 (de) 2021-08-03 2022-08-01 Empfang und abtastratenwandlung von asynchron übertragenen audio und videodaten

Country Status (4)

Country Link
EP (1) EP4381600A1 (de)
CA (1) CA3226734A1 (de)
DE (1) DE102021120204A1 (de)
WO (1) WO2023012126A1 (de)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6061410A (en) 1997-02-27 2000-05-09 Advanced Micro Devices Frequency ratio estimation arrangement and method thereof
US7023868B2 (en) * 1999-04-13 2006-04-04 Broadcom Corporation Voice gateway with downstream voice synchronization
US7738613B1 (en) * 2003-03-21 2010-06-15 D2Audio Corporation Streaming multi-channel audio as packetized data or parallel data with a separate input frame sync
JP2009162918A (ja) * 2007-12-28 2009-07-23 Toshiba Microelectronics Corp 復号再生装置及び方法並びに受信装置
DE102009008092B4 (de) 2009-02-09 2014-10-30 Atlas Elektronik Gmbh Verfahren und Vorrichtung zum Kompensieren von Abtastratenschwankungen
DK2768246T3 (da) * 2013-02-13 2019-09-02 Sennheiser Communications As Fremgangsmåde til at betjene en høreanordning og høreanordning

Also Published As

Publication number Publication date
WO2023012126A1 (de) 2023-02-09
CA3226734A1 (en) 2023-02-09
DE102021120204A1 (de) 2023-02-09

Similar Documents

Publication Publication Date Title
DE69635970T2 (de) Schaltung und Verfahren zur Umwandlung eines Fernsehsignals
DE102010018376B4 (de) Dynamische Pufferung und Synchronisation verwandter Medienströme in Paketnetzwerken
DE60104353T2 (de) Verfahren und Einrichtung zur Reduktion des Verzögerungsjitters in der Datenübertragung
DE602005003492T2 (de) Verfahren, Vorrichtung und System zum synchronisierten Kombinieren von Paketdaten
DE69533981T2 (de) Multimedia-multiplexvorrichtung und verfahren mit dynamischer paketsegmentierung
DE3732111C2 (de)
DE19512811B4 (de) Telekonferenzkonsole
DE69531223T2 (de) Verfahren und anordnung zur datenpaketübertragung
DE10196554B4 (de) Synchronisation von Audio- und Videosignalen
DE102004015612A1 (de) Testen von Netzkommunikation
DE69832454T2 (de) Datenübertragungssystem, sender und empfänger
DE102009008092A1 (de) Verfahren und Vorrichtung zum Kompensieren von Abtastratenschwankungen
EP1425885B1 (de) Verfahren und anordnung zur übermittlung von daten aus einem ersten datennetz in ein zweites datennetz
DE102017113482A1 (de) Verfahren und System zur Übertragung und latenzarmen schritthaltenden Weiterverarbeitung und/oder Ausgabe eines Audiodatenstroms
DE102010003248B4 (de) Verfahren und Vorrichtung zur Verarbeitung von Daten in einem Netzwerk eines Fahrzeugs
DE60126470T2 (de) Netzwerkvorrichtung und Verfahren zum Laufzeitausgleich von Datenpaketen
EP4381600A1 (de) Empfang und abtastratenwandlung von asynchron übertragenen audio und videodaten
DE69433573T2 (de) Synchronisation mehrerer Sende- und Empfangsgeräte
DE3308703C2 (de)
DE60031090T2 (de) Verfahren und Vorrichtung zur Wiederzusammensetzung von Rahmen
EP3746864B1 (de) Hochfrequenzsignal-stimulator-system
DE10232988B4 (de) Verfahren und Vorrichtung zur getakteten Ausgabe asynchron empfangener Digitalsignale
EP2913946B1 (de) Sprachübertragung in redundanten Systemen
DE60034539T2 (de) Verfahren zur dynamischen Berechnung von Interpolationsphasen in einem Videonormwandler
DE2538955C3 (de) Verfahren zum Konferenzbetrieb und Konferenzschaltungsanordnung zum gleichzeitigen Verbinden von drei oder mehr Fernsprechteilnehmern

Legal Events

Date Code Title Description
STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: UNKNOWN

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

Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE

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

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

Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE

17P Request for examination filed

Effective date: 20240123

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR