Electronic technology has advanced to become virtually ubiquitous in society and has been used for many activities in society. For example, electronic devices are used to perform a variety of tasks, including work activities, communication, research, and entertainment. Different varieties of electronic circuitry may be utilized to provide different varieties of electronic technology.
An electronic device is a device that includes electronic circuitry. For instance, an electronic device includes integrated circuitry (e.g., transistors, digital logic, semiconductor technology, etc.). Some examples of electronic devices include computing devices, laptop computers, desktop computers, and smartphones.
In some examples, an electronic device may have or be connected to a camera for capturing images or video. For example, the camera may be a built-in camera(s) or an external camera (e.g., web camera (webcam)). In some examples, the camera is a user-facing camera used for capturing digital images, video, video conferencing and/or other applications.
When recording video, streaming video, participating in a video conference, etc., noise cancellation may be used to cancel or filter out background noise. In some examples, a noise canceller is used to adaptively filter out non-human sounds. For example, the noise canceller is used to filter out noises such as a barking dog or a police siren from the audio portion of the video.
In some scenarios, a user may not want certain sounds to be cancelled by the noise canceller. For example, if a person is playing a musical instrument, the person wants the sounds from the musical instrument to be included in the video or video stream. In another example, a user is interacting with a dog and wants the dog's barking to be included with the sound of the video being recorded, sent or streamed. In these examples, a noise canceller that filters out non-human sounds works to remove or cancel the non-human sounds even though a user desires these non-human sounds to be part of the video.
Techniques described herein provide noise cancellation for an electronic device that determines the salience of an object in the video and adjusts or adapts the noise canceller based on the object salience. For example, in video where a person is playing a musical instrument, techniques described herein determine that the musical instrument is salient to the video and modifies the noise canceller so that it does not cancel the sound of the musical instrument. If an object has salience, the electronic device uses the noise canceller to allow the sounds from the object to pass without being filtered out or canceled out of the audio portion of the video stream. If an object does not have salience, the electronic device uses the noise canceller to cancel the sounds from the object out of the audio portion of the video stream.
Throughout the drawings, similar reference numbers may designate similar or identical elements. When an element is referred to without a reference number, this may refer to the element generally, with or without limitation to any particular drawing or figure. In some examples, the drawings are not to scale, and the size of some parts may be exaggerated to more clearly illustrate the example shown. Moreover, the drawings provide examples in accordance with the description. The description is not limited to the examples provided in the drawings.
The electronic device 110 performs noise cancellation on the video or video stream using a noise canceller, described below. In some examples, the noise canceller is an acoustic noise canceller. The electronic device 110 detects objects in view of the camera 108 and uses the noise canceller to cancel noise based on the object salience in the video. An object is any item in view of the camera 108, such as a person, a musical instrument, an animal, a device, etc. An object salience is how prominent the object is in the video stream. In other words, the saliency of the object is a determination of whether the object is to be the subject or one of the subjects of the video, or whether the object is simply in the background and is not intended to be the subject of the video. If an object has salience, the electronic device 110 uses the noise canceller to allow the sounds from the object to pass without being filtered out or canceled out of the audio portion of the video stream. If an object does not have salience, the electronic device 110 uses the noise canceller to cancel the sounds from the object out of the audio portion of the video stream.
In
The electronic device 110 analyzes the image 220 to identify objects in the image 220 and the salience of the objects. The electronic device 110 uses the object salience to select a noise canceller characteristic to be used in performing noise cancellation. In the image 220 shown in
The electronic device 110 uses several techniques to determine an object salience and to detect a change in the object salience. In some examples, determining an object salience includes determining an object is a musical instrument. For example, in
In some examples, determining an object salience includes detecting a position of an object. For example, in
In
The electronic device 110 uses several techniques to detect a change in object salience. In some examples, detecting a change in object salience includes detecting motion relating to an object. For example, in
With the objects identified and the objects' salience determined, the electronic device 110 selects noise canceller characteristics to be used in performing noise cancellation. The noise canceller of
If the person 202 moved out of the camera subject position 214 such that the dog 212 was the object with salience in the video, the electronic device 110 would begin cancelling human voice sounds and passing the sounds of a dog. Noise cancellation programmed to just allow human voice sounds may be disabled in such a scenario.
The processor 326 executes noise cancellation instructions 320 causing the processor 326 to perform a first noise cancellation on a video stream using a first noise canceller characteristic 322. The video stream is provided to the electronic device 310 from the camera 308. The processor 326 executes object salience instructions 325 causing the processor 326 to detect a change in an object salience in the video stream. Based on a change in the object salience, the processor 326 executes the noise cancellation instructions 320 causing the processor 326 to perform a second noise cancellation on the video stream using a second noise canceller characteristic 324. In some examples, a noise canceller characteristic is a frequency, frequency band, or sets of frequency bands.
An electronic device 310 is a device that includes electronic circuitry (e.g., integrated circuitry). Examples of electronic devices may include computing devices (e.g., laptop computers, desktop computers, all-in-one computers, tablet devices, etc.), smartphones, game consoles, game controllers, smart appliances, printing devices, vehicles with electronic components, aircraft, drones, robots, smart appliances, etc.
In some examples, electronic devices 310 utilize circuitry (e.g., controller(s), processor(s), etc., or a combination thereof) to perform an operation. In some examples, electronic devices 310 execute instructions stored in memory to perform the operation(s). Instructions may be code, programming, or a combination thereof that specifies functionality or operation of the circuitry. In some examples, different circuitries in an electronic device 310 store or utilize separate instructions for operation. Portions of the electronic device 310 are coupled or connected via an interface (e.g., bus(es), wire(s), connector(s), etc.). For example, portions of the electronic device 310 or circuitries of the electronic device 310 may be coupled via an inter-integrated circuit (I2C) interface. The portions or circuitries may communicate via the interface.
The processor 326 executes instructions or code to perform operations on the electronic device 310. The processor 326 may be any of a microcontroller (e.g., embedded controller), a central processing unit (CPU), a semiconductor-based microprocessor, a general-purpose processor, graphics processing unit (GPU), field-programmable gate array (FPGA), an application-specific integrated circuit (ASIC), a circuit, a chipset, and/or other hardware device suitable for retrieval and execution of instructions stored in a memory (not shown). While a single processor 326 is shown in
The electronic device 310 may include additional portions (e.g., components, circuitries, etc.) (not shown) or some of the portions described herein may be removed or modified without departing from the scope of this disclosure. In some examples, the electronic device 310 may include input/output (I/O) circuitry (e.g., port(s), interface circuitry, etc.), memory circuitry, input device(s), output device(s), etc., or a combination thereof.
The computing device 410 is coupled to or is in electronic communication with the camera 408 to receive a video or video stream from the camera 408. In some examples, the camera 408 may be integrated with the computing device 410. For example, in the case of a laptop computer, a tablet computer, or a smartphone, the camera 408 may be built into the computing device 410. In other examples, the camera 408 may be separate from the computing device 410 but may communicate with the computing device 410. For example, an external webcam may be connected to the computing device 410.
The camera 408 may be positioned to view a person 102 at the computing device 410. For example, the camera 408 of a laptop computer may view a person 102 when the case of the laptop computer is open. In this scenario, the camera 408 may be located in a frame of the case housing of the display device 444 of the laptop computer. In other examples, the camera 408 may be a front-facing camera of a tablet computer or smartphone. In yet other examples, the camera 408 may be a webcam or other external camera.
The computing device 410 receives a video stream from the camera 408 and detects whether there has been a change in object salience in the video stream. In some examples, the computing device 410 modifies an acoustic noise canceller based on a change in an object salience in the video stream and performs acoustic noise cancellation on the video stream using the modified acoustic noise canceller. In some examples, modifying the acoustic noise canceller based on the change in the object salience includes automatically modifying the acoustic noise canceller without any user input.
The computing device 410 modifies the acoustic noise canceller to cancel sounds from objects without salience and to pass sounds from objects with salience, as described herein. For example, modifying the acoustic noise canceller based on the change in the object salience includes modifying the acoustic noise canceller to pass or to cancel a frequency band of the object. In some examples, the frequency band of a human voice may be characterized as a band from 80 hertz (Hz) to 8 kilohertz (kHz).
In some examples, when an object transitions from not having salience to having object salience, the computing device 410 modifies the acoustic noise canceller from rejecting a frequency band of the object to passing the frequency band of the object. If the object then transitions from having salience to not having salience, the computing device 410 modifies the acoustic noise canceller to cancel a frequency band of the object.
In some examples, input devices 448 and output devices 450 are used with the computing device 410. An audio port 446 is included on the computing device 410. One example of an audio port 446 is a headphone jack. The computing device 410 also includes a microphone 438. In some examples, the microphone 438 records the audio or sound to be combined with the video taken by the camera 408. In other examples, the microphone 438 is combined and included with the camera 408.
The processor 426 executes instructions on the computing device 410 to perform an operation (e.g., execute application(s)). For instance, the processor 426 may be an example of the processor 326 described in
In some examples, the memory 440 includes memory circuitry. The memory circuitry may be electronic, magnetic, optical, or other physical storage device(s) that contains or stores electronic information (e.g., instructions, data, or a combination thereof). In some examples, the memory circuitry stores instructions for execution (by the processor 426, or other component(s) of the computing device 410, or a combination thereof). The memory circuitry may be integrated into or separate from the element(s) described in
The computing device 410 includes a user interface. A user interface includes input devices 448 and output devices 450. Examples of output devices 450 include a display device 444, speaker(s), headphone(s), etc. The display device 444 may be referred to as a monitor, touchscreen, screen, or display of the computing device 410. In some examples, the display device 444 includes circuitry and/or instructions for presenting information to a user. In some examples, a display device 444 is attached to or may be external from the computing device 410. Some examples of technologies used by the display device 444 include an electroluminescent (ELD) display, a liquid crystal display (LCD), light-emitting diode (LED) backlit LCD, thin-film transistor (TFT) LCD, light-emitting diode (LED) display (e.g., organic light-emitting diode (OLED)), active-matrix LED (AMOLED) display, plasma (PDP) display, and/or quantum dot (QLED) display.
The user interface also includes input devices 448. Examples of input devices 448 include a keyboard, a mouse, a touch screen, joystick, camera 408, microphone 438, etc. The input/output interface 442 provides an interface between the processor 426 and the input devices 448 and output devices 450. For example, the input/output interface 442 may be a Universal Serial Bus (USB) port for a keyboard or a mouse. In another example, the input/output interface 442 may be a video card for an external display device 444. In some examples, the video or video stream is displayed or presented to the person 102 through the user interface.
In some examples, the acoustic noise canceller instructions 552 are instructions that when executed cause the processor 426 to perform acoustic noise cancellation on the video stream 566. Based on object salience, the processor 426 modifies the acoustic noise canceller instructions 552 to cancel sounds from objects without salience and to pass sounds from objects with salience. In some examples, the processor 426 modifies the acoustic noise canceller instructions 552 based on a change in object salience. The acoustic noise canceller instructions 552 are modified based on the audible characteristics of objects with salience or based on the audible characteristics of objects without salience or a combination thereof. For example, the first object 554 includes first object audible characteristics 556, such as frequencies, frequency bands, duration, energy, language, etc. The second object 558 includes second object audible characteristics 560, and the third object 562 includes third object audible characteristics 564. Three objects with corresponding audible characteristics are shown in
In some examples, the object salience instructions 525 are instructions that when executed cause the processor 426 to determine the salience of an object. Different techniques are described herein to determine the salience of an object. In some examples, motion 568 relating to an object is used in determining the object salience. For example, whether the object is moving into the camera subject position 514 or away from the camera subject position 514. Engagement 570 or interaction between objects is also analyzed in determining object salience. For example, if a person is in the camera subject position 514, whether the person 102 is engaging with or interacting with another object is used to determine other object's salience. The type 572 of object is also considered in determining object saliency. For example, whether the object is a musical instrument, an animal, another person, an electronic device 110, etc., is a factor in determining the object salience. In some examples, the position 574 of the object is used to determine the object's salience. In further examples, face detection is used to determine the object's salience. For example, if the object is a person, whether the person's face 504 is visible to the camera 108 is a factor in determining the person's salience. Whether the person is talking, including talking to another person or on a phone, is another factor in determining the person's salience.
At 602, the electronic device 110 receives a video stream from a camera. At 604, the electronic device 110 modifies an acoustic noise canceller based on a change in an object salience in the video stream 566. The various techniques described herein for determining object salience and detecting a change in object salience may be used. In some examples, modifying the acoustic noise canceller based on a change in an object salience is done automatically. At 606, the electronic device 110 performs acoustic noise cancellation on the video stream 566 using the modified acoustic noise canceller.
The computer-readable medium 701 includes code (e.g., data and/or executable code or instructions). For example, the computer-readable medium 701 includes digital filtering instructions 703, salience detection instructions 728, and digital filter modification instructions 705.
In some examples, the digital filtering instructions 703 are instructions that when executed cause the processor 326 of the electronic device 310 to filter video using a digital filter. The digital filter performs noise cancellation on the video.
In some examples, the salience detection instructions 728 are instructions that when executed cause the processor 326 of the electronic device 310 to determine the salience of an object in the video. Further, the salience detection instructions 728 are instructions that when executed cause the processor 326 of the electronic device 310 to detect a change in a salience of an object in the video.
In some examples, the digital filter modification instructions 705 are instructions that when executed cause the processor 326 of the electronic device 310 to modify the digital filter based on an audible characteristic of an object in the video. Modifying the digital filter based on an audible characteristic of an object provides a modified digital filter. Modifying the digital filter based on the audible characteristic of the object includes modifying the digital filter to pass the audible characteristic of the object and modifying the digital filter to cancel the audible characteristic of the object. If the object with the audible characteristic has object salience, the modified digital filter passes the audible characteristic of the object. If the object with the audible characteristic does not have object salience, the modified digital filter cancels the audible characteristic of the object.
As used herein, items described with the term “or a combination thereof” may mean an item or items. For example, the phrase “A, B, C, or a combination thereof” may mean any of: A (without B and C), B (without A and C), C (without A and B), A and B (without C), B and C (without A), A and C (without B), or all of A, B, and C.
While various examples are described herein, the described techniques are not limited to the examples. Variations of the examples are within the scope of the disclosure. For example, operation(s), aspect(s), or element(s) of the examples described herein may be omitted or combined.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/US2021/063124 | 12/13/2021 | WO |