Title of Invention

"ACCESS TO AUDIO OUTPUT VIA CAPTURE SERVICE"

Abstract ABSTRACT ACCESS TO AUDIO OUTPUT VIA CAPTURE SERVICE An operating system has an audio system service that can capture all of the streaming audio destined for an output device and make it available for processing. An application can perform the processing upon the captured streaming audio. Any streaming audio that is output by the application and destined for a render device can also be captured for signal processing prior to being mixed with other streaming audio destined for the output device. ID
Full Text








1 I
I/We claim:
1. A computer implemented method comprising:
generating a system audio stream for rendering to ambient (166, 186);
capturing the system audio stream to be rendered to the ambient (166,
186);
rendering the system audio stream to the ambient (166,186);
capturing an ambient audio stream from the ambient (166, 186)
including the rendered system audio stream; and i
canceling the captured system audio stream from the captured
ambient audio stream.
2. The computer implemented method as claimed in claim 1, wherein
the rendering and each said capturing are performed by an operating
system (156,176); and
the canceling is performed by a real time communication application
(RTC) (160,180) executed by one or more processors (362) being operated
^S by the operating system (156,176).
3. The computer implemented method as claimed in claim 1, wherein the
canceling of the captiored system audio stream from the captured ambient audio
stream is performed by an RTC (160,180).
4. The computer implemented method as claimed in claim 1, wherein the
canceling of the captured system audio stream from the captured ambient audio
24
I
I t
stream is an acoustic echo cancellation process (AEC) (112) performed by an RTC
(160, 180).
5. The computer implemented method as claimed in claim 1, wherein
the captured ambient audio stream includes an audio stream that is not
generated by a computing system;
the canceling of the captured system audio stream from the captured
ambient audio stream produces a resultant audio stream that includes the
^1^ audio stream that is not generated by the computing system; and
the method frirther comprises transmitting the resultant audio stream.
6. The computer implemented method as claimed in claim 5, wherein the audio
stream that is not generated by the computing system includes a vocal audio stream
for transmission over a packet switched network (170) during the execution of an
RTC (160,180).
7. The computer implemented method as claimed in claim 6, wherein the vocal
audio stream for transmission over the packet switched network is a telephony audio
^ p stream
8. The computer implemented method as claimed in claim 1, wherein the
system audio stream to be rendered to the ambient includes a plurality of audio
streams generated by a plurality of applications.
9. The computer implemented method as claimed in claim 1, wherein
25
the rendering of the system sounds audio stream to the ambient (166,186)
further comprises outputting the rendered system audio stream to a speaker
(162, 182,262); and
the capturing of the ambient audio stream from the ambient (166, 186)
including the rendered system audio stream further comprises receiving the
ambient audio stream into a microphone (164,184).
10. The computer implemented method as claimed in claim 1, wherein the
^f' method further comprising:
capturing a transmitted audio stream;
rendering the transmitted audio stream into the ambient (166,186);
capturing the ambient audio stream including the rendering of the
transmitted audio stream; and
canceling the captured transmitted audio stream from the captured
ambient audio stream.
11. The computer implemented method as claimed in claim 10, wherein
^ ^ the rendering and each said capturing are performed by an operating
system (156, 176); and
the canceling is performed by a real time communication application
(RTC) (160, 180) executed by one or more processors (362) being operated
by the operating system (156, 176).
26
I 1
12. The computer implemented method as claimed in claim 10, wherein the
captured transmitted audio stream is received from a packet switched network.
13. The computer implemented method as claimed in claim 10, wherein the
captured transmitted audio stream is a telephony audio stream that is received from a
packet switched network.
14. The computer implemented method as claimed in claim 10, wherein the
canceling of the captured transmitted audio stream from the captured ambient audio
stream is performed by an RTC (160,180). |
15. The computer implemented method as claimed in claim 10, wherein the
canceling of the captured transmitted audio stream from the captured ambient audio
stream is an acoustic echo cancellation process (AEC) (112).
16. The computer implemented method as claimed in claim 1 or 10 fiirther
comprising:
capturing the transmitted audio stream that has been received at a
communication network connection;
^% generating the system audio stream to be rendered to the ambient (166,
186,266);
capturing the generated system audio stream to be rendered to the
ambient (166, 186);
rendering the fransmitted audio stream and the generated system audio
stream into the ambient (166, 186);
27
capturing an ambient audio stream from the ambient and canceling
therefrom:
the rendering of the transmitted audio stream; and
the rendering of the generated system audio stream.
17. The computer implemented method as claimed in claim 16, wherein
the rendering and each said capturing are performed by an operating
system (156, 176); and
W the canceling is performed by an RTC (160, 180) executed by one or
more processors (362) being operated by the operating system (156,176).
18. The computer implemented method as claimed in claim 16, wherein
the captured ambient audio stream includes a vocal audio stream to be
transmitted for real time communications;
the canceling of the captured system audio stream from the captured
ambient audio stream produces a resultant audio stream that includes the
vocal audio stream; and
^ 1 the method further comprises transmitting the resultant audio stream.
19. The computer implemented method as claimed in claim 16, wherein
the rendering of the generated system audio sfream to the ambient
further comprises outputting the rendering of the generated system audio
stream to a speaker (162, 182); and
28
the capttiring of the ambient audio stream from the ambient further
comprises receiving the ambient audio stream into a microphone (164, 184).
20. A real time communication system comprising:
a first client system executing a first RTC (160)and a first operating
system (156), the first client system including:
a first speaker (162);
a first microphone (164);
^^ a first streaming audio capturer (SAC) (158); and
a first streaming audio renderer (SAR) (158);
a second client system executing a second RTC (180) and a second
operating system (176), the second client system and including:
a second speaker (182);
a second microphone (184);
a second streaming audio capturer (SAC) (178); and
a second streaming audio renderer (SAR) (178);
^ g a packet switched network in communication with the first and second
clients systems, wherein during execution of the first RTC (160 )and the
second RTC (180)respectively by the first and second client systems:
the first client system transmits a first voice audio stream over
the packet switched network to the second client system that is captured
29
t 1
by the second SAC (178) and rendered by the second SAR (178) at the
second speaker (182);
the second client system transmits a second voice audio stream
over the packet switched network to the first client system that is
captured by the first SAC (158) and rendered by the first SAR (158)at
the first speaker (164);
a first system sounds audio stream is:
^•^ generated by an execution of a first system application
by the first client system;
captured by the first SAC (158); and
rendered by the first SAR() at the first speaker;
a second system sounds audio stream is:
generated by an execution of the second operating
system (176) by the second client system;
captured by the second SAC; and
^ 3 rendered by the second SAR at the second speaker;
the first microphone receives input, for capturing by the first SAC and
communication therefrom to the first RTC(160), a first bulk audio stream that
includes:
the first system sounds audio stream; and
a first ambient audio system from the ambient;
30
the second microphone receives input, for capturing by the second
SAC and communication therefrom to the second RTC(180), a second bulk
audio stream that includes:
the second system sounds audio stream; and
a second ambient audio system from the ambient;
the first RTC (160) cancels from the first bulk audio stream:
the first voice audio stream; and
^i^ the first system sounds audio stream;
the second RTC (180) cancels from the second bulk audio stream:
the second voice audio stream; and
the second system audio stream.
21. The real time communication system as claimed in claim 19, wherein the first
operating system (156) comprises:
the RTC (160) outputs a voice audio stream received from the second
system to the SAR that renders the same to the speaker (162) for an output
^ y that is input to the microphone (164);
the operating system (156) outputs a system sounds audio stream to the
SAR (158) that renders the same to the speaker (162) for an output that is
input to the microphone (164);
the microphone (164) receives an input of an ambient audio stream
from the ambient (166) that includes:
31
the system sounds audio stream; and
the voice audio stream received from the second system;
theRTC(160):
calls for the SAC to capture:
a local audio stream that includes the voice audio stream
received from the second system and rendered by the SAR;
and
^ ' ^ a global audio stream that includes the system sounds
audio stream that was rendered by the SAR;
cancels from the input to the microphone (164):
using the local audio stream captured by the SAC, the input of
the voice audio stream received from the second system that was
rendered by the SAR and output by the speaker (164), whereby the
voice audio stream received from the second system is prevented
from being rendered more than once by the SAR for output to the
^ p speaker (164); and
using the global audio stream captured by the SAC, the input
of the system sounds audio stream output by the operating system
(156) that was rendered by the SAR and output by the speaker (0164,
whereby the system sounds audio stream are prevented from being
32
transmitted by the RTC (160) to the second system over the packet
switched network.
22. The real time communication system as claimed in claim 19, wherein the first
and second RTC (160, 180) each include an AEC.
23. A computing system has an operating system (256) in communication with a
speaker (262) and a microphone (264), the operating system (256) including a SAC
and a SAR (258), the operating system (256) executing applications including a
^1^ media player application (MP) (260), wherein
the MP (260) outputs a media audio stream to the SAR (258) that
renders the same to the speaker (262) for an output that is then input to the
microphone (264);
the operating system (256) outputs a system sounds audio stream to the
SAR (258) that renders the same to the speaker (262) for an output that is
then input to the microphone (264);
the microphone (264) receives an input of an ambient audio stream
^ p from ambient (266) that includes:
the system soimds audio stream output by the speaker (262);
the media audio stream output by the speaker (262); and
a voice audio stream including vocal commands from a user
(252) for operations to be carried out by the MP (260);
the MP (260) comprises:
33
a »
calls for the SAC (258) to capture from the renderings of the
SAR (258):
a local audio stream that includes the media audio stream;
and
a global audio stream that includes:
the system sounds audio stream; and
the media audio stream;
^T- cancels from the input to the microphone (264):
using the local audio stream captured by the SAC (258),
the input of the media audio stream, whereby the media audio
stream is prevented from being output more than once by the
speaker (262); and
using the global audio stream captured by the SAC (258),
the input of the system sounds audio stream and the media audio
stream, whereby the MP (260) receives only the voice audio
^ 3 stream.
Dated: February 16, 2004
S. JAY^RAM
IN/PAU347
OF LAKSHMIKUMARAN & SRIDHARAN
AGENT FOR THE APPLICANT
34

Documents:

212-del-2004-Abstract-(01-08-2013).pdf

212-del-2004-Claims-(01-08-2013).pdf

212-del-2004-Correspondence-Others-(01-08-2013).pdf

212-del-2004-Form-1-(01-08-2013).pdf

212-del-2004-form-1.pdf

212-del-2004-Form-3-(01-08-2013).pdf

212-del-2004-GPA-(01-08-2013).pdf

212-DEL-2004Claims211014.pdf

212-DEL-2004Correspondence211014.pdf

212-DEL-2004OTHERS211014.pdf


Patent Number 264339
Indian Patent Application Number 212/DEL/2004
PG Journal Number 52/2014
Publication Date 26-Dec-2014
Grant Date 23-Dec-2014
Date of Filing 16-Feb-2004
Name of Patentee MICROSOFT CORPORATION
Applicant Address ONE MICROSOFT WAY, REDMOND, WASHINGTON 98052, USA.
Inventors:
# Inventor's Name Inventor's Address
1 STEVEN E. SWENSON 15338 NE 73rd ST. REDMOND, WASHINGTON 98052, USA.
2 ALPER SELCUK 13609 NE 94th ST., REDMOND, WASHINGTON 98052, USA.
3 JAMES H. DOOLEY IV 17200 NE 14th ST., BELLEVUE, WASHINGTON 98008, USA.
4 DAVID W. FLENNIKEN 26225 NE 34th ST., REDMOND, WASHINGTON 98053, USA.
PCT International Classification Number G06F
PCT International Application Number N/A
PCT International Filing date
PCT Conventions:
# PCT Application Number Date of Convention Priority Country
1 10/393,664 2004-03-20 U.S.A.