English:
[0002] The present disclosure generally relates to the fields of LED video displays and moving image capture. In particular, the present disclosure is directed to an off-axis color correction in dynamic image capture of video wall displays.
[0003] Video walls comprised of an array of LED display tiles and displaying dynamic images are with increasing frequency used as backgrounds for movie sets and broadcast video scenes. As one example, on movie sets, instead of the actors performing in front of a green screen with the background later added by CGI techniques, the actors perform in front of a video wall dynamically displaying the desired background scene, which is then captured along with the actors by the camera. In another example, for broadcast video, in a news broadcast the presenter is positioned in front of a video wall and the video camera captures both the presenter and images displayed on the video wall behind the presenter. Using this technique, the camera capturing the scene is capturing not only the live action or performance in front of the video wall, but also images concurrently displayed on the video wall behind the live action. The display on the video wall is thus an active and changing part of the scene being captured by the camera. Because the video camera is actually capturing a scene displayed on a video display wall, there are a number of challenges to be overcome so that the image captured by the video camera does not appear with artifacts or other distortions that would adversely impact the quality of the captured image.
[0004] One problem to be overcome is color distortions or variations that occur when the camera captures an image produced by an array of LED pixels at varying viewing angles. LED tiles have different color performance when viewed off-axis from perpendicular. This is due to the diode arrangement, in addition to physicalities of the pixel construction. Some pixels have RGB sub-pixel color components arranged in a vertical line, while others can be arranged in a triangle. The internal arrangement of the sub-pixel color components varies from manufacturer to manufacturer due to electronic or manufacturing constraints, particularly as parts are increasingly miniaturized. In addition to the non-uniformity of a single pixel, when a plurality of LEDs are placed on a circuit board to make up a display panel, it is possible for the physical structure of neighboring pixels to occlude each other and block certain portions of the pixel from being fully visible. All of these variations lead to a different appearance at different view angles. Depending on the view angle, the variations may be minor to dramatic. FIGS. 6A-B and 7A-B illustrate a simple example of these variations. (Note that FIGS. 6A and 6B, as well as FIGS. 7A and 7B, represent the same data and information with the only difference between the A and B figures being that A is shown in black and white and B is shown in full color. These two otherwise identical sets are presented only to guard against possible loss of quality or content as a result of electronic filing or storage by patent office systems).
[0005] As seen in FIGS. 6A-B and 7A-B, the lack of uniformity of a display viewed from different angles can be quite unattractive for critical content, such as flat white fields, or corporate logos that must remain the “same” color or shade no matter the viewing angle. The amount of variation from the standard or desired color - in this case a blank screen presenting the standard illuminant D65 - can vary based on the amount of variation from the perpendicular view angle (Position 2). Note that FIGS. 6 A and B present a simplified depiction in that the only variation shown between Positions 1, 2 and 3 is along the horizontal axis. The same type of color variation occurs in the same manner when the view angle deviates in the vertical direction above or below the display centerline. The details shown for Positions 1, 2 and 3 also represent the view over a fixed field of view at each position.
[0006] FIGS. 7A and 7B are enlargements of the smaller view angle details for Positions 1, 2 and 3 shown in FIGS. 6 A and 6B. When viewed at Position 1, corresponding to a horizontal view angle of minus seventy degrees and a vertical view angle of zero degrees, the area of the screen within the field of view is noticeably pink at the left side, transitioning to blue in the center and back to a light pink. When viewed at Position 3, corresponding to a horizontal view angle of plus forty degrees and a vertical view angle of zero degrees, the area of the screen within the field of view is again noticeably pink shaded at the left side but transitions to a close to white shade in the center and then pinkish again towards the left side. The appearance at Position 3 shows less variation than the appearance at Position 1 because the view angle is less deviated from zero degrees. Position 2 shows the D65 illuminant as it appears when viewed directly on at a zero degree view angle. The images presented in FIGS. 6A-B and 7A-B are based on a simple display of uniform D65 illuminant. In practice, when the display wall presents an image with complex color variations and movement, the distortions in color can be very dramatic at certain view angles dependent on the physical configuration of the LED tiles and video wall. This is particularly true at the intersections of facetted displays such as three-dimensional LED volumes as illustrated in FIG. 9.
[0007] LED pixel manufacturers typically provide characterization data to describe color variation over angle for individual pixels. Diagrams/graphs of these measurements can be in the form of white point uniformity or red/green/blue uniformity. FIG. 8 presents an example of one such characterization diagram. Such measurements are usually provided by component manufacturers to give integrators the specifications of these components. However, it is not common for a display or LED tile manufacturer to provide such data for a fully-assembled display panel. Further, there is no industry standard for taking such measurements at an integrated product level. This may be due to the fact that the display manufacturers and the component makers are typically not the same entities, and therefore the display manufacturer has no control (and thus no incentive) over improving these characteristics. There is thus a need for an understanding of how color varies over viewing angle in specific video wall configurations and a means for compensating for that variation in order to provide improved image quality in image capture scenarios as described above.
[0008] There thus remains a need in the art for a technical solution providing improved image capture without requiring extensive post-processing color and artifact correction.
[0009] In one embodiment, a system for off-axis color correction in dynamic image capture of video displays, may comprise a database and a correction engine and may alternatively further comprises a camera field of view resolver. The database contains at least off-axis color uniformity characteristics for a video display at a plurality of viewing angles. The correction engine is configured to receive off-axis color uniformity characteristics from the database and to apply a color uniformity correction layer to a video stream to be presented on the video display. The color uniformity correction layer is based on the received off-axis color uniformity characteristics for a current image capture angle and field of view, whereby color distortions in the captured images due to off-axis image capture are reduced or eliminated. The current image capture angle and field of view may be determined by the FOV resolver, which his configured to determine the current angle and field of view of the image capture device with respect to a video display based on inputs from a camera tracking system.
[0010] In another embodiment a system for off-axis color correction in dynamic image capture of video displays comprises a database containing off-axis color uniformity characteristics for a video display at a plurality of viewing angles, an FOV resolver configured to determine the current angle and field of view of the image capture device with respect to a video display based on inputs from a camera tracking system, a correction engine, and an application programing interface controlling communication between at least the database and correction engine. The correction engine is configured to receive off-axis color uniformity characteristics from the database, and to apply a color uniformity correction layer to a video stream to be presented on the video display. The color uniformity correction layer may be based on the received off-axis color uniformity characteristics for the current image capture angle and field of view. The correction engine may be further configured to generate the color uniformity correction layer based on a color correction function and the received off-axis color uniformity characteristics. In this manner distortions in the captured images due to off-axis image capture are reduced or eliminated.
[0011] In yet another alternative embodiment, a method for off-axis color correction in dynamic image capture of video displays comprises steps of retrieving off-axis color uniformity characteristics for a video display at a plurality of viewing angles, determining a current viewing angle and field of view for an image capture device relative to the video display, accessing the off- axis color uniformity characteristics corresponding to the determined viewing angle and field of view, and generating a color uniformity correction layer for a video stream to be presented on the display within the determined field of view based at least on the retrieved off-axis color uniformity characteristics and the determined viewing angle and field of view. The color uniformity correction layer thus generated optionally may be communicated to a process controller associated with displaying the video on the video display. Disclosed methods also may further comprise producing a color corrected video stream corresponding to the current viewing angle and field of view by applying the color correction layer to the video stream at the process controller.
[0012] In various alternatives, the process controller applying the color uniformity correction layer may comprise any one or more of at least one rendering engine of a video display system, individual tile controllers for a plurality of tiles forming a video display, one or more video processors, or a cloud or network-based processing system. Locating the processing of the color correction engine in a cloud-based processing system may be desirable when cloud-based/stored video content is used as the video source.
[0013] For the purpose of illustrating the disclosure, the drawings show aspects of one or more embodiments of the disclosure. However, it should be understood that the present disclosure is not limited to the precise arrangements and instrumentalities shown in the drawings, wherein:
[0014] Examples of systems and methods for off-axis color correction in dynamic image capture of video wall displays addressing short comings of the prior art are illustrated in FIGS. 1-5, and further described hereinbelow. At a general level, such methods involve measuring color performance of specific LED tiles or video walls and providing a database to store the characteristics of these off-axis measurements for use in color correction. The database is accessible by the video wall image rendering device so that when combined with real-time information on camera view angle and field of view relative to the display, a color correction function can be incorporated into the rendering of the display portion within the field of view of the camera so as to reduce or eliminate off-axis color variations/distortions in the captured image. In this manner, the metadata for display tile performance can be read back so that real-time changes can be made computationally to content so that from a current camera angle the display looks uniform. The color correction function may be directly incorporated into the software of a specific render engine, or may be provided via an API to facilitate communication with and implementation by a variety of different manufacturers’ video wall controllers or render engines. In a further alternative, the color correction may be instead incorporated into the video capture rather than in the displayed image.
[0015] As shown in the example of FIG. 1, camera 12 is capturing a scene including a background display 14 with a presenter (P) in front of the display. Display 14 may be any commercially available or custom LED video wall display. The position and field of view of camera 12 relative to display 14 can change in both the horizontal and vertical directions. For the sake of conciseness, the only variation in the horizontal direction is shown in FIG. 1 and discussed in detail herein. Corrections based on changes in vertical view angle may be made in exactly the same manner as horizontal view angle corrections, and vertical and horizontal corrections may be combined by persons of ordinary skill based on the teachings provided herein. Another parameter taken into account is the field of view of camera 12, which may change based on zoom or physical position of the camera relative to the display. As shown in FIG. 1, angle A represents the changing view angle of camera 12 relative to the centerline of display 14 and angle B represents the changing field of view of camera 12.
[0016] Image control and rendering system 16 communicates with display 14 via wired or wireless communications link 18 (Com Link 1). Ethernet communication is a common communication mode for Com Link 1, however, any communication protocol suited to the video quality demands of the display may be used. Control system 16 also communicates via a wired or wireless communications link 20 (Com Link 2) with camera 12 itself, or other positioning system peripheral to the camera (not shown), to receive real-time information on the changing view angle A and changing field of view angle B. It is to be noted that the systems and methods described herein utilize as an input the camera field of view area on the surface of the display in order to determine which pixels require a color correction. Determination of field of view area requires inputs of at least physical camera position, orientation and field of view angle setting in the camera. Unless otherwise specified herein, “field of view” refers to the field of view area at the surface of the display as the term is frequently used in the LED/video display art.
[0017] Horizontal color uniformity characteristics 14’, shown in FIGS. 1 and 1A, are a form of color metadata and represents the relative amount of light emitted for each primary color at varying angles of view across the face of the display. Where displays are typically calibrated such that fronton (0 degrees) the display appears uniform at a desired white point (e.g., standard illuminant D65). Note that only the horizontal characteristics for the zero degree elevation is shown here. Color uniformity characteristics 14’ representing color variation over view angle, is plotted in the figures of the present disclosure as relative color gain level vs. horizontal view angle (see. e.g., FIG. 1 A). Other representations of the same color variation information may be employed by persons of ordinary skill, such as, but not limited to, color temperature value vs. view angle, Lxy chromaticity vs. view angle, or XYZ chromaticity vs view angle.
[0018] Embodiments disclosed herein are especially useful in effecting color correction when a camera is capturing a scene in a three-dimensional LED volume, such as is now often used as virtual backgrounds in movie and video production. A three-dimensional LED volume is a form of faceted display, having some surfaces of the display at angles to other surfaces (instead of being an entirely planar or gently curving display.) FIG. 2 schematically depicts a simplified faceted display 14A with camera 12 capturing a field of view (FOV) across the angle formed at the meet 15 between the facets. Because the walls of a faceted display are angled together, the effective angle of one of the walls results in the metadata as measured by the spectroradiometer being discontinuous across the facet meets 15. The fact that the metadata is now discontinuous means that there is not a gentle gradient of non-uniformity, but instead a hard edge between the facet meets 15. With a flat white video field as media content for the display, this can have an appearance in FOV as if one of the LED walls is bluish white and the other wall is reddish white with a hard edge in the middle.
[0019] As shown in FIG. 3A, spectroradiometer 22 can be used to generate measurements 14’ characterizing the color variation of display 14 across a full range of possible viewing angles. This characterization 14’ is stored as display metadata in database 24 as off-axis uniformity characteristics. In one alternative, such measurements may be made for single LED tiles and then full display characterization for an entire display comprised of those tiles can be extrapolated based on the number of tiles in the display. In another alternative, an entire display may be measured. In one embodiment, database 24 stores metadata on off-axis uniformity characteristics for a variety of different LED tiles and the user may select current tile and display size to access the correct metadata for the current display configuration. In some embodiments, metadata 14’ is captured continuously across the display, and then extrapolated to appropriate fields of view by measuring horizontal viewing angle (H) and vertical viewing angle (V) in specific angular increments (for example, at 10 degree increments) and then extrapolating data as needed between the increments.
[0020] In various embodiments, render engine 26 may receive off-axis uniformity characteristics from database 24 and uses that information to render the color correction in the camera field of view. Render engine 26 receives video input signals (I) and produces the video output (O) to display 14 as is understood by persons skilled in the art. In addition to conventional rendering software 28, render engine 26 includes field of view (FOV) resolver 30 and color correction engine 32 to generate the color correction of video output (O) as described in more detail below. A complete LED video wall display system will also include a video processor, which may encompass the render engine or be configured between the render engine and display, such as video processor 27. In the example depicted in FIG. 3 A, API 34 is shown as facilitating communication between the correction engine and database. In one embodiment, correction engine 32 retrieves all required uniformity information from database 24 initially via API 34 and stores it in a local cache memory so that correction engine 32 can utilize portions of the data as needed without a need to constantly retrieve data via API as the camera tracking data changes. Alternatively, in other embodiments, resolver 30 and correction engine 32 may communicate direction with one another and with database 24. In further alternatives, the color correction function of correction engine 32 may be directly incorporated into the render engine or other system control. It is to be noted that dashed connectors in FIGS. 3A-C indicate alternative communication or data paths and dashed boxes indicate alternative components which may be required parts of an overall video wall display system but which are optionally included in embodiments of off-axis color correction systems of the present disclosure. As will be appreciated by persons skilled in the art, correction engine 32 may be configured as part of system video processor, which may be separate from or encompassed within an overall system controller such as controller 16.
[0021] Render engine 26 also receives real-time information on the position (e.g. x,y,z coordinates), and angle (A) and field of view (B) for camera 12 relative via resolver 30. In systems where the display is not fixed, information on the position of display 14 (e.g., x,y,z coordinates) is also provided so that a position of the camera relative to the display, which may include relative horizontal and vertical angles (H,V) of the camera to the display, is determined by resolver 30. Camera and display positions may be generated by internal position sensors or by external devices. Many video wall display systems, particularly those configured as three-dimensional LED volumes for video production sets, already include a sophisticated camera tracking system 12A, which may provide the inputs to resolver 30. Alternatively, in systems where an existing camera tracking system itself generates the required angle and field of view information, the output of the camera tracking system may be used as the input to correction engine 32, in which case resolver 30 would not be required as another functional component. The camera angle and field of view information determined in resolver 30 (or in a camera tracking system) is then used to retrieve the correct segment of the off-axis uniformity characteristics from the metadata database, in this example via the API. Using the metadata segment retrieved from the database corresponding to the current camera view, correction engine 32 determines and applies a uniformity correction layer 14” to the image data delivered to the portion of the display in the current field of view.
[0022] In the example illustrated in FIG. 3A, segments J, K, and L of metadata 14’ represent hypothetical field of view segments retrieved by render engine 26 (via API 34) from database 24. When these segments are reported to correction engine 32, the correction engine applies the uniformity correction layer in the appropriate field of view and display position/angle to correct the portion of the display captured by the camera as it tracks across the display. In some embodiments the uniformity correction layer comprises color correction functions such as an inverse color function (as illustrated in FIG. 1 A for the horizontal viewing axis) to invert the metadata segment, represented by inverted segments J’, K’ and L’, so as to apply the appropriate color correction for the rendered image in the current field of view. Other color correction functions, such as a color normalizing function may be employed. Regardless of the type of color correction function, in a further option, plural color correction functions may be stored, for example in database 24, and selectable by the user through the video processing system user interface (not shown). Alternatively, or additionally, database 24 may contain instructions for execution in a processor in or communicating with the correction engine, which instructions cause a specific color correction function to be generated by the correction engine or for the correction engine. Again color correction function generated in this manner may also be user selectable.
[0023] In an alternative embodiment, as illustrated in FIG. 3B, color correction engine 32 may be disposed in the individual tile controllers of display 14. As is well understood in the art, LED display walls are comprised of an array of LED tiles 40. Each tile carries an array of LED pixels on a substrate such as a PCB, and a tile controller 42 (typically mounted on the back of the PCB) receives the video packets routed to that tile and, among other functions, routes the video information to the appropriate pixels to generate the displayed image. Tile controller 42 may comprise a computing device as elsewhere described herein. In this embodiment, the functions of and interactions between correction engine 32, resolver 30, API 34 and database 24 are substantially as described above. In this example, video processor 27 is positioned in the video data stream between the render engine 26 and display 14, but may be otherwise configured or positioned as described above. However, in this embodiment much of the functionality can be provided via networked computing solutions, for example located in the cloud 44 or other suitable network. With internet connected systems, correction engine 32 could be uploaded to the tile controllers of an existing LED display system and color correction provided via a SaaS model. In such embodiments, user interface 46 may be separately provided with a communication link 48 to the cloud or networkbased application system 44 to facilitate user control, input and color correction function selection. Communication link 48 may be a wireless or hard-wired communication link as appropriate. In some examples, user interface 46 may comprise a website or software application executed on a mobile device.
[0024] In a further alternative embodiment, as illustrated in FIG. 3C, correction engine 32 may be part of a cloud or network-based system 44A, which also contains database 24, resolver 30 and, optionally, API 34. User interface 46 again allows for user interaction with system 44A via communication link 48 as described above. It is to be noted that database 24 as described herein for any embodiments need not be a monolithic storage device. Distributed/cloud-based storage may be utilized as is well-understood in the computing arts. In a further alternative embodiment, cloud- sourced video content 48 may be routed through correction engine 32 for application of the correction layer in a cloud-based or network-based system such as system 44A. In this case, the output from the system 44A may comprise color corrected video content.
[0025] Illustrative processes according to the present disclosure are further described with reference to exemplary process flow 50 in FIG. 4. As illustrated therein, color uniformity characteristics for specific LED tiles or displays may be measured or otherwise determined at any time (52A) and then stored in database 24 at step 52. In practice, it is contemplated that color uniformity characteristics for many different tile types by different manufacturers will be stored in the database so that a system may automatically detect and request the appropriate stored tile data, or alternatively a user may select the tiles types corresponding to a current display from a menu of stored tiles. Color uniformity characteristics for the display are retrieved by correction engine 32 at step 54 and optionally stored in a local memory cache. Correction engine 32 also receives identification of the current camera field of view (FOV) at step 56. FOV information may be determined by FOV resolver 30 at optional step 56A, or alternatively received from other sources, such as an existing camera tracking system (e.g., camera tracking system 12A in FIG. 3 A). Using the designated correction function, correction engine 32 generates the correction layer for the current camera FOV at step 58. Correction engine 32 then applies the correction layer to the video data for the current camera FOV at step 60 to create a corrected video stream, which is subsequently presented on the display at step 62. As the camera pans or tracks across the display, the process continually loops from applying the current correction layer at step 60 back to identifying the next current camera field of view at step 56. It is to be noted that the various steps outlined in FIG. 4 need not be performed in the exact order presented in the figure. Persons of ordinary skill may derive alternative orders based on the teachings contained herein.
[0026] Determination of the correction function to generate the correction layer and application of the correction layer as summarized in steps 58 and 60 of FIG. 4 may be further illustrated by the following simplified example based on correction along a horizontal viewing angle only. In this example, and with reference to FIG. 1 A, the process of color correction using a color normalizing function as the color correction function to generate a color correction layer for the field of view may be expressed mathematically as:
[0027] Again with reference to FIG. 1 A, it can be seen that the relative color gain at example point (E), viewing angle -a, is:
[0028] It is to be noted that the example presented above and the representation of relative color gain levels in FIG. 1 A are highly simplified to facilitate and abbreviate the explanation. For example, the calculation of the color correction for example (E) addresses only color correction at a single nominal angle. If the nominal angle represents the camera angle, then the FOV angle will encompass a field of varying relative color gains on each side of the nominal angle that also must be corrected. Additionally, this example and FIG. 1 A only address the simplified problem of variation on the horizontal viewing axis alone. In practice, the same functions must be resolved over the entire vertical field of view angle as well. However, while simplified, this example presents all of the necessary information and methodology to permit a person of ordinary skill in the art to extrapolate the correction across an entire camera field of view at any viewing angle.
[0029] Systems and methods herein described may be implemented using one or more computing devices and, except where otherwise indicated, may include standard computing components of processors, memory, storage and communications busses, as well as high resolution graphics rendering hardware and software where required. Such components may be configured and programmed by persons of ordinary skill based on the teachings of the present disclosure. Software programing implementing systems and methods described herein may reside on a non-transient computer readable media as a computer program product. Computing devices in general also include cloud-based computing embodiments and computing systems with elements distributed across networks.
[0030] In some embodiments, control functions, such as those occurring in system controller 16, tile controller 42, render engine 26, resolver 30 or correction engine 32, for example, may be executed as one or more computing devices, or may be collectively executed in a single or plural computing device. FIG. 5 illustrates one example of such a computing device, wherein computing device 100 includes one or more processors 102, memory 104, storage device 106, high speed interface 108 connecting to memory 104 and high speed expansion ports 110, and a low speed interface 112 connecting to low speed bus 114 and storage device 106. Each of the components 102, 104, 106, 108, 110, and 112, are interconnected using various busses or other suitable connections as indicated in FIG. 5 by arrows connecting components. The processor 102 can process instructions for execution within the computing device 100, including instructions stored in the memory 104 or on the storage device 106 to display graphical information via GUI 118 with display 120, or on an external user interface device, coupled to high speed interface 108. As will be appreciated by persons of ordinary skill, certain described functions, for example those of render engine 26, may not require an independent GUI or display. In other implementations, multiple processors and/or multiple buses may be used, as appropriate, along with multiple memories and types of memory. Also, multiple computing devices 100 may be connected, with each device providing portions of the necessary operations (e.g., as a server bank, a group of blade servers, or a multi-processor system).
[0031] Memory 104 stores information within the computing device 100. In one implementation, the memory 104 is a computer-readable medium. In one implementation, the memory 104 is a volatile memory unit or units. In another implementation, the memory 104 is a nonvolatile memory unit or units.
[0033] High speed interface 108 manages bandwidth-intensive operations for computing device 100, while low speed interface 112 manages lower bandwidth-intensive operations. Such allocation of duties is exemplary only. In one implementation, high speed interface 108 is coupled to memory 104, display 120 (e.g., through a graphics processor or accelerator), and to high-speed expansion ports 110, which may accept various expansion cards (not shown). In the implementation, low speed interface 112 is coupled to storage device 106 and low speed expansion port 114. The low speed expansion port, which may include various communication ports (e.g., USB, Bluetooth, Ethernet, wireless Ethernet) may be coupled to one or more input/output devices as part of GUI 118 or as a further external user interface, such as a keyboard, a pointing device, a scanner, or a networking device such as a switch or router, e.g., through a network adapter.
[0034] Various implementations of the systems and techniques described here can be realized in digital electronic circuitry, integrated circuitry, specially designed ASICs (application specific integrated circuits), computer hardware, firmware, software, and/or combinations thereof. These various implementations can include implementation in one or more computer programs that are executable and/or interpretable on a programmable system including at least one programmable processor, which may be special or general purpose, coupled to receive data and instructions from, and to transmit data and instructions to, a storage system, at least one input device, and at least one output device.
[0035] These computer programs (also known as programs, software, software applications or code) include machine instructions for a programmable processor, and can be implemented in a high-level procedural and/or object-oriented programming language, and/or in assembly/machine language. As used herein, the terms “machine-readable medium” “computer-readable medium” refers to any computer program product, apparatus and/or device (e.g., magnetic discs, optical disks, memory, Programmable Logic Devices (PLDs)) used to provide machine instructions and/or data to a programmable processor, including a machine-readable medium that receives machine instructions as a machine-readable signal. The term “machine-readable signal” refers to any signal used to provide machine instructions and/or data to a programmable processor.
[0036] To provide for interaction with a user, the systems and techniques described here can be implemented on a computer having a display device separate from video display 14. LED displays are now most common, however older display technologies (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) may be used. Other interface devices may include a keyboard and a pointing device (e.g., a mouse or a trackball) by which the user can provide input to the computer. Other kinds of devices can be used to provide for interaction with a user as well; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form, including acoustic, speech, or tactile input.
[0037] The systems and techniques described here can be implemented in a computing system that includes a back end component (e.g., as a data server), or that includes a middleware component (e.g., an application server), or that includes a front end component (e.g., a client computer having a graphical user interface or a Web browser through which a user can interact with an implementation of the systems and techniques described here), or any combination of such back end, middleware, or front end components. The components of the system can be interconnected by any form or medium of wired or wireless digital data communication (e.g., a communication network). Examples of communication networks include a local area network (“LAN”), a wide area network (“WAN”), and the Internet.
[0038] The computing system can include clients and servers. A client and server are generally remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other. Processing capacities and capabilities described herein also may be implemented as cloud-based or other network-based processing modules and may also be implemented using a software as a service (“SaaS”) model.
[0039] Using systems and methods thus described, the color variations with view angle as illustrated in FIGS. 6A-B and 7A-B and distortions and artifacts as seen in FIG. 9 may be reduced or eliminated for the camera angle and field of view at any moment. The disclosed systems and methods thus may be used to increase the quality and flexibility of live broadcast systems employing dynamic LED wall backgrounds and to reduce the time and expense of post-processing image correction for movie set systems similarly using dynamic LED wall backgrounds.
[0040] The foregoing has been a detailed description of illustrative embodiments of the disclosure. It is noted that in the present specification and claims appended hereto, conjunctive language such as is used in the phrases “at least one of X, Y and Z” and “one or more of X, Y, and Z,” unless specifically stated or indicated otherwise, shall be taken to mean that each item in the conjunctive list can be present in any number exclusive of every other item in the list or in any number in combination with any or all other item(s) in the conjunctive list, each of which may also be present in any number. Applying this general rule, the conjunctive phrases in the foregoing examples in which the conjunctive list consists of X, Y, and Z shall each encompass: one or more of X; one or more of Y; one or more of Z; one or more of X and one or more of Y; one or more of Y and one or more of Z; one or more of X and one or more of Z; and one or more of X, one or more of Y and one or more of Z.
[0041] Various modifications and additions can be made without departing from the spirit and scope of this disclosure. Features of each of the various embodiments described above may be combined with features of other described embodiments as appropriate in order to provide a multiplicity of feature combinations in associated new embodiments. Furthermore, while the foregoing describes a number of separate embodiments, what has been described herein is merely illustrative of the application of the principles of the present disclosure. Additionally, although particular methods herein may be illustrated and/or described as being performed in a specific order, the ordering is highly variable within ordinary skill to achieve aspects of the present disclosure. Accordingly, this description is meant to be taken only by way of example, and not to otherwise limit the scope of this disclosure.
[0042] Exemplary embodiments have been disclosed above and illustrated in the accompanying drawings. It will be understood by those skilled in the art that various changes, omissions and additions may be made to that which is specifically disclosed herein without departing from the spirit and scope of the present disclosure.

中文:
[0002]本披露内容总体上涉及LED视频显示器和运动图像捕获的领域。特别地,本披露内容涉及视频墙显示器的动态图像捕获中的离轴颜色校正。
[0003]由LED显示器瓦片阵列组成并显示动态图像的视频墙越来越频繁地被用作电影布景和广播视频场景的背景。作为一个示例,在用作电影布景的情况下,不是演员在绿幕前面表演然后通过CGI技术添加背景,而是演员在动态显示所期望的背景场景的视频墙前面表演,该背景场景然后与演员一起被相机捕获。在另一示例中,对于广播视频的情况,在新闻广播中,主持人位于视频墙前面,并且视频相机捕获主持人和显示在主持人后面的视频墙上的图像二者。使用这种技术,捕获场景的相机不仅捕获视频墙前面的现场动作或表演,还捕获同时显示在现场动作后面的视频墙上的图像。因此,视频墙上的显示是相机所捕获的场景的活动且变化的部分。由于视频相机实际上是在捕获显示在视频显示墙上的场景,因此要克服多个挑战以使得视频相机捕获的图像不会出现对所捕获的图像的质量产生不利影响的伪影或其他失真。
[0004]要克服的一个问题是当相机在不同的视角下捕获由LED像素阵列产生的图像时出现的颜色失真或变化。当从垂直方向上离轴观看时,LED瓦片具有不同的颜色表现。除像素构造的物理性之外,这还由二极管的布置造成。一些像素的RGB子像素颜色部件以垂直线布置,而另一些像素的RGB子像素颜色部件可以以三角形布置。由于电子或制造的限制、特别是随着零件的日益小型化,子像素颜色部件的内部布置因制造商的不同而不同。除了单个像素的不均匀性外,当多个LED被放置在电路板上以组成显示器面板时,相邻像素的物理结构有可能相互遮挡,并妨碍像素的某些部分完全可见。所有这些变化导致在不同的视角下外观不同。根据视角的不同,变化可能是轻微的,也可能是显著的。图6A至6B和图7A至7B展示了这些变化的简单示例。(要注意,图6A和图6B以及图7A和图7B表示相同的数据和信息,其中,A图与B图之间的唯一区别在于A以黑白示出,而B以全色示出。呈现这两个除此之外完全相同的组只是为了防止由于专利局系统的电子存档或存储而可能造成的质量或内容损失)。
[0005]如图6A至6B和图7A至7B所示,从不同角度观看显示器缺乏均匀性,这对关键内容(比如,平坦白色场、或无论从哪个视角看都必须保持“相同”颜色或色调的企业标志)可能是相当不美观的。与标准或期望颜色(在这种情况下是空白屏幕呈现标准光源D65)的变化量可以基于与垂直视角(位置2)的变化量而变化。要注意,图6A和6B呈现了简化的描绘,其中,示出的位置1、2和3之间的唯一变化是沿水平轴线的。当视角在垂直方向上向显示器中心线上方或下方偏离时,也会以同样的方式出现相同类型的颜色变化。针对位置1、2和3示出的细节也表示每个位置处的固定视场的视图。
[0006]图7A和图7B是图6A和图6B中所示的位置1、2和3的较小视角细节的放大图。当在对应于水平视角为负七十度且垂直视角为零度的位置1观看时,视场内的屏幕区域左侧是明显的粉色,中央过渡到蓝色,然后回到浅粉色。当在对应于水平视角为正四十度并且垂直视角为零度的位置3观看时,视场内的屏幕区域左侧再次为明显的粉色色调,但中央过渡到接近白色的色调,然后向左侧再次呈现浅粉色。因为视角偏离零度较近,所以位置3处的外观与位置1处的外观相比表现出更小的变化。位置2示出了在零度视角下直接观看时D65光源的外观。图6A至6B和图7A至7B中呈现的图像是基于均匀D65光源的简单显示。实际上,当显示墙呈现出具有复杂颜色变化和运动的图像时,取决于LED瓦片和视频墙的物理配置,颜色的失真在某些视角下可能会非常显著。在比如图9所展示的三维LED体积的多面显示器的相交处尤其如此。
[0007]LED像素制造商通常提供表征数据来描述各个像素随角度的颜色变化。这些测量的图/曲线图可以采用白点均匀性或红/绿/蓝均匀性的形式。图8展示了一个这样的表征图的示例。这种测量通常由部件制造商提供,以给予集成商这些部件的规格。然而,显示器或LED瓦片制造商针对完全组装的显示器面板提供此类数据的情况并不常见。进一步地,在集成产品层面上,没有进行这种测量的行业标准。这可能是由于显示器制造商和部件制作商通常不是相同的实体,因此显示器制造商没有改善这些特征的控制权(并且因此也没有动机)。因此,需要理解在特定的视频墙配置中颜色是如何随视角变化的,并需要用于补偿这种变化的手段,以便在如上所述的图像捕获情境中提供改善的图像质量。
[0008]因此,本领域仍然需要一种技术解决方案来在不需要进行大量的后处理颜色和伪影校正的情况下提供改善的图像捕获。
[0009]在一个实施例中,一种用于视频显示器的动态图像捕获中的离轴颜色校正系统可以包括数据库和校正引擎,并且可以替代性地进一步包括相机视场解析器。该数据库至少包含在多个视角下视频显示器的离轴颜色均匀性特征。该校正引擎被配置为从该数据库接收离轴颜色均匀性特征,并将颜色均匀性校正层应用于要在该视频显示器上呈现的视频流。该颜色均匀性校正层基于针对当前图像捕获角度和视场的所接收的离轴颜色均匀性特征,由此减少或消除由于离轴图像捕获造成的所捕获图像中的颜色失真。可以由FOV解析器来确定当前图像捕获角度和视场,该解析器被配置为基于来自相机跟踪系统的输入来确定图像捕获设备相对于视频显示器的当前视角和视场。
[0010]在另一实施例中,一种用于视频显示器的动态图像捕获中的离轴颜色校正的系统包括:数据库,该数据库包含在多个视角下视频显示器的离轴颜色均匀性特征;FOV解析器,该解析器被配置为基于来自相机跟踪系统的输入来确定图像捕获设备相对于视频显示器的当前视角和视场;校正引擎;以及应用程序编程接口,该应用程序编程接口控制至少数据库与校正引擎之间的通信。该校正引擎被配置为从该数据库接收离轴颜色均匀性特征,并将颜色均匀性校正层应用于要在该视频显示器上呈现的视频流。该颜色均匀性校正层可以基于针对当前图像捕获角度和视场的所接收的离轴颜色均匀性特征。该校正引擎可以进一步被配置为基于颜色校正函数和所接收的离轴颜色均匀性特征生成该颜色均匀性校正层。以这种方式,减少或消除由于离轴图像捕获造成的所捕获图像中的失真。
[0011]在又另一替代性实施例中,一种用于视频显示器的动态图像捕获中的离轴颜色校正的方法包括以下步骤:取得在多个视角下视频显示器的离轴颜色均匀性特征,确定图像捕获设备相对于该视频显示器的当前视角和视场,访问与所确定的视角和视场相对应的这些离轴颜色均匀性特征,以及至少基于所取得的离轴颜色均匀性特征和所确定的视角和视场为将在该显示器上所确定的视场内呈现的视频流生成颜色均匀性校正层。可选地,可以将如此生成的颜色均匀性校正层传送给与在该视频显示器上显示视频相关联的过程控制器。所披露的方法还可以进一步包括通过在该过程控制器处将该颜色校正层应用于视频流来产生与当前视角和视场相对应的经颜色校正的视频流。
[0012]在各种替代方案中,应用颜色均匀性校正层的过程控制器可以包括以下各项中的任何一项或多项:视频显示系统的至少一个渲染引擎、用于形成视频显示器的多个瓦片的单独瓦片控制器、一个或多个视频处理器、或者基于云或网络的处理系统。当使用基于云的/所存储的视频内容作为视频源时,可能期望颜色校正引擎的处理位于基于云的处理系统中。
[0013]出于说明本披露内容的目的,附图示出了本披露内容的一个或多个实施例的各方面。然而,应理解的是,本披露内容不限于附图中示出的精确布置和手段,在附图中:
[0014]图1至图5展示了用于视频墙显示器的动态图像捕获中的离轴颜色校正的系统和方法的示例,这些系统和方法解决了现有技术的缺点,并在下文中进一步描述。一般来说,此类方法涉及测量特定的LED瓦片或视频墙的颜色表现,并提供数据库来存储这些离轴测量的特征,以便用于颜色校正。该数据库可由视频墙图像渲染设备访问,使得当与关于相对于显示器的相机视角和视场的实时信息相组合时,颜色校正函数可以结合进相机视场内的显示部分的渲染中,以减少或消除所捕获图像中的离轴颜色变化/失真。以这种方式,显示器瓦片性能的元数据可以被回读,使得可以以计算的方式对内容进行实时改变,从而使显示器从当前相机角度看起来是均匀的。颜色校正函数可以直接结合进特定渲染引擎的软件中,或者可以经由AP I提供以促进与各种不同制造商的视频墙控制器或渲染引擎的通信和由其进行的实施。在另一种替代方案中,颜色校正可以被代替地结合进视频捕获而不是所显示的图像中。
[0015]如图1的示例中所示,相机12正在捕获包括背景显示器14以及显示器前面的主持人(P)的场景。显示器14可以是任何市售的或定制的LED视频墙显示器。相机12相对于显示器14的位置和视场可以在水平方向和垂直方向上都改变。为了简洁起见,水平方向上的变化在图1中仅示出,并在本文进行详细讨论。基于垂直视角变化的校正可以完全以与水平视角校正相同的方式进行,并且垂直校正和水平校正可以由普通技术人员基于本文提供的教导进行组合。考虑的另一个参数是相机12的视场,其可能基于相机相对于显示器的变焦或物理位置而改变。如图1所示,角度A表示相机12相对于显示器14的中心线的变化视角,并且角度B表示相机12的变化视场。
[0016]图像控制和渲染系统16经由有线或无线通信链路18(通信链路1)与显示器14进行通信。以太网通信是通信链路1的常用通信模式,然而,也可以使用适合于显示器的视频质量需求的任何通信协议。控制系统16还经由有线或无线通信链路20(通信链路2)与相机12本身或相机外围的其他定位系统(未示出)进行通信,以接收关于变化视角A和变化视场角B的实时信息。要注意的是,本文所述的系统和方法利用显示器表面上的相机视场区域作为输入,以确定哪些像素需要进行颜色校正。对视场区域的确定需要至少物理相机位置、取向和相机中的视场角度设置的输入。除非本文另有说明,否则“视场”就如同该术语在LED/视频显示技术中经常使用那样是指显示器表面的视场区域。
[0017]图1和图1A中所示的水平颜色均匀性特征14'呈颜色元数据的形式,并且表示在跨显示器面的变化视角下每种原色发射的相对光量。在这种情况下,通常校准显示器,使得正面朝向(0度)时显示器在期望白点(例如,标准光源D65)下表现出均匀。要注意,在此只示出了零度仰角的水平特征。在本披露的附图中,表示随视角产生的颜色变化的颜色均匀性特征14'被绘制为相对颜色增益水平与水平视角(例如,参见图1A)。普通技术人员可以采用相同颜色变化信息的其他表示,比如但不限于色温值与视角、Lxy色度与视角或XYZ色度与视角。
[0018]本文所披露的实施例对于在相机捕获三维LED体积中的场景(比如,现在经常用作电影和视频制作中的虚拟背景的场景)时进行颜色校正特别有用。三维LED体积采用多面显示器的形式,该显示器的一些表面与其他表面成一定的角度(不是完全平坦或平缓弯曲的显示器)。图2示意性地描绘了简化的多面显示器14A,其中,相机12跨这些面之间的相接线15处形成的角度捕获视场(FOV)。因为多面显示器的壁成角度地相接,这些壁之一的有效角度使得由分光辐射计测量的元数据跨越面相接线15时不连续。元数据现在不连续的事实意味着非均匀性的梯度不平缓,而相反地,面相接线15之间具有硬边缘。在以平坦白色视频场作为显示器的媒体内容的情况下,这在FOV中的外观就好像这些LED壁中的一个是蓝白色,另一个是红白色,而中间存在硬边缘。对此进行校正需要精确的逐像素的元数据以及精确到子像素水平的相机跟踪和定位数据,因此使得与平坦显示器相比,通过现有技术(比如手动调整颜色调整和视频后处理的组合)进行颜色校正的挑战性显著增加。
[0019]如图3A所示,分光辐射计22可以用于生成表征显示器14在可能视角的全部范围上的颜色变化的测量结果14'。这个表征14'作为显示元数据在数据库24中存储为离轴均匀性特征。在一个替代方案中,可以对单个LED瓦片进行这种测量,然后可以基于显示器中的瓦片数量推断出由这些瓦片组成的整个显示器的完整显示表征。在另一个替代方案中,可以测量整个显示器。在一个实施例中,数据库24存储关于各种不同的LED瓦片的离轴均匀性特征的元数据,并且用户可以选择当前瓦片和显示器大小来访问当前显示配置的正确元数据。在一些实施例中,跨显示器连续捕获元数据14',并且通过以下方式将其外推到适当的视场:以特定角度增量(例如,以10度增量)测量水平视角(H)和垂直视角(V),然后根据需要外推增量之间的数据。
[0020]在各种实施例中,渲染引擎26可以从数据库24接收离轴均匀性特征,并使用该信息来渲染相机视场中的颜色校正。渲染引擎26接收视频输入信号(I),并产生到显示器14的视频输出(O),如本领域技术人员所理解的。除了传统的渲染软件28之外,渲染引擎26还包括视场(FOV)解析器30和用于生成视频输出(O)的颜色校正的颜色校正引擎32,如下文更详细描述的。完整的LED视频墙显示系统还将包括视频处理器(比如视频处理器27),该视频处理器可以包含渲染引擎或被配置在渲染引擎与显示器之间。在图3A描绘的示例中,API 34被示出为促进校正引擎与数据库之间的通信。在一个实施例中,校正引擎32最初经由API34从数据库24取得所有需要的均匀性信息并将其存储在本地高速缓存存储器中,使得校正引擎32可以根据需要利用数据的各部分,而不需要随着相机跟踪数据的变化而持续经由API取得数据。替代性地,在其他实施例中,解析器30和校正引擎32相互之间以及与数据库24可以直接进行通信。在另外的替代方案中,校正引擎32的颜色校正函数可以直接结合进渲染引擎或其他系统控制装置中。要注意的是,图3A至图3C中的虚线连接线指示替代性的通信或数据路径,并且虚线框指示可能是整体视频墙显示系统的必要部分、但以可选的方式包括在本披露的离轴颜色校正系统的实施例中的替代性部件。如本领域技术人员将理解的,校正引擎32可以被配置为系统视频处理器的一部分,它可以与整体系统控制器(比如控制器16)分开或包含在其内。
[0021]渲染引擎26还经由解析器30接收关于相机12的相对位置(例如,x、y、z坐标)、角度(A)和视场(B)的实时信息。在显示器不固定的系统中,还提供关于显示器14的位置(例如x、y、z坐标)的信息,以便由解析器30确定相机相对于显示器的位置,该位置可以包括相机相对于显示器的水平角度和垂直角度(H,V)。相机位置和显示器位置可以由内部位置传感器或外部设备生成。许多视频墙显示系统、特别是那些被配置为用于视频制作布景的三维LED体积,已经包括精密的相机跟踪系统12A,该相机跟踪系统可以提供为解析器30提供输入。替代性地,在现有的相机跟踪系统本身生成所需的视角和视场信息的系统中,该相机跟踪系统的输出可以用作校正引擎32的输入,在这种情况下,将不需要解析器30来作为另一个功能部件。然后,在解析器30中(或在相机跟踪系统中)确定的相机视角和视场信息被用来从元数据数据库中(在本示例中经由API)取得离轴均匀性特征的校正片段。使用从数据库中取得的对应于当前相机视图的元数据片段,校正引擎32确定均匀性校正层14”并将其应用于输送到当前视场中的显示器部分的图像数据。
[0022]在图3A所示的示例中,元数据14'的片段J、K和L表示渲染引擎26从数据库24(经由API 34)取得的假定的视场片段。当这些片段被报告给校正引擎32时,校正引擎将均匀性校正层应用于适当的视场和显示位置/角度,以校正相机跨显示器进行跟踪时捕获的显示器部分。在一些实施例中,均匀性校正层包括颜色校正函数以将适当的颜色校正应用于当前视场中的经渲染图像,这些颜色校正函数比如用于反转元数据片段(由反转片段J'、K'和L'表示)的反色函数(如图1A中为水平观看轴线展示的)。可以采用其他颜色校正函数,比如颜色归一化函数。无论颜色校正函数的类型如何,在另一选项中,多个颜色校正函数可以例如被存储在数据库24中,并可由用户通过视频处理系统的用户接口(未示出)进行选择。替代性地或者附加地,数据库24可以包含用于在校正引擎中的处理器中、或与校正引擎通信的处理器中执行的指令,这些指令使得由校正引擎生成特定的颜色校正函数、或生成特定的颜色校正函数用于校正引擎。同样,以这种方式生成的颜色校正函数也可以是可由用户选择的。
[0023]在替代性的实施例中,如图3B所示,颜色校正引擎32可以被设置在显示器14的各个瓦片控制器中。如本领域众所周知的,LED显示墙是由LED瓦片40的阵列组成的。在比如PCB等基板上,每个瓦片都承载LED像素阵列,并且瓦片控制器42(通常安装在PCB的背面)接收路由到该瓦片的视频数据分组,并(除了其他功能外)将视频信息路由到适当的像素以生成显示的图像。瓦片控制器42可以包括如本文其他地方描述的计算设备。在这个实施例中,校正引擎32、解析器30、API 34和数据库24的功能和其间交互基本如上所述。在这个示例中,视频处理器27在视频数据流中定位在渲染引擎26与显示器14之间,但可以如上所述以其他方式进行配置或定位。然而,在本实施例中,许多功能可以经由例如位于云44或其他合适的网络中的联网计算解决方案提供。通过连接互联网的系统,可以将校正引擎32上传到现有LED显示系统的瓦片控制器,并经由SaaS模型提供颜色校正。在这样的实施例中,用户接口46可以单独设有去往基于云或网络的应用程序系统44的通信链接48,以促进用户控制、输入和颜色校正函数选择。通信链路48可以是无线或硬连线的通信链路,视情况而定。在一些示例中,用户接口46可以包括在移动设备上执行的网站或软件应用程序。
[0024]在另一个替代性的实施例中,如图3C所示,校正引擎32可以是基于云或网络的系统44A的一部分,该系统还包含数据库24、解析器30并且可选地包含API 34。用户接口46同样允许如上文所述地经由通信链路48与系统44A的用户交互。要注意的是,对于任何实施例而言,本文所述的数据库24不需要是单片存储设备。如在计算领域中众所周知的,可以利用分布式/基于云的存储。在另一个替代性的实施例中,源于云的视频内容48可以通过校正引擎32进行路由,以在比如系统44A的基于云或基于网络的系统中应用校正层。在这种情况下,来自系统44A的输出可以包括经颜色校正的视频内容。
[0025]参考图4中的示例性过程流程50来进一步描述根据本披露的说明性过程。如该图中所展示的,可以在任何时候测量或以其他方式确定特定LED瓦片或显示器的颜色均匀性特征(52A),然后在步骤52中将这些特征存储在数据库24中。实际上,设想将不同制造商的许多不同瓦片类型的颜色均匀性特征存储在数据库中,使得系统可以自动检测并请求适当的所存储的瓦片数据,或者替代性地用户可以从所存储瓦片的菜单中选择与当前显示器相对应的瓦片类型。在步骤54处,校正引擎32取得显示器的颜色均匀性特征,并且可选地存储在本地存储器高速缓存中。在步骤56处,校正引擎32还接收对当前相机视场(FOV)的识别。FOV信息可以在可选的步骤56A处由FOV解析器30确定,或替代性地从其他来源接收,比如从现有的相机跟踪系统(例如,图3A中的相机跟踪系统12A)接收。在步骤58处,校正引擎32使用指定的校正函数生成用于当前相机FOV的校正层。然后,在步骤60处,校正引擎32将该校正层应用于当前相机FOV的视频数据以创建经校正的视频流;随后在步骤62处,在显示器上呈现该经校正的视频流。随着相机跨在显示器进行平移或跟踪,该过程连续地从步骤60处应用当前校正层循环回到步骤56处识别下一个当前相机视场。要注意的是,图4中概述的各种步骤不一定要按照附图中呈现的确切顺序执行。普通技术人员可以基于本文所包含的教导得出替代性的顺序。
[0026]在图4的步骤58和步骤60中概述的确定校正函数以生成校正层以及应用校正层可以通过基于仅沿水平视角进行校正的以下简化示例进一步说明。在这个示例中,参考图1A,使用颜色归一化函数作为颜色校正函数来生成用于视场的颜色校正层的颜色校正过程可以以数学方式表达为:
[0027]再次参考图1A,可以看出在示例点(E)处(视角-α)的相对颜色增益为:
[0028]要注意的是,以上呈现的示例和图1A中的相对颜色增益水平的表示是高度简化的,以促进并简略化解释。例如,用于示例(E)的颜色校正的计算只解决在单个标称角度处的颜色校正。如果标称角度表示相机角度,那么FOV角度将包含也必须进行校正的在标称角度的每一侧的具有变化的相对颜色增益的场。另外,这个示例和图1A只解决单独在水平观看轴线上变化的简化问题。实际上,也必须在全部垂直视场角度上解析同样的函数。然而,虽然是简化的,但这个示例呈现了允许本领域的普通技术人员外推在任何视角下跨整个相机视场的校正所必要的所有信息和方法。
[0029]本文所述的系统和方法可以使用一个或多个计算设备来实施,并且除非另有指示,否则其可以包括具有处理器、存储器、存储装置和通信总线的标准计算部件,并且在需要的情况下包括高分辨率图形渲染硬件和软件。此类部件可以由普通技术人员基于本披露的教导进行配置和编程。实施本文所述系统和方法的软件编程可以作为计算机程序产品驻留在非暂态计算机可读介质上。一般地,计算设备还包括基于云的计算实施例和具有分布在网络上的元件的计算系统。
[0030]在一些实施例中,控制功能(比如在系统控制器16、瓦片控制器42、渲染引擎26、解析器30或校正引擎32中存在的功能)可以作为一个或多个计算设备执行,或者可以在单个或多个计算设备中共同执行。图5展示了这种计算设备的一个示例,其中,计算设备100包括一个或多个处理器102、存储器104、存储设备106、连接到存储器104和高速扩展端口110的高速接口108、以及连接到低速总线114和存储设备106的低速接口112。部件102、104、106、108、110和112中的每一个使用各种总线或如在图5中由箭头指示的连接各部件的其他合适连接来互连。处理器102可以处理用于在计算设备100内执行的指令,包括存储在存储器104中或存储设备106上以经由GUI 118用显示器120显示图形信息或在耦合到高速接口108的外部用户界面设备上显示图形信息的指令。如普通技术人员将理解的,描述的某些功能(例如渲染引擎26的功能)可能不需要独立的GUI或显示器。在其他实施方式中,可以视情况连同多个存储器和多种类型的存储器一起使用多个处理器和/或多个总线。此外,可以连接多个计算设备100,其中,每个设备提供必需操作的部分(例如,作为服务器库、刀片服务器组或多处理器系统)。
[0031]存储器104将信息存储在计算设备100内。在一个实施方式中,存储器104是计算机可读介质。在一个实施方式中,存储器104是一个或多个易失性存储器单元。在另一个实施方式中,存储器104是一个或多个非易失性存储器单元。
[0033]高速接口108管理计算设备100的带宽密集型操作,而低速接口112管理较低带宽密集型操作。这样的职责分配仅是示例性的。在一个实施方式中,高速接口108耦合到存储器104、显示器120(例如,通过图形处理器或加速器),并且耦合到可以接受各种扩展卡(未示出)的高速扩展端口110。在实施方式中,低速接口112耦合到存储设备106和低速扩展端口114。低速扩展端口可以包括各种通信端口(例如,USB、蓝牙、以太网、无线以太网),其可以耦合到作为GUI 118的一部分或作为进一步的外部用户接口的一个或多个输入/输出设备(比如键盘、定点设备、扫描仪),或例如通过网络适配器耦合到联网设备(比如交换机或路由器)。
[0034]在此描述的系统和技术的各种实施方式可以在数字电子电路、集成电路、专门设计的ASIC(专用集成电路)、计算机硬件、固件、软件和/或其组合中实现。这些各种实施方式可以包括在一个或多个计算机程序中的实施方式,该一个或多个计算机程序可在包括至少一个可编程处理器(其可以是专用的或通用的)的可编程系统上执行和/或解释,该至少一个可编程处理器被耦合以从存储系统、至少一个输入设备和至少一个输出设备接收数据和指令并且将数据和指令传输到该存储系统、至少一个输入设备和至少一个输出设备。
[0035]这些计算机程序(也称为程序、软件、软件应用程序或代码)包括用于可编程处理器的机器指令,并且可以以高级程序编程语言和/或面向对象的编程语言、和/或以汇编语言/机器语言实施。如本文所使用的,术语“机器可读介质”、“计算机可读介质”是指用于向可编程处理器提供机器指令和/或数据的任何计算机程序产品、装置和/或设备(例如,磁盘、光盘、存储器、可编程逻辑设备(PLD)),包括将机器指令接收为机器可读信号的机器可读介质。术语“机器可读信号”是指用于向可编程处理器提供机器指令和/或数据的任何信号。
[0036]为了提供与用户的交互,在此描述的系统和技术可以在具有不同于视频显示器14的显示设备的计算机上实施。LED显示器是现在最常见的,但是也可以使用旧的显示技术(例如,CRT(阴极射线管)或LCD(液晶显示器)显示屏)。其他接口设备可以包括键盘和定点设备(例如,鼠标或轨迹球),用户可以通过这些接口设备向计算机提供输入。也可以使用其他种类的设备来提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈(例如,视觉反馈、听觉反馈、或触觉反馈);并且来自用户的输入可以以包括声音、言语或触觉输入的任何形式接收。
[0037]在此描述的系统和技术可以在包括以下各项的计算系统中实施:后端部件(例如,作为数据服务器)或中间件部件(例如,应用服务器)或前端部件(例如,具有图形用户界面或网络浏览器的客户端计算机,用户可以通过该图形用户界面或网络浏览器与这里描述的系统和技术的实施方式进行交互),或者这种后端部件、中间件部件或前端部件的任何组合。系统的部件可以由任何形式或介质的有线或无线数字数据通信(例如,通信网络)来互连。通信网络的示例包括局域网(“LAN”)、广域网(“WAN”)和互联网。
[0038]计算系统可以包括客户端和服务器。客户端和服务器通常远离彼此并且典型地通过通信网络来交互。客户端与服务器的关系是由于计算机程序在相应计算机上运行并且相对于彼此具有客户端-服务器关系而产生的。本文描述的处理能力和功能也可以实施为基于云或基于其他网络的处理模块,并且也可以使用软件即服务(“SaaS”)模型来实施。
[0039]使用这样描述的系统和方法,可以在任何时刻针对相机视角和视场减少或消除图6A至图6B和图7A至图7B中展示的随视角变化而出现的颜色变化以及如图9中看到的失真和伪影。因此,所披露的系统和方法可以用于提高采用动态LED墙背景的现场广播系统的质量和灵活性,并减少类似地使用动态LED墙背景的电影布景系统的后处理图像校正的时间和费用。
[0040]以上是对本披露内容的说明性实施例的详细描述。应当注意,在本说明书和所附权利要求中,除非另有明确陈述或指示,否则比如在短语“X、Y和Z中的至少一个”和“X、Y和Z中的一个或多个”中使用的连词应当被视为意味着连词列表中的每个项目可以以任何数量存在而不包括列表中的每个其他项目,或者可以以任何数量与连词列表中的任何或所有其他(多个)项目组合,其他项目中的每一个也可以以任何数量存在。应用该一般规则,上述示例中的连词列表由X、Y和Z组成的连词短语应各自涵盖:X中的一个或多个;Y中的一个或多个;Z中的一个或多个;X中的一个或多个和Y中的一个或多个;Y中的一个或多个和Z中的一个或多个;X中的一个或多个和Z中的一个或多个;以及X中的一个或多个、Y中的一个或多个和Z中的一个或多个。
[0041]在不背离本披露内容的精神和范围的情况下,可以进行各种修改和添加。上文描述的各个实施例中的每个实施例的特征可以适当地与所描述的其他实施例的特征组合,以便在相关联的新实施例中提供多种特征组合。此外,虽然上文描述了多个单独实施例,但本文所描述的仅仅说明本披露内容的原理的应用。另外,尽管本文的特定方法可以被说明和/或描述为以特定顺序执行,但是该顺序在普通技术内高度可变,以便实现本披露内容的各方面。相应地,此描述仅旨在是示例性的,并且不以其他方式限制本披露内容的范围。
[0042]上文已经披露并且在附图中展示了示例性实施例。本领域技术人员将理解的是,可以对本文具体披露的内容进行各种改变、省略和添加,而不背离本披露内容的精神和范围。