This application claims the benefit of priority from European Patent Application No. 06014390.6, filed Jul. 11, 2006, which is incorporated by reference.
1. Technical Field
The invention relates to digital radio, and in particular, to decoding a digital radio stream.
2. Related Art
Digital radio broadcasting has become more popular because of its availability and superior audio quality compared to traditional analog radio broadcasting. Digital radio broadcasting may include transmission and reception of digital radio streams on existing radio frequency bands, such as Amplitude Modulation (AM) and Frequency Modulation (FM). Digital radio may utilize compression and modulation of audio and data to more effectively take advantage of the bandwidth of AM and FM frequencies. A digital radio stream may include several channels that contain audio, informational data, diagnostic parameters, and other data. For example, the Digital Radio Mondiale (DRM) standard may be broadcast at AM radio bands below 30 MHz. A DRM digital radio stream may include three channels: a Main Service Channel (MSC), a Fast Access Channel (FAC), and a Service Description Channel (SDC).
The MSC channel may contain the data for the DRM services. The MSC channel may contain audio or informational data, depending on the type of service being broadcast. The FAC channel may contain transmission frames that describe the type of services broadcast on the MSC channel. The FAC channel may contain information on the type of modulation, number of services, type of services, and other information to inform a DRM receiver on how to decode the MSC channel. The SDC channel may contain information about a received DRM digital radio stream, such as a radio station identifier, geographic location, time, date, and other information.
Because the MSC channel may contain a large amount of data compressed using a complex compression algorithm, the decoding latency time of the MSC channel may be much greater than the decoding latency time of the FAC and SDC channels. When a user tunes to a new DRM digital radio stream, existing DRM receivers may take time to decode the MSC channel, which may lead to a long delay to hear the audio that is contained in the MSC channel. Moreover, while an existing DRM receiver may simultaneously decode the FAC and SDC channels during MSC channel decoding, such a receiver may not output the data contained in the FAC and SDC channels until the MSC channel decoding is finished. This may result in an unsatisfactory user experience due to the high decoding latency time for the MSC channel. Therefore, a need exists for a system of decoding a digital radio stream with multiple channels to provide a more satisfactory user experience by outputting at least part of the digital radio stream before all the channels are finished decoding.
A digital radio receiver includes a receiver, a decoder, and a transducer. The receiver receives a digital radio stream, such as a stream conforming to the Digital Radio Mondiale (DRM) standard, and converts the stream into its constituent channels. The channels may include compressed audio and data, or may include other types of data related to the digital radio stream, such as decoding parameters, a radio station identifier, or other information. The decoder decodes the channels into the broadcasted audio and data for output on the transducer. The transducer may include one or more of a speaker, headphones, a text-to-speech converter, a display, or other presentation devices.
The digital radio receiver may concurrently decode the multiple channels, and may complete decoding on the channel containing other types of data before a compressed audio is completely decoded. The digital radio receiver may transmit the data through the transducer before the channel is uncompressed.
Other systems, methods, features and advantages will be, or will become, apparent to one with skill in the art upon examination of the following figures and detailed description. It is intended that all such additional systems, methods, features and advantages be included within this description, be within the scope of the invention, and be protected by the following claims.
The system may be better understood with reference to the following drawings and description. The components in the figures are not necessarily to scale, emphasis instead being placed upon illustrating the principles of the invention. Moreover, in the figures, like referenced numerals designate corresponding parts throughout the different views.
A digital radio receiver may decode multiple channels of a received digital radio stream simultaneously. Because a channel containing compressed audio or data may take longer to decode than other channels in the stream, the digital radio receiver may output the content of the other channels before completing decoding of the channel containing compressed audio or data. A user may enjoy an improved user experience because at least part of the digital radio stream may be heard while waiting for decoding of the channel containing compressed audio or data to finish.
The digital radio receiver includes a receiver, a decoder, and a transducer. The receiver may receive a digital radio stream, such as a stream conforming to the Digital Radio Mondiale standard. The receiver may convert the digital radio stream into the individual channels that make up the stream, and the decoder may decode the channels into audio and data for output on the transducer. For example, in a received DRM digital radio stream, the Main Service Channel (MSC) containing compressed audio may take longer to decode than the Fast Access Channel (FAC) or the Service Description Channel (SDC). The digital radio receiver may output the data contained in the FAC or SDC channels before completion of decoding on the compressed audio contained in the MSC channel. In this way, a user has a more satisfactory user experience because at least part of the digital radio stream may be output, i.e., data contained in the FAC or SDC channels, while waiting for decoding of the MSC channel to finish.
The digital radio receiver may include a processor and a memory. When a digital radio stream is received, the processor may access the memory to check whether the memory already contains data related to the digital radio stream. If the memory already contains data related to the digital radio stream, for example, because that particular digital radio stream had been previously received, the processor may output the data from the memory on the transducer. If the memory does not already contain data related to the digital radio stream, then the processor may store the incoming data from the digital radio stream in the memory.
The receiver 104 may receive and convert the digital radio stream 114 into channels 116. If the digital radio stream 114 is a DRM digital radio stream, it may include three channels: a Main Service Channel (MSC), a Fast Access Channel (FAC), and a Service Description Channel (SDC). The digital radio stream 114 may include any number of channels 116, whether the digital radio stream 114 is a DRM digital radio stream or a digital radio stream 114 conforming to another digital radio standard. The receiver 104 may include filtering, conversion, and demodulation of the digital radio stream 114 into the channels 116.
The decoder 106 may receive decode the channels 116 into the data 118 that is contained in the channels 116 simultaneously. Because the channels 116 may contain different amounts and types of audio or data that may be compressed with different compression algorithms, the decoding latency time of each of the channels 116 may vary significantly relative to each other. For example, if the digital radio stream 114 is a DRM digital radio stream, there may be three channels: MSC, FAC, and SDC. The MSC channel may contain the largest amount of data of the three DRM channels and may be compressed with a complex compression algorithm. As such, the MSC channel may have the longest decoding latency time compared to the FAC and SDC channels. When the decoder 106 has finished decoding the FAC or SDC channels, the decoder 106 may provide the data 118 corresponding to the FAC or SDC channel to the processor 108, even if the decoder 106 is still decoding the MSC channel. In this system, a user may enjoy an improved user experience because information from the FAC or SDC channels may be heard, before the MSC channel finishes decoding. When the decoder 106 finishes decoding the MSC channel, the data 118 corresponding to the MSC channel may then be provided to the processor 108.
The processor 108 may receive the data 118 from the decoder 106 and store output data 120 in memory 110 or send it to the transducer 112. When a digital radio stream 114 is received, the processor 108 may access the memory 110 to determine whether the memory 110 contains data corresponding to the digital radio stream 114, e.g., if the digital radio stream 114 had been previously received. If the memory 110 contains data corresponding to the digital radio stream 114, the processor 108 may retrieve the data from the memory 110 and provide the output data 120 to the transducer 112. If the memory 110 does not contain data corresponding to the digital radio stream 114, the processor 108 may store the data 118 in the memory 110. In the case where the digital radio stream 114 is a DRM digital radio stream, the processor 108 may access the memory 110 to determine whether there is data corresponding to the FAC or SDC channels for a particular received digital radio stream. If the memory 110 contains FAC or SDC data corresponding to the received DRM digital radio stream, then the FAC or SDC data may be provided as the output data 120 to the transducer 112. If the memory 110 does not contain FAC or SDC data corresponding to the received DRM digital radio stream, then the data 118 from the decoder 106 may be stored in the memory 110.
The transducer 112 may receive and output the output data 120. The transducer 112 may include one or more of a text-to-speech converter, a speaker, headphones, a display, or other devices that can convey the output data 120 to the user. The output data 120 may correspond to the MSC, FAC, or SDC channels of a DRM digital radio stream. If the output data 120 corresponds to the MSC channel and contains audio, the audio may be output on a speaker, headphones, or other audio transducer. If the output data 120 corresponds to the FAC or SDC channels and contains data, the data may be output on a display or other video transducer, or may be converted by the text-to-speech converter and output on a speaker, headphones, or other audio transducer.
The FAC channel 204 may contain transmission frames that describe the services contained in the MSC channel 202. The FAC channel 204 may include information on how to decode the rest of the DRM digital radio stream, including the MSC channel 202. Such information may include spectrum occupancy, interleaving scheme, modulation mode, the number of services, language, audio, data, program type, spectrum occupancy, transmission mode, or other parameters. The FAC channel 204 may contain 72 bits of information, with 64 bits of FAC data and 8 bits for a cyclic redundancy check (CRC). Regardless of the spectrum occupancy or transmission mode, the decoder 106 may decode the FAC channel 204 to determine how to decode the rest of the DRM digital radio stream.
The SDC channel 206 may contain information about the available services in the DRM digital radio stream and further information on how to decode the MSC channel 202. The SDC channel 206 may also include data that may be conveyed to the user of a digital radio receiver, such as a radio station identifier, time, date, geographic location, or other information.
The decoder 106 may receive and decode the channels 116 into the data 118, and may include a plurality of individual decoders 308, 310, 312, and 314 connected in parallel that correspond to each of the channels 116. Any number of individual decoders may be included in the decoder 106 to correspond to the number of channels 116. In
When a digital radio stream 114 is received, the processor 108 may access the memory 110 to determine whether the memory 110 contains data corresponding to the digital radio stream 114, e.g., if the digital radio stream 114 had been previously received. If the memory 110 contains data corresponding to the digital radio stream 114, the processor 108 may retrieve the data from the memory 110 and provide the output data 120 to the transducer 112. If the memory 110 does not contain data corresponding to the digital radio stream 114, the processor 108 may instead store the data 118 in the memory 110.
The transducer 112 may receive and output the output data 120, and may include a text-to-speech converter 316, a speaker 318, and a display 320. The output data 120 may include audio, text, or other data to be conveyed to a user of the digital radio receiver 100. If the output data 120 includes audio, the processor 108 may output the audio to the speaker 318 for presentation. If the output data 120 includes text, the processor 108 may output the text to the display 320 for presentation. The processor 108 may also output the text to the text-to-speech converter 316, which may then present the text as speech through the speaker 318.
Because of its greater amount of data and compression with a complex compression algorithm, the MSC channel may have a longer decoding latency time in MSC decoder 402, relative to the FAC decoder 404 and the SDC decoder 406. However, instead of waiting for all the decoders 402, 404, and 406 to complete decoding, the FAC decoder 404 and the SDC decoder 406 may output their respective data 118 when finished decoding the FAC and SDC channels. In this fashion, the data contained in the FAC and SDC channels may be provided to the user when the FAC and SDC decoders 404 and 406 complete decoding, even if the MSC decoder 402 is still decoding. This may result in an improved user experience because the user will not have to wait until the MSC channel is decoded to receive at least the information contained in the FAC and SDC channels.
When the processor 108 receives a DRM digital radio stream 114, the processor 108 may access the memory 110 to determine whether the memory 110 contains data corresponding to the FAC or SDC channels of the DRM digital radio stream 114. There may be data in the memory 110 corresponding to the FAC or SDC channels if the received DRM digital radio stream 114 had been previously received. If the memory 110 contains FAC or SDC data corresponding to the received DRM digital radio stream 114, the processor 108 may retrieve the data from the memory 110 and provide it as the output data 120 to the transducer 112. If the memory 110 does not contain FAC or SDC data corresponding to the received DRM digital radio stream 114, the processor 108 may instead store the FAC or SDC data 118 in the memory 110.
The transducer may receive and output the output data 120, and may include a text-to-speech converter 316, a speaker 318, and a display 320. The output data 120 may include audio or data from the MSC, FAC, or SDC channels. In particular, if the MSC channel contains audio that was decoded in the MSC decoder 402, the processor 108 may output the audio to the speaker 318 for presentation. If the FAC or SDC channels contain text that was decoded in the FAC or SDC decoders 404 and 406, the processor 108 may output the text to the display 320 for presentation, or may output the text to the text-to-speech converter 316 for subsequent speech output on the speaker 318. The processor 108 may output the text from the FAC or SDC channels immediately after completing decoding in the FAC or SDC decoders 404 and 406 without waiting until the MSC channel is completely decoded. This process may result in an improved user experience because the user will at least receive the information from the FAC and/or SDC channels without having to wait until the MSC channel is decoded.
If the data corresponding to the first channel is present in the memory in Act 602, then that data may be output on a transducer in Act 608 without waiting for the decoding of the first channel to finish. After output of the data corresponding to the first channel, the process 600 continues to Act 610 to determine whether decoding of the main channel N is finished. In Act 610, if decoding of the main channel N is not finished, then the process 600 continues to Act 612 for the second channel. But in Act 610, if decoding of the main channel N is finished, then the audio or data corresponding to the main channel N is output in Act 634 on a transducer.
The process 600 continues to Act 612 if decoding of the main channel N is not finished in Act 610. In Act 612, a memory is accessed to determine whether data corresponding to a second channel is in the memory. The second channel may have a shorter decoding latency time relative to the decoding latency time of the main channel N. If data corresponding to the second channel is not in the memory, then decoding of the second channel may begin and the process 600 continues to Act 614. In Act 614, if decoding of the second channel is not finished, then the process 600 waits for a predetermined time in Act 616 and then returns to Act 614 to again check if decoding of the second channel is finished. When the decoding of the second channel is completed in Act 614, then the decoded data from the second channel may be output on a transducer in Act 618.
However, if the data corresponding to the second channel is present in the memory in Act 612, then that data may be output on a transducer in Act 618 without waiting for decoding of the second channel to finish. The transducer may be one or more of a speaker, headphones, a display, a text-to-speech converter, or other audio or video transducers. After output of the data corresponding to the second channel, the process 600 continues to Act 620 to determine whether decoding of the main channel N is finished. In Act 620, if decoding of the main channel N is not finished, then the process 600 continues to Act 622 for the next channel M. But in Act 620, if decoding of the main channel N is finished, then the audio or data corresponding to the main channel N is output in Act 634 on a transducer.
The process 600 may continue for the number of channels that comprise the digital radio stream. In
On the other hand, if the data corresponding to the channel M is present in the memory in Act 622, then that data may be output on a transducer in Act 628 without waiting for decoding of the channel M to finish. After output of the data corresponding to the channel M, the process 600 continues to Act 630 to determine whether decoding of the main channel N is finished. In Act 630, if decoding of the main channel N is not finished, then the process 600 continues to Act 632 and waits for a predetermined time and returns to Act 630 to again check if decoding of the main channel N is finished. If decoding of the main channel N is finished in Act 630, then the audio or data corresponding to the main channel N is output in Act 634 on a transducer.
However, if the data corresponding to the FAC channel is present in the memory in Act 702, then that data may be output on a transducer in Act 708 without waiting for the decoding of the FAC channel to finish. After output of the data corresponding to the FAC channel, the process 700 continues to Act 710 to determine whether decoding of the MSC channel is finished. In Act 710, if decoding of the MSC channel is not finished, then the process 700 continues to Act 712 and checks the SDC channel. But in Act 710, if decoding of the MSC channel is finished, then the audio or data corresponding to the MSC channel is output in Act 724 on a transducer.
The process 700 continues to Act 712 if decoding of the MSC channel is not finished in Act 710. In Act 712, a memory is accessed to determine whether data corresponding to the SDC channel is in the memory. The SDC channel may have a shorter decoding latency time relative to the decoding latency time of the MSC channel. If data corresponding to the SDC channel is not in the memory, then decoding of the SDC channel may begin and the process 700 continues to Act 714. In Act 714, if decoding of the SDC channel is not finished, then the process 700 waits for a predetermined time in Act 716 and then returns to Act 714 to again check if decoding of the SDC channel is finished. When the decoding of the SDC channel is completed in Act 714, then the decoded data from the SDC channel may be output on a transducer in Act 718.
If the data corresponding to the SDC channel is present in the memory in Act 712, then that data may be output on a transducer in Act 718 without waiting for decoding of the SDC channel to finish. The transducer may be one or more of a speaker, headphones, a display, a text-to-speech converter, or other audio or video transducers. After output of the data corresponding to the SDC channel, the process 700 continues to Act 720 to determine whether decoding of the MSC channel is finished. In Act 720, if decoding of the MSC channel is not finished, then the process 700 continues to Act 722 and waits for a predetermined time and returns to Act 720 to again check if decoding of the MSC channel is finished. If decoding of the MSC channel is finished in Act 720, then the audio or data corresponding to the MSC channel is output in Act 724 on a transducer.
The processes may be encoded in a computer readable medium such as a memory, programmed within a device such as one or more integrated circuits, one or more processors or may be processed by a controller or a computer. If the processes are performed by software, the software may reside in a memory resident to or interfaced to a storage device, a communication interface, or non-volatile or volatile memory in communication with a transmitter. The memory may include an ordered listing of executable instructions for implementing logical functions. A logical function or any system element described may be implemented through optic circuitry, digital circuitry, through source code, through analog circuitry, or through an analog source, such as through an electrical, audio, or video signal. The software may be embodied in any computer-readable or signal-bearing medium, for use by, or in connection with an instruction executable system, apparatus, or device. Such a system may include a computer-based system, a processor-containing system, or another system that may selectively fetch instructions from an instruction executable system, apparatus, or device that may also execute instructions.
A “computer-readable medium,” “machine-readable medium,” “propagated-signal” medium, and/or “signal-bearing medium” may comprise any device that contains, stores, communicates, propagates, or transports software for use by or in connection with an instruction executable system, apparatus, or device. The machine-readable medium may selectively be, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, device, or propagation medium. A non-exhaustive list of examples of a machine-readable medium would include: an electrical connection “electronic” having one or more wires, a portable magnetic or optical disk, a volatile memory such as a Random Access Memory “RAM” (electronic), a Read-Only Memory “ROM” (electronic), an Erasable Programmable Read-Only Memory (EPROM or Flash memory) (electronic), or an optical fiber (optical). A machine-readable medium may also include a tangible medium upon which software is printed, as the software may be electronically stored as an image or in another format (e.g., through an optical scan), then compiled, and/or interpreted or otherwise processed. The processed medium may then be stored in a computer and/or machine memory.
Although selected aspects, features, or components of the implementations are depicted as being stored in memories, all or part of the systems, including processes and/or instructions for performing processes, consistent with the system for decoding a digital radio stream may be stored on, distributed across, or read from other machine-readable media, for example, secondary storage devices such as hard disks, floppy disks, and CD-ROMs; a signal received from a network; or other forms of ROM or RAM, some of which may be written to and read from in a vehicle.
Specific components of a system for decoding a digital radio stream may include additional or different components. A controller may be implemented as a microprocessor, microcontroller, application specific integrated circuit (ASIC), discrete logic, or a combination of other types of circuits or logic. Similarly, memories may be DRAM, SRAM, Flash, or other types of memory. Parameters (e.g., conditions), databases, and other data structures may be separately stored and managed, may be incorporated into a single memory or database, or may be logically and physically organized in many different ways. Programs and instruction sets may be parts of a single program, separate programs, or distributed across several memories and processors.
While various embodiments of the invention have been described, it will be apparent to those of ordinary skill in the art that many more embodiments and implementations are possible within the scope of the invention. Accordingly, the invention is not to be restricted except in light of the attached claims and their equivalents.
Number | Date | Country | Kind |
---|---|---|---|
06014390.6 | Jul 2006 | EP | regional |