RECONFIGURING A FLASH TO STATUS NOTIFICATION DURING VIDEO RECORDING
Reconfiguring a smartphone's flash to provide status notifications during video recording addresses privacy and power consumption issues by pulsing at configurable brightness, improving computing device operation as a virtual webcam.
Patent Information
- Application Number
- DE112023006722
- Authority / Receiving Office
- DE · DE
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-07-25
- Publication Date
- 2026-06-11
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
GENERAL STATE OF THE ART
[0001] Computing devices, such as smartphones, can include sophisticated camera units that, in terms of performance (such as image quality, image processing, latency, etc.), surpass the camera units of traditional computing devices, such as tablet computers, laptops, etc., and even some dedicated camera units, such as add-on webcams. Furthermore, some traditional computers, such as desktop computers, may not include a camera unit at all. Instead of relying on a dedicated camera unit, such as a webcam, to enhance the existing camera performance of traditional computing devices, a smartphone can be added to the traditional computing device as a virtual webcam service, allowing the smartphone (which many users already own for other purposes) to function as a webcam with improved camera performance and little to no additional cost. SUMMARY
[0002] In general, various aspects of these techniques aim to reconfigure a camera flash to serve not for image and / or video recording purposes, but for status notifications during video recording. Repurposing the flash of a smartphone's camera or other computing device to display status notifications allows the camera to better support virtual webcam services when connected to a host computing device that receives video content streamed from the smartphone.Instead of starting to record video with little or no status notification (especially when using a rear-mounted camera unit with a front-facing display that is potentially unavailable during recording), the smartphone can reconfigure its camera flash to pulse at a configurable frequency and brightness to notify a host computer user that the smartphone is actively recording video content that will be streamed or otherwise output to a computer, such as the host computer. Furthermore, the configurable brightness can be adjusted so that the flash brightness does not interfere with video recording (e.g.,The brightness can be configured to be sufficiently low so that the user is able to see the flash without it affecting the image quality of the recorded video content).
[0003] The various aspects of these techniques can therefore improve the operation of the computing device itself. For example, reconfiguring the flash to function as a status notification to alert the user of the smartphone and / or host computing device that the camera is actively recording video can improve data privacy, as the user may have unintentionally started recording, or a malicious user may be actively recording video via harmful (unauthorized) apps, malware, adware, ransomware, etc. Furthermore, reconfiguring the flash to pulse at a configurable brightness (e.g., low brightness) can reduce power consumption, heat generation, etc., associated with continuous flash use over extended periods (e.g., during a single session).half an hour, an hour or longer, given the increased use of web conferencing) are associated with a single high luminosity associated with taking pictures (especially when a scene being captured is not well lit in the typical use case of flash).
[0004] In one example, various aspects of the techniques are directed toward a procedure that includes: receiving a recording start instruction by a computing device comprising a camera unit containing a camera and a flash unit, indicating that the camera is to be used for actively recording video content; in response to receiving the recording start instruction, causing the computing device to reconfigure the camera unit to use the flash unit as a status indicator light during the recording of the video content, in order to alert a user of the computing device that the camera is actively recording video content; and outputting the video content by the computing device.
[0005] In another example, various aspects of the techniques are directed at a computing device comprising: a camera unit comprising: a camera configured to record video content of a scene; and a flash configured to illuminate the scene during video recording; a memory configured to store the video content; and a processing circuit configured to: receive a recording start instruction that the camera should be used to actively record video content; in response to receiving the recording start instruction, cause the camera unit to reconfigure the flash to function as a status indicator light during video recording to alert a user of the computing device that the camera is actively recording video content; and output the video content.
[0006] In another example, various aspects of the techniques are directed to a non-transitory, computer-readable storage medium containing instructions stored thereon which, when executed, cause the processing circuitry of a computing device to: receive a recording start instruction to use a camera of a camera unit to actively record video content, the camera unit also including a flash; in response to receiving the recording start instruction, cause the camera unit to reconfigure the flash to function as a status indicator light during the recording of the video content in order to alert a user of the computing device that the camera is actively recording video content; and output the video content by the computing device.
[0007] In another example, various aspects of the techniques are directed toward a device comprising: means for receiving a recording start instruction that a camera of a camera unit is to be used for actively recording video content; in response to receiving the recording start instruction, means for reconfiguring a flash of the camera unit to function as a status indicator light during the recording of the video content in order to alert a user of the computing device that the camera is actively recording video content; and means for outputting the video content.
[0008] The details of one or more examples are set out in the accompanying drawings and the description below. Further features, objectives, and advantages of the disclosure will become apparent from the description and drawings, as well as from the patent claims. BRIEF DESCRIPTION OF THE DRAWINGS Fig. Figure 1 is a block diagram illustrating an exemplary computing device configured to reconfigure a flash of the computing device to output status notifications during video recording, according to various aspects of the techniques described in this disclosure. Fig. Figure 2 is a diagram illustrating an exemplary operation of a smartphone that reconfigures a flash to function as a status notification during video streaming, according to various aspects of the techniques described in this disclosure. Fig. 3 is a flowchart that illustrates an exemplary operation of the process described in the example. Fig. Figure 1 of the computing device shown illustrates the reconfiguration of the flash to display status notifications during video recording, according to various aspects of the techniques described in this disclosure. DETAILED DESCRIPTION
[0009] Fig. Figure 1 is a block diagram illustrating an exemplary computing device configured to reconfigure a flash of the computing device to output status notifications during video recording, according to various aspects of the techniques described in this disclosure. In the example from Fig. Figure 1 shows a computing device 100, wherein examples of computing devices 100 may include, but are not limited to, portable or mobile devices such as mobile phones (including smartphones), wearable computers (which may include extended reality (XR) headsets such as virtual reality (VR) headsets, augmented reality (AR) headsets, mixed reality (MR) headsets, etc., smartwatches, activity trackers, smart glasses, etc.), laptop computers, desktop computers, tablet computers, smart television platforms, game controllers, gaming systems, servers, mainframes, etc.
[0010] As in the example from Fig. As shown in Figure 1, the computing device 100 can include one or more processors 102, a system memory 104, input devices 106, output devices 108, storage devices 110, and camera units 112, each of which can be interconnected via one or more communication channels 114. In some examples, the communication channels 114 can include a system bus, a network connection, a data structure for communication between processes, or any other channel for data communication. In other words, each of the components 102, 104, 106, 108, and 110 can be interconnected (physically, communicatively, and / or operationally) via communication channels 114 for communication between the components. Other examples of a computing device 100 can include a subset of the components or additional components shown in Figure 114. Fig. 1. Components not shown. In some examples, one or more processors 102, memory devices 110, communication channels 114, and other hardware components that are in Fig. 1. The components may not be shown, as they are configured as an isolated system-on-a-chip (SoC). That is, different components of the SoC may be physically separated from the other sections of the computing device 100 for added security.
[0011] One or more processors 102 can implement functionality and / or execute instructions associated with the computing device 100. Examples of processors 102 include application processors, display controllers, auxiliary processors, one or more sensor hubs, and any other hardware configured to function as a processor, processing unit, processing device, and / or processing circuit. The modules 122 and 124 can be operated by the processors 102 to perform various actions, operations, or functions of the computing device 100. For example, the processors 102 of the computing device 100 can retrieve and execute instructions stored by the memory devices 110, causing the processors 102 to perform the operations discussed herein with respect to the modules 122 and 124.When executed by the processors 102, the instructions can cause the computing device 100 to store information within the storage devices 110.
[0012] System memory 104 can be random access memory (RAM), dynamic RAM (DRAM), another form of DRAM such as synchronous DRAM (SDRAM), double data rate SDRAM (e.g., DDR1 SDRAM, DDR2 SDRAM, etc.), and similar types of computer memory. System memory 104 can be implemented as one or more external memory modules connected as a memory bank, which the processor 102 can access using a directly connected memory bus, or which other system components can access using communication channels 114. System memory 104 can be configured as a single inline memory module (SIMM), dual inline memory module (DIMM), Rambus inline memory module (RIMM), or in other connection configurations. The processor 102 can store information in system memory 104 for use in performing operations.For example, processor 102 can cause data to be moved from computing device 110 to system memory 104. In some examples, the information can be instructions that processor 102 uses to perform an operation. After performing an operation using the information retrieved from storage device 110 and stored in system memory 104, processor 102 can cause the data to be written from system memory 104 back to storage device 110. In some examples, processor 102 can perform subsequent operations using the information stored in system memory 104.
[0013] The computing device 100 can include input devices 106. In some examples, the input devices 106 can include motion sensors, one or more location sensors (e.g., a GPS sensor, an indoor positioning sensor, or similar), one or more light sensors, one or more temperature sensors, one or more pressure sensors (or handle sensors), one or more physical switches, one or more proximity sensors, and one or more biosensors that can measure properties of the skin / blood, such as oxygen saturation, pulse, alcohol, blood sugar, etc. The example from Fig. Figure 1 shows the input devices 106 as being located inside the computing device 100; however, in other examples, the input devices 106 may include components that are located outside the computing device 100. An example of this could be an external keyboard connected via a wired or wireless connection. Other examples could include a touch-sensitive screen, which could be part of output devices 108.
[0014] One or more output devices 108 of the computing device 100 can produce an output. Examples of outputs include tactile, audio, and video outputs. The output device 108 of the computing device 100 includes, in one example, a presence-sensitive display, a sound card, a video graphics adapter card, a loudspeaker, a liquid crystal display (LCD), or any other type of device for producing an output to a person or a machine.
[0015] One or more memory devices 110 within the computing device 100 can store information for processing during the operation of the computing device 100 (e.g., the computing device 100 can store data that modules 122 and 124 access during execution by the processors 102 of the computing device 100). In some examples, the memory devices 110 are temporary storage; that is, long-term storage is not the primary purpose of the memory devices 110. The memory devices 110 of the computing device 100 can be configured as volatile memory for short-term storage of information, and therefore, stored contents are not retained when the device is powered off. Examples of volatile memory include random-access memory (RAM), dynamic random-access memory (DRAM), static random-access memory (SRAM), and other well-known forms of volatile memory.
[0016] The storage devices 110 also include one or more computer-readable storage media in some examples. The storage devices 110 also include one or more non-transient computer-readable storage media in some examples. The storage devices 110 can be configured to store larger amounts of information than is typically stored by volatile memory (e.g., as represented by the system memory 104). The storage devices 110 can also be configured as non-volatile memory for long-term storage of information and retain information after power cycles. Examples of non-volatile memory include magnetic disks, optical media, flash memory, or forms of electrically programmable memory (EPROM) or electrically erasable and programmable memory (EEPROM). The storage devices 110 can store program instructions and / or information (e.g.,The storage devices 110 can include memory configured to store data or other information associated with modules 122 and 124.
[0017] As in the example of Fig. As shown in Figure 1, the module 122 (which can also be referred to as operating system 122) can contain a kernel 123. The kernel 123 can operate in a so-called kernel space, which is separate from an application space represented by the operating system 122 for the execution of apps 124. The kernel 123 can have more privileges than the application space and provides an interface to the application space through which it can interact with the underlying hardware of the computing device 100. The kernel 123 is therefore separate from the apps 124 in that it runs with elevated privileges and establishes a direct interface to the underlying hardware of the computing device 100, potentially on behalf of higher-level aspects of the operating system 122 and / or the apps 124.
[0018] The Apps 124 represent all the different individual applications and services that run on and are accessible from the Computing Device 100. A user of the Computing Device 100 can interact with a graphical user interface associated with one or more Apps 124 to cause the Computing Device 100 to perform a function. Application modules can include a word processing application, a spreadsheet or spreadsheet application, a fitness application, a calendar application, a personal assistant or prediction engine, a search application, a map or navigation application, a transportation service application (e.g., a bus or train tracking application), a social media application, a game application, an email application, a chat or messaging application, an internet browser application, or any and all other applications that can run on the Computing Device 100.
[0019] As in the example from Fig. As further shown in Figure 1, the computing device 100 can establish a communication session with a host computing device 150 via the input devices 106 and / or output devices 108 according to one or more communication protocols (where the computing device 100 can be referred to as the client computing device 100). The host computing device 150 can be any type of computing device, such as a mobile phone (including a so-called smartphone), a smartwatch, a head-mounted display (HMD, such as a virtual reality headset, a mixed reality headset, an augmented reality headset, etc.), a laptop computer, a desktop computer, a server, a workstation, etc.
[0020] The host computing device 150 can include one or more processors 152, a system memory 154, one or more input devices 156, one or more output devices 158, and one or more storage devices 160. The processors 152 can be similar to or identical with the processor 102. The system memory 154 can be similar to or identical with the system memory 104. The input / output devices 156 / 158 can be similar to or identical with the input / output devices 106 / 108. The storage devices 160 can be similar to or identical with the storage devices 110.
[0021] In the example from Fig. In this text, the client computing device 100 is assumed to be a smartphone (and can therefore be referred to as "Smartphone 100"), while the host computing device 150 is assumed to be a laptop computer (and can therefore be referred to as "Laptop Computer 150"). The Smartphone 100 may include a sophisticated camera unit 112 that, in terms of performance (such as image quality, image processing, latency, etc.), surpasses the camera units of conventional computing devices, such as tablet computers, laptop computers, etc., and even some specialized camera units, such as add-on webcams. Furthermore, some conventional computers, such as the Laptop Computer 150, may not include a camera unit.Instead of using a dedicated camera unit, such as a webcam, to enhance the existing camera performance of the Laptop Computer 150, the Smartphone 100 can be added to the Laptop Computer 150 as a virtual webcam service, allowing the Smartphone 100 (which many users already own for other purposes) to function as a webcam with improved camera performance and little to no additional cost.
[0022] While the camera unit 112 of the smartphone 100 enables video and / or image recording when used as a virtual webcam service, compared to a camera unit (not in Fig. While the camera unit 112 of the smartphone 100 (as shown in Figure 1) can improve the performance of the laptop computer 150, it may not include a status indicator light to signal when the camera unit 112 is actively recording video and streaming that video to the laptop computer 150. The camera unit 112 may not include a status indicator light because it is designed to use the flash 116 to illuminate a scene when ambient light is unavailable or of low quality (in terms of brightness). In this respect, the flash 116 is designed to produce a brief burst of high brightness for a period of milliseconds for the purpose of capturing an image (or, in other words, a photograph).
[0023] Recently, smartphones, such as the Smartphone 100, have been able to allow users to reconfigure the Flash 116 for use as a flashlight without recording images or videos. In both image capture and flashlight modes, the Camera Unit 112 can configure the Flash 116 to a single high brightness level (typically, only one brightness level is available for the Flash 116), intended for short bursts of operation (e.g., milliseconds or a few seconds for image capture) or slightly longer periods (e.g., a few minutes in flashlight mode). Using the Flash 116 at the single high brightness level for extended periods (e.g., several tens of minutes or even an hour or more) can lead to excessive heat generation, increased power consumption, and other issues.This can lead to problems that may affect other computing components, such as processors 102, system memory 104, etc., due to excessive heat, necessitating restrictions on the operation of processors 102, system memory 104, etc.
[0024] According to the techniques described in this disclosure, the computing device 100 can reconfigure the flash 116 of the camera unit 112 to serve not for image and / or video recording purposes, but for status notification purposes during video recording. By repurposing the flash 116 of the camera unit 112 to display status notifications, the camera unit 112 can be better equipped to support virtual webcam services when connected to the host computing device 150, which receives video content streamed from the smartphone 100.Instead of starting to record video content with little or no status notification (especially when using the camera unit 112, which is located on the back of the smartphone 100, while the display - represented by the output device 108, which is why it can be called the display 108 - is located on the front of the smartphone 100 and is therefore potentially not visible during video recording), the smartphone 100 can reconfigure the flash 116 of the camera unit 112 to pulse at a configurable frequency and brightness to notify a user of the host computing device 150 that the smartphone 100 is actively recording video content that is streamed or otherwise output to a computing device, such as the host computing device 150.The Smartphone 100 can reconfigure the flash 116 to provide a brightness sufficient to notify the user without affecting the recording of video content (e.g., by saturating the recorded scene and / or by otherwise introducing noticeable noise during video recording).
[0025] In operation, the camera 114 is configured to record video content of a scene (e.g., the “video 115” shown, which is stored in system memory 104), while the flash 116 is initially configured to illuminate the scene before recording the video content. The processors 102 can run the operating system 122, which represents one or more interface drivers 132 and a camera and / or flash (“camera / flash”) application programming interface (API) 134. The interface drivers 132 enable the kernel 123 to establish an interface to the underlying communication sessions to support a virtual webcam service 153 (“VWS 153,” shown as stored on storage device 160), which is run by the processor 152 of the host computing device 150.The interface driver 132 can represent a driver for a Universal System Bus (USB) protocol, a driver for a wireless network protocol (e.g., an Institute of Electrical and Electronics Engineers - IEEE - 802.1X protocol), or any other type of wired or wireless communication protocol used to establish wired or wireless communication sessions.
[0026] The Camera / Flash API 134 can provide an interface through which the operating system 122 (“OS 122”) and / or application modules 124 (“Apps 124”) can be called to control, configure, or reconfigure the camera 114 and / or the flash 116. The Camera / Flash API 134 can allow the OS 122 and / or the Apps 124 to configure the camera 114 for recording video 115 (including exposure, white balance, filters, preprocessing, postprocessing, etc.) and / or the flash 116 during video 115 recording (including brightness level, duration, pulse rate, color value, etc.). Brightness refers to the luminance of the light emitted by the flash 116, while color value refers to the color of the light emitted by the flash 116.
[0027] First, a user can interact with the smartphone 100 via the input / output devices 106 / 108 to establish a communication session between the smartphone 100 and the laptop computer 150. The user can interface to a graphical user interface (GUI) presented by the OS 122 and / or one or more apps 124 to establish the communication session between the smartphone 100 and the laptop computer 150. For the purpose of illustration, assuming that one of the apps 124 (e.g., app 124A) has presented the GUI, app 124A, in response to receiving input from the user via the GUI, can call the interface driver 132 by executing a function of the interface driver 132 to initiate the communication session between the smartphone 100 and the laptop computer 150.
[0028] After establishing the communication session (which can be done via a wired USB connection or a wireless communication session), the app 124A can receive a recording start instruction (e.g., via the GUI, which can also be referred to as an "action start instruction" or a "streaming start instruction") indicating that the camera 114 is to be used for actively recording video 115. Recording video 115 can refer to the temporary recording for the purpose of streaming, forwarding, redirecting, recording, or other forms of recording video 115.In response to receiving the recording start instruction that camera 114 is to be used for the active recording of video 115, the app 124A can call the camera / flash API 134 to establish an interface with the camera unit 112 (or otherwise cause it to do so) in order to reconfigure the flash 116 to function as a status indicator light during the recording of video 115, to alert a user of the smartphone 100 that camera 114 is actively recording video 115 (and also potentially limit the brightness of the flash 116 to avoid introducing noise or otherwise degrading the recording of video 115). The app 124A can establish an interface to the camera unit 112 via the camera / flash API 134 (or otherwise cause it to reconfigure the flash 116 to pulse with a configurable frequency and a configurable luminance (e.g.such as a lowest luminance or lowest visible luminance for which the flash 116 is configurable, which may vary depending on the setting - where, for example, in outdoor settings with stronger ambient lighting, a higher luminance may be required for visibility).
[0029] In this context, the camera / flash API 134 can reconfigure the flash 116 to be barely visible (depending on the ambient light) in order to avoid oversaturating the recording of streamed video 115. "Barely visible" can refer to a threshold or minimum luminance at which a typical human visual system is able to detect visible light, determined relative to a given ambient lighting condition.
[0030] In this example, app 124A can output video 115 to host computing device 150. App 124A may not be able to save video 115 to storage device 110 for later retrieval or viewing, but instead "stream" video 115 to VWS 153. In this example, app 124A can... Fig. 1. A web conferencing application, a video conferencing application, or another so-called "streaming application" capable of streaming video 115 to a laptop computer 150. Streaming can refer to the local recording and wired or wireless transmission of such video 115 to a host computing device, such as a laptop computer 150.
[0031] Later, after video 115 has started streaming, app 124A can receive an action stop signal (also called a "recording stop signal" or "streaming stop signal") indicating that camera 114 will stop recording video 115. In response to the recording stop signal, app 124A can interface with camera unit 112 to reconfigure flash 116 to illuminate a scene during subsequent video recording. In other words, app 124A can use the camera / flash API 134 to prevent flash 116 from functioning as a status indicator (e.g., pulsing at a configurable frequency and brightness).The app 124A can establish an interface to the camera 114 via the camera / flash API 134 (or otherwise cause it to refrain from outputting video 115), while also disabling or terminating the communication session between the smartphone 100 and the laptop computer 150 via interface driver 132.
[0032] In this way, various aspects of the techniques can improve the operation of the computing device itself. For example, reconfiguring the flash 116 as a status notification to alert the user of the smartphone 100 and / or laptop computer 150 that the camera is actively recording video 115 can improve data privacy, as the user may have unintentionally started video recording, or a malicious user may be actively recording video content via harmful (unauthorized) apps, malware, adware, ransomware, etc. Furthermore, reconfiguring the flash 116 to pulse with a configurable brightness (e.g., a low brightness) can reduce power consumption, heat generation, etc., associated with continuous use of the flash 116 over extended periods (e.g.,half an hour, an hour, or longer (given the increased use of web conferencing) are associated with a single high luminance associated with capturing images (especially when a scene being captured is not well lit in the typical use case of the flash). Furthermore, the configurable luminance can be configured so that the flash luminance does not interfere with the recording of video content (e.g., the luminance can be configured low enough to allow the user to see the flash without it affecting the recording of video content).
[0033] Fig. Figure 2 is a diagram illustrating an example operation of a smartphone that reconfigures a flash to function as a status notification during video streaming, according to various aspects of the techniques described in this disclosure. As in the example from Fig. As shown in Figure 2, a smartphone 200 is attached to a laptop computer 250 via a holder 240. The smartphone 200 can be an example of the one shown in the example from Fig. The computing device shown represents 100, while the laptop computer 250 is an example of the one also shown in the example from Fig. 1 shown host computing device 150 can represent.
[0034] The holder 240 can be a mechanical device configured to be attached to the top of the laptop computer 250 and to physically hold the smartphone 200 by means of magnets, adhesives, suction, and / or mechanical force. Although described in relation to a holder 240 positioned on the top of the laptop computer 250 (i.e., above a screen on the upper half of the foldable laptop computer 250 in the example from Fig. 2) Various other mounts, stands, tripods, etc. can be used to facilitate the use of the smartphone 200 as a wired and / or wireless webcam for the laptop computer 250 in different positions and / or locations.
[0035] In the example from Fig. Figure 2 shows the smartphone 200 with a rear enclosure 203 facing a potential user of the laptop computer 250, while a front enclosure 201 is shown facing away from the potential user of the laptop 250 (the front enclosure 201 has a dashed arrow to indicate that the front enclosure 201 is not currently visible). The front enclosure 201 can largely enclose a display (now shown), a camera (not shown; which may also be called a "selfie camera"), a flash, other sensors (e.g., proximity sensors, ambient light sensors, etc.), possibly speakers, etc. The rear enclosure 203 can largely form the back of the smartphone 200, but houses the camera unit, in which the camera 214 and the flash 216 are exposed for capturing image and / or video content. This means that the camera 214 and the flash 216 can be integrated into the rear housing 203 of the smartphone 200.
[0036] As noted above, a user can first interact with the smartphone 200 to establish a communication session between the smartphone 200 and the laptop computer 250. The user can interface to a graphical user interface (GUI) to establish the communication session between the smartphone 200 and the laptop computer 250. After the communication session is established (which can again be done via a wired USB connection or a wireless communication session), an app (e.g., the one in the example from Fig. App 124A (shown) receives a recording start instruction (e.g., via the GUI) indicating that camera 214 is to be used for active video recording, such as video 115. In response to receiving this instruction, app 124A can call the camera / flash API 134 to interface with camera unit 112 (or otherwise induce it to do so) to reconfigure flash 216 to function as a status indicator light during video 115 recording (potentially with an intensity that does not degrade video 115 recording), thus alerting a user of smartphone 200 that camera 214 is actively recording video 115.
[0037] The app 124A can establish an interface with the camera unit 112 via the camera / flash API 134 (or otherwise cause it to reconfigure the flash 216 to pulse at a configurable frequency and luminance (e.g., with a lowest luminance or lowest visible luminance for which the flash 116 is configurable, which can vary depending on the setting—for example, a higher luminance may be required for visibility in outdoor settings with stronger ambient lighting). Furthermore, the camera unit 112 can reconfigure the flash 216 with the configurable luminance in such a way that the luminance does not oversaturate the video 115. In the example from Fig. 2 The flash 216 is surrounded by dashed lines to indicate that the flash 216 pulses at a fixed frequency and low luminance (e.g., a luminance that remains visible to the user without affecting the recording of video 115).
[0038] Furthermore, App 124A can interface with OS 122 to disable the display integrated into the front housing 201 of the smartphone 200. Although OS 122 is described as representing an interface (e.g., an application programming interface - API) with which App 124A can interact to control the flash, OS 122 may be programmed to control the flash and / or camera unit in response to the start and / or stop recording commands provided by App 124A, whereby OS 122 may not allow App 124A to directly interface with the flash and / or camera.
[0039] The display integrated into the front housing 201 (also not in Fig. The display (shown in Figure 2, since the front casing 201 is facing away from a potential user of the laptop computer 250) can normally be configured to display a preview of the video content (e.g., when recording video 115 for local storage rather than streaming). However, since displays can consume significant power (compared to other components of the smartphone 200), the app 124A can determine that the rear camera 214 is in use while video 115 is being streamed to the laptop computer 250. In response to the determination that the rear camera 214 is in use and the recording start indication, the app 124 can interface with the OS 122 to disable the display of the video 115 preview by the display integrated into the front casing 201 of the smartphone 200.In this respect, disabling the display of the preview of Video 115 while streaming Video 115 to the laptop computer 250 can reduce power consumption and thus allow the smartphone 200 to be used for longer video streaming sessions, as well as generally extending battery life to avoid frequent charging, etc.
[0040] In any case, App 124A can output Video 115 to, in this example, the laptop computer 250. App 124A may not be able to save Video 115 to storage device 110 for later retrieval or viewing, but instead "stream" Video 115 to VWS 153.
[0041] Later, after video 115 has started streaming, app 124A can receive a recording stop signal indicating that camera 114 will stop recording video 115. In response to this signal, app 124A can interface with camera unit 112 to reconfigure flash 116 to illuminate a scene during subsequent video recording. In other words, app 124A can use the camera / flash API 134 to prevent flash 116 from functioning as a status indicator (e.g., pulsing at a configurable frequency and intensity).The app 124A can establish an interface to the camera 114 via the camera / flash API 134 (or otherwise cause it to refrain from outputting video 115), while also disabling or terminating the communication session between the smartphone 200 and the laptop computer 250 via interface driver 132.
[0042] Fig. 3 is a flowchart that illustrates an exemplary operation of the process described in the example. Fig.Figure 1 illustrates the reconfiguration of the flash to display status notifications during video recording, according to various aspects of the techniques described in this disclosure. First, a user can interact with the computing device 100 via the input / output devices 106 / 108 to establish a communication session between the computing device 100 and the host computing device 150 (which may also be referred to as the "host device 150"). The user can interface to a graphical user interface (GUI) presented by the OS 122 and / or one or more apps 124 to establish the communication session between the computing device 100 and the host computing device 150. For the purpose of illustration, let us assume that one of the apps 124 (e.g.,App 124A) has displayed the GUI, in response to receiving input from the user via the GUI, App 124A can call the interface driver 132 by retrieving a function of the interface driver 132 to initiate the communication session between the computing device 100 and the host computing device 150.
[0043] After establishing the communication session (which can be done via a wired USB connection or a wireless communication session), the app 124A can receive a recording start instruction (e.g., via the GUI) that the camera 114 is to be used for actively recording video 115 (300). In response to receiving the recording start instruction that the camera 114 is to be used for actively recording video 115, the app 124A can call the camera / flash API 134 to interface with the camera unit 112 (or otherwise cause it to do so) in order to reconfigure the flash 116 to function as a status indicator light during the recording of video 115, thus alerting a user of the smartphone 100 that the camera 114 is actively recording video 115 (302). The camera unit 112 can reconfigure the flash 116 with a brightness that is sufficiently bright (e.g.(given the external lighting conditions), to notify the user that camera 114 is recording and / or streaming video 115, but not so bright as to impair the recording of video 115 (e.g. by introducing noise or otherwise oversaturating the recording of video 115).
[0044] In this example, app 124A can output video 115 to host computing device 150 (304). Later, after video 115 has started streaming, app 124A can receive a recording stop signal indicating that camera 114 will stop recording video 115 (306). In response to the recording stop signal, app 124A can interface with camera unit 112 to reconfigure flash 116 to illuminate a scene during subsequent video recording (308). In other words, app 124A can use the camera / flash API 134 to prevent flash 116 from acting as a status indicator (e.g., pulsing at a configurable frequency and brightness).The app 124A can establish an interface to the camera 114 via the camera / flash API 134 (or otherwise cause it to stop outputting video 115 (310), while also disabling or terminating the communication session between the smartphone 100 and the laptop computer 150 via interface driver 132.
[0045] Different aspects of the techniques can provide different examples, which are described below in relation to the following sentences. Sentence 1. A method comprising: receiving a recording start instruction by a computing device comprising a camera unit incorporating a camera and a flash unit, indicating that the camera is to be used for the active recording of video content; in response to receiving the recording start instruction, causing the camera unit by the computing device to reconfigure the flash unit to function as a status indicator light during the recording of the video content in order to alert a user of the computing device that the camera is actively recording video content; and outputting the video content by the computing device. Sentence 2. The method according to Sentence 1, wherein causing the camera unit to reconfigure the flash comprises causing the camera unit to reconfigure the flash to pulse with a configurable frequency and a configurable luminance. Sentence 3. The method according to Sentence 2, wherein the configurable luminance includes a lowest luminance for which the flash is configurable. Sentence 4. The method according to Sentence 1, wherein causing the camera unit to reconfigure the flash comprises causing the camera unit to reconfigure the flash to emit light with a configurable color value. Sentence 5. The procedure according to Sentence 1, further comprising establishing a communication session with a host device, and wherein the output of the video content comprises outputting the video content to the host device. Sentence 6. The procedure according to sentence 5, wherein the communication session comprises one or more wired communication sessions and a wired communication session. Sentence 7. The procedure according to Sentence 6, wherein the wired communication session is established according to a Universal System Bus (USB) protocol. Sentence 8. The procedure according to sentence 1, further comprising: receiving a recording stop instruction that the camera will cease recording the video content; in response to receiving the recording stop instruction, causing the camera unit to reconfigure the flash to illuminate a scene during the subsequent recording of the video content; and refraining from outputting the video content. Sentence 9. The method according to a combination of sentences 1-8, further comprising obtaining an ambient light level, wherein causing the camera unit to reconfigure the flash includes causing the camera unit to reconfigure the flash on the basis of the ambient light level with a configurable luminance that is barely visible. Sentence 10. The method according to a combination of sentences 1-9, further comprising obtaining an ambient light level, wherein causing the camera unit to reconfigure the flash includes causing the camera unit to reconfigure the flash on the basis of the ambient light level with a configurable luminance that is barely visible without oversaturating the video content. Sentence 11. A computing device comprising: a camera unit comprising: a camera configured to record video content of a scene; and a flash configured to illuminate the scene during the recording of the video content; a memory configured to store the video content; and a processing circuit configured to: receive a recording start instruction that the camera is to be used for actively recording the video content; in response to receiving the recording start instruction, cause the camera unit to reconfigure the flash to function as a status indicator light during the recording of the video content in order to alert a user of the computing device that the camera is actively recording video content; and output the video content. Sentence 12. The computing device according to Sentence 11, wherein the processing circuit is configured to cause the camera unit to reconfigure the flash to pulse at a configurable frequency and a configurable luminance. Sentence 13. The computing device according to Sentence 12, wherein the configurable luminance includes a lowest luminance for which the flash is configurable. Sentence 14. The computing device according to Sentence 11, wherein the processing circuit is configured to cause the camera unit to reconfigure the flash to emit light with a configurable color value. Sentence 15. The computing device according to Sentence 11, wherein the processing circuit is further configured to establish a communication session with a host device, and wherein, in order to output the video content, the processing circuit is configured to output the video content to the host device. Sentence 16. The computing device according to Sentence 15, wherein the communication session comprises one or more wired communication sessions and a wired communication session. Sentence 17. The computing device according to Sentence 16, wherein the wired communication session is established according to a Universal System Bus (USB) protocol. Sentence 18. The computing device according to Sentence 11, wherein the processing circuit is further configured to: receive a recording stop instruction that the camera will cease recording the video content; in response to receiving the recording stop instruction, cause the camera unit to reconfigure the flash to illuminate a scene during the subsequent recording of the video content; and refrain from outputting the video content. Sentence 19. The computing device according to a combination of Sentences 11-18, further comprising an ambient light sensor configured to obtain an ambient light level, wherein the processing circuit is configured to cause the camera unit to reconfigure the flash on the basis of the ambient light level with a configurable luminance that is barely visible without oversaturating the video content. Sentence 20. A non-transitory, computer-readable storage medium containing instructions stored thereon which, when executed, cause the processing circuitry of a computing device to: receive a recording start instruction to use a camera of a camera unit for the active recording of video content, the camera unit also including a flash; in response to receiving the recording start instruction, cause the camera unit to reconfigure the flash to function as a status indicator light during the recording of the video content in order to alert a user of the computing device that the camera is actively recording video content; and output the video content by the computing device. Sentence 21. The non-transitory computer-readable medium according to Sentence 20, wherein the instructions, upon execution, cause the camera unit to reconfigure the flash to pulse with a configurable frequency and a configurable luminance. Sentence 22. The non-transitory computer-readable medium according to Sentence 21, wherein the configurable luminance includes a lowest luminance for which the flash is configurable. Sentence 23. The non-transitory computer-readable medium according to Sentence 20, wherein the instructions, upon execution, cause the processing circuit to cause the camera unit to reconfigure the flash to emit light with a configurable color value.
[0046] In one or more examples, the described functions may be implemented in hardware, software, firmware, or any combination thereof. If implemented in software, the functions may be stored as one or more instructions or code on or transmitted via a computer-readable medium and executed by a hardware-based processing unit. Computer-readable media may include computer-readable storage media corresponding to a tangible medium such as data storage media, or communication media, which include any medium that facilitates the transmission of a computer program from one location to another, for example, according to a communication protocol. In this way, computer-readable media may generally correspond to (1) tangible, non-transitory computer-readable storage media, or (2) a communication medium such as a signal or carrier wave.Data storage media can be any available media that one or more computers or one or more processors can access to retrieve instructions, code, and / or data structures for implementing the techniques described in this disclosure. A computer program product can include a computer-readable medium.
[0047] By way of example, and without limitation, such computer-readable storage media may include RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, flash memory, or any other medium that can be used to store desired program code in the form of instructions or data structures and that can be accessed by a computer. Furthermore, any such connection is properly referred to as a computer-readable medium.For example, if instructions are transmitted from a website, server, or other remote source using coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL), or wireless technologies such as infrared, radio, and microwave, then the coaxial cable, fiber optic cable, twisted pair, DSL, or wireless technologies such as infrared, radio, and microwave are included in the definition of medium. However, it should be understood that computer-readable storage media and data storage media do not include connections, carrier waves, signals, or other transient media, but instead refer to non-transient, tangible storage media.Disk and disc, as used herein, include Compact Disc (CD), Laserdisc, optical disc, Digital Versatile Disc (DVD), floppy disk, and Blu-ray Disc, whereby disks normally reproduce data magnetically, while discs reproduce data optically using lasers. Combinations of the above are also said to be included in the scope of computer-readable media.
[0048] Instructions can be executed by one or more processors, such as one or more digital signal processors (DSPs), general-purpose microprocessors, application-specific integrated circuits (ASICs), field-programmable logic arrays (FPGAs), or other equivalent integrated or discrete logic circuits. Accordingly, the term "processor," as used herein, may refer to any of the aforementioned structures or any other structure suitable for implementing the techniques described herein. Furthermore, in some aspects, the functionality described herein may be provided within dedicated hardware and / or software modules. Additionally, the techniques could be implemented entirely in one or more circuits or logic elements.
[0049] The techniques of this disclosure can be implemented in a variety of devices or apparatuses, including a wireless handheld device, an integrated circuit (IC), or a set of ICs (e.g., a chipset). Various components, modules, or units are described in this disclosure to highlight functional aspects of devices configured to perform the disclosed techniques, but do not necessarily require implementation by different hardware units. Rather, as described above, different units can be combined in a single hardware unit or provided by a collection of interoperable hardware units, including one or more processors, as described above, in conjunction with suitable software and / or firmware.
[0050] Various aspects of disclosure have been described. These and other aspects are within the scope of protection of the following patent claims.
Claims
Method comprising: Receiving a recording start instruction by a computing device comprising a camera unit including a camera and a flash unit, indicating that the camera is to be used for actively recording video content; in response to receiving the recording start instruction, causing the camera unit by the computing device to reconfigure the flash unit to function as a status indicator light during the recording of the video content in order to alert a user of the computing device that the camera is actively recording video content; and outputting the video content by the computing device. Method according to claim 1, wherein causing the camera unit to reconfigure the flash comprises causing the camera unit to reconfigure the flash to pulse with a configurable frequency and a configurable luminance. Method according to claim 2, wherein the configurable luminance comprises a lowest luminance for which the flash is configurable. Method according to a combination of claims 1-3, wherein causing the camera unit to reconfigure the flash comprises causing the camera unit to reconfigure the flash to emit light with a configurable color value. Method according to a combination of claims 1-4, further comprising establishing a communication session with a host device, and wherein outputting the video content comprises outputting the video content to the host device. Method according to claim 5, wherein the communication session comprises one or more wired communication sessions and a wired communication session. Method according to claim 6, wherein the wired communication session is established according to a Universal System Bus (USB) protocol. A method according to a combination of claims 1-7, further comprising: receiving a recording stop signal indicating that the camera will stop recording the video content; in response to receiving the recording stop signal, causing the camera unit to reconfigure the flash to illuminate a scene during the subsequent recording of the video content; and refraining from outputting the video content. Method according to any combination of claims 1-8, further comprising obtaining an ambient light level, wherein causing the camera unit to reconfigure the flash comprises causing the camera unit to reconfigure the flash based on the ambient light level with a configurable luminance that is barely visible. Method according to any combination of claims 1-9, further comprising obtaining an ambient light level, wherein causing the camera unit to reconfigure the flash comprises causing the camera unit to reconfigure the flash based on the ambient light level with a configurable luminance that is barely visible without oversaturating the video content. Computing device comprising: a camera unit comprising: a camera configured to record video content of a scene; and a flash configured to illuminate the scene during the recording of the video content; a memory configured to store the video content; and a processing circuit configured to: receive a recording start instruction that the camera is to be used for actively recording the video content; in response to receiving the recording start instruction, cause the camera unit to reconfigure the flash to function as a status indicator light during the recording of the video content in order to alert a user of the computing device that the camera is actively recording video content; and output the video content. Computing device according to claim 11, wherein the processing circuit is configured to cause the camera unit to reconfigure the flash to pulse at a configurable frequency and a configurable luminance. Computing device according to claim 12, wherein the configurable luminance comprises a lowest luminance for which the flash is configurable. Computing device according to a combination of claims 11-13, wherein the processing circuit is configured to cause the camera unit to reconfigure the flash to emit light with a configurable color value. Computing device according to a combination of claims 11-14, wherein the processing circuit is further configured to establish a communication session with a host device, and wherein, in order to output the video content, the processing circuit is configured to output the video content to the host device. Computing device according to claim 15, wherein the communication session comprises one or more wired communication sessions and a wired communication session. Computing device according to claim 16, wherein the wired communication session is established according to a Universal System Bus (USB) protocol. Computing device according to a combination of claims 11-17, wherein the processing circuit is further configured to: receive a recording stop signal indicating that the camera will stop recording the video content; in response to receiving the recording stop signal, cause the camera unit to reconfigure the flash to illuminate a scene during the subsequent recording of the video content; and refrain from outputting the video content. Computing device according to a combination of claims 11-18, further comprising an ambient light sensor configured to obtain an ambient light level, wherein the processing circuit is configured to cause the camera unit to reconfigure the flash based on the ambient light level with a configurable luminance that is barely visible without oversaturating the video content. A non-transitory, computer-readable storage medium containing instructions stored thereon which, when executed, cause the processing circuitry of a computing device to: receive a recording start instruction to use a camera of a camera unit for actively recording video content, the camera unit also including a flash; in response to receiving the recording start instruction, cause the camera unit to reconfigure the flash to function as a status indicator light during the recording of the video content in order to alert a user of the computing device that the camera is actively recording video content; and output the video content by the computing device.
