1. A method of configuring a video presenting network comprising a plurality of resources and comprising a plurality of outputs, the method comprising:
accepting an indication of a partial configuration of the video presenting network, wherein the partial configuration comprises an indication of a configuration for a first resource out of the plurality of resources of the video presenting network;
based on interdependencies between the plurality of resources of the video presenting network, determining one or more configuration options for a second resource out of the resources of the video presenting network that are co-functional with the indication of the partial configuration of the video presenting network; and
indicating the co-functional configuration options for the second resource.
2. The method of claim 1 wherein:
the accepting is performed by a video driver;
the determining is performed by the video driver; and
the indicating is performed by the video driver.
3. The method of claim 2 wherein:
the video driver comprises a video miniport;
the accepting is performed by the video miniport;
the determining is performed by the video miniport; and
the indicating is performed by the video miniport.
4. The method of claim 1 wherein:
the indicating is performed in response to a programmatic call to an enumeration function of a device driver interface.
5. The method of claim 1 wherein:
the indicating indicates co-functional configuration options for the plurality of resources of the video presenting network.
6. The method of claim 1 wherein:
the first resource is in a first video path of the video presenting network; and
the second resource is in a second video path of the video presenting network.
7. The method of claim 1 wherein:
the partial configuration of the video presenting network indicates a configuration for one out of a plurality of video inputs of the video presenting network.
8. The method of claim 1 wherein:
the partial configuration of the video presenting network indicates a configuration for one out of the plurality of video outputs of the video presenting network.
9. The method of claim 1 wherein:
the partial configuration of the video presenting network indicates a configuration for one out of a plurality of digital-video-input-representation-to-video-output-signal converters of the video presenting network.
10. The method of claim 9 wherein:
the digital-video-input-representation-to-video-output-signal converter comprises a video codec.
11. The method of claim 9 wherein:
the digital-video-input-representation-to-video-output-signal converter comprises a digital-to-analog converter.
12. The method of claim 1 wherein:
the first resource comprises an input of the video presenting network; and
the second resource comprises an output of the video presenting network.
13. The method of claim 1 wherein:
the partial configuration of the video presenting network indicates a topology for the video presenting network.
14. The method of claim 1, wherein:
the partial configuration of the video presenting network indicates a mapping from a video adapter output to a video device.
15. One or more computer-readable media having computer-executable instructions for performing the method of claim 1.
16. A method of configuring a video presenting network comprising video sources and video targets, the method comprising:
selecting a topology for the video presenting network;
enumerating co-functional options for the video sources;
from among the co-functional options for the video sources, pinning options for the video sources;
enumerating co-functional options for the video targets; and
from among the co-functional options for the video targets, pinning options for the video targets.
17. The method of claim 16 wherein:
the co-functional options for the video sources are co-functional with respect to the topology; and
the co-functional options for the video targets are co-functional with respect to the topology and co-functional with respect to the pinned options for the video sources.
18. The method of claim 16 wherein pinning options for the video sources comprises:
pinning an option for a first video source, wherein the pinning invalidates a configuration option for a second video source;
determining that the configuration option for the second video source has been invalidated; and
unpinning the option for the first video source responsive to determining that the configuration option for the second video source has been invalidated.
19. The method of claim 16 further comprising:
responsive to determining a desired option is not among the co-functional options for the video sources, choosing a different topology.
20. The method of claim 16 further comprising:
responsive to determining a desired option is not among the co-functional options for the video targets, choosing a different topology.
21. The method of claim 16 further comprising:
responsive to determining a desired option is not among the co-functional options for the video targets, choosing a different option for at least one of the video sources.
22. One or more computer-readable media having computer-executable instructions for performing the method of claim 16.
23. One or more computer-readable media having encoded thereon computer-executable instructions implementing a video driver operable to configure a video presenting network comprising a plurality of resources comprising a plurality of outputs, the video driver comprising:
logic operable to accept an indication of a partial configuration of the video presenting network, wherein the partial configuration comprises an indication of a configuration for a first resource out of the plurality of resources of the video presenting network;
logic operable to, based on interdependencies between the plurality of resources of the video presenting network, determine one or more configuration options for a second resource out of the plurality of resources of the video presenting network that are co-functional with the indication of the partial configuration of the video presenting network; and
logic operable to indicate the co-functional configuration options for the second resource.
The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.
1. A sampling-rate-independent method of automated speech recognition (ASR), comprising the steps of:
comparing speech energies of a plurality of codebooks generated from training data created at an ASR sampling rate to speech energies in a current frame of acoustic data generated from received audio from which speech is to be recognized and that was created at an audio sampling rate below the ASR sampling rate, wherein the comparing step is carried out using a processor;
selecting from the plurality of codebooks, a codebook having speech energies that correspond to speech energies in the current frame over a spectral range corresponding to the audio sampling rate;
copying from the selected codebook, speech energies above the spectral range;
appending the copied speech energies to the current frame;
extracting acoustic features from the appended current frame; and
decoding the extracted acoustic features to recognize the speech.
2. The method set forth in claim 1, wherein the plurality of codebooks are provided from a plurality of sets of codebooks wherein each set was generated according to a certain vehicle condition.
3. The method set forth in claim 2, wherein the plurality of codebooks are retrieved for speech recognition carried out in a current vehicle condition that corresponds to the vehicle condition used to generate the plurality of codebooks.
4. An automated speech recognition (ASR) system, comprising:
at least one input device to receive incoming audio;
a memory storing program instructions and data; and
a processor coupled to the input device(s) and memory, and responsive to the program instructions for causing the ASR system to perform a method according to claim 1.
5. A computer-readable medium comprising instructions executable by an automated speech recognition (ASR) system to cause the ASR system to perform a method according to claim 1.
6. A sampling-rate-independent method of automated speech recognition (ASR) of speech-containing audio, comprising the steps of:
accessing a plurality of codebooks generated from training data created at an ASR sampling rate;
receiving speech-containing audio from which speech is to be recognized and that was created according to an audio sampling rate below the ASR sampling rate;
segmenting the received speech-containing audio into overlapping frames of acoustic data;
spectrally analyzing the acoustic data to generate speech energies spanning a predetermined spectral range corresponding to the audio sampling rate;
comparing speech energies of the plurality of codebooks to speech energies in a current frame of the acoustic data, wherein the comparing step is carried out using a processor;
selecting from the plurality of codebooks a codebook having speech energies that correspond to speech energies in the current frame over a spectral range corresponding to the audio sampling rate;
copying from the selected codebook speech energies above the spectral range; and
appending the copied speech energies to the current frame;
extracting acoustic features from the appended current frame; and
decoding the extracted acoustic features to recognize the speech.
7. The method set forth in claim 6, wherein the acoustic data is spectrally analyzed using a Mel filter including a plurality of filter banks to generate Mel filter speech energies spanning the spectral range corresponding to the audio sampling rate.
8. The method set forth in claim 6, wherein the plurality of codebooks are provided from a plurality of sets of codebooks wherein each set was generated according to a certain vehicle condition.
9. The method set forth in claim 8, wherein the plurality of codebooks are retrieved for speech recognition carried out in a current vehicle condition that corresponds to the vehicle condition used to generate the plurality of codebooks.
10. A sampling-rate-independent method of automated speech recognition (ASR), comprising the steps of:
(a) accessing a plurality of codebooks generated from training data created at an ASR sampling rate;
(b) receiving speech-containing audio created according to an audio sampling rate;
(c) segmenting the speech-containing audio into overlapping frames of acoustic data;
(d) determining whether the audio sampling rate is greater than the ASR sampling rate and, if so, then down sampling the received audio and skipping to steps (l)-(m);
(e) determining whether the audio sampling rate is the same as the ASR sampling rate and, if so, then skipping to steps (l)-(m);
(f) determining whether the audio sampling rate is less than the ASR sampling rate and, if so, then proceeding to steps (g)-(m);
(g) spectrally analyzing the acoustic data using a Mel filter including a plurality of filter banks to generate Mel filter speech energies spanning a spectral range corresponding to the audio sampling rate;
(h) comparing speech energies of the plurality of codebooks to speech energies in a current frame of the acoustic data, wherein the comparing step is carried out using a processor;
(i) selecting from the plurality of codebooks, a codebook having speech energies that correspond to speech energies in the current frame over a spectral range corresponding to the audio sampling rate;
(j) copying from the selected codebook, speech energies above the spectral range;
(k) appending the copied speech energies to the current frame;
(l) extracting acoustic features from the appended current frame; and
(m) decoding the extracted acoustic features.