Method and device for bearing self-contained transparency information
By encoding the chrominance on two components of the image and encoding the brightness on one component, a second image in a color format without a transparency component is generated. The corners of the image are used as carriers of transparency information, which solves the compatibility problem of self-contained transparency information in the existing technology and achieves the rendering effect of advanced AR scenes.
Patent Information
- Application Number
- CN202480010805.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2023-02-06
- Filing Date
- 2024-01-29
- Publication Date
- 2025-09-12
AI Technical Summary
The existing technology lacks a method for carrying self-contained transparency information in videos, and traditional methods are not compatible with various encoding/decoding systems.
A second image in a color format without a transparency component is generated by encoding chrominance on two components of the image and encoding luminance on one component, using the corners of the image as carriers of transparency information, and encoding the image in a data stream.
It realizes the carrying of self-contained transparency information that is compatible with various encoding/decoding systems, can accurately modulate transparency information, and support the rendering effects of advanced AR scenes.
Smart Images

Figure CN120642337A_ABST
Abstract
Description
[0001] CROSS-REFERENCE TO RELATED APPLICATIONS This application claims the benefit of European application No. 23305154.9, filed on February 6, 2023, which is incorporated herein by reference in its entirety. Technical Field
[0002] The present principles generally relate to the encoding of transparency components in images.This document is also to be understood, in the context of encoding, the formatting and decoding of an image meant to be superimposed onto another image, such as in the context of immersive applications. Background Art
[0003] This section is intended to introduce the reader to various aspects of the art that may be related to various aspects of the present principles described and / or claimed below. It is believed that this discussion will help provide the reader with background information to facilitate a better understanding of the various aspects of the present principles. Therefore, it should be understood that these statements are to be read in this light, and not as admissions of prior art.
[0004] Recently, the availability of content with a wide field of view (up to 360°) has increased. Such content may not be fully visible to users viewing the content on immersive display devices such as head-mounted displays, smart glasses, PC screens, tablets, and smartphones. This means that at a given moment, the user may only be viewing a portion of the content. However, the user can typically navigate within the content through various means, such as head movements, mouse movements, touch screens, voice, and so on. It is often desirable to encode and decode this content.
[0005] Overlaying an image or video on top of another is a capability that is being used even more, for example, in the development of augmented reality (AR) applications. This is also the case when overlaying an image or video onto the real world via AR glasses. However, this overlay is not a complete image, but only a portion of it. Other pixels of the image that are transparent are not rendered, and other pixels that are partially transparent (for example, in the case of shadow effects) are rendered transparently.
[0006] There are many technical solutions for carrying transparency information. Chroma key synthesis has been used for decades. This technique consists in retaining one color (for example green or blue, because human skin color includes very little green or blue) to indicate binary information: transparent or opaque. For proper overlay in the AR context, more precise information is needed to be able to modulate the transparency information between 0% and 100% and to be able to achieve shadow effects. Transparency information can be encoded in the alpha channel. Various techniques may be used to carry the alpha channel. It can be inserted directly into the video codec information as an auxiliary picture. Codec standards such as AVC or HEVC describe methods for carrying associated auxiliary pictures containing transparency information. The ISOBMFF-based format as a solution for multiplexed multimedia streams also describes a specific solution for including the alpha channel in the multimedia stream. The scene description language that implements advanced AR scene description signaling makes it possible to describe how to use the transparency information when it is provided by a decoder or multimedia stream demultiplexer.
[0007] There is a lack of a method for carrying self-contained transparency information in video that is compatible with any encoding / decoding system. Summary of the Invention
[0008] A simplified summary of the present principles is provided below to provide a basic understanding of some aspects of the present principles. This summary is not an extensive overview of the present principles. It is not intended to identify key or critical elements of the present principles. The following summary merely presents some aspects of the present principles in a simplified form as a prelude to the more detailed description provided below.
[0009] The present principles relate to a method comprising obtaining a first image using a color format that includes a transparency component. Selecting unused code color values in the first image. Generating a second image using a color format that encodes chrominance on two components and luminance on one component. Detecting a code block in the first image, the code block being a fully transparent block. Then, filling a block of a second image corresponding to the code block with a code color value having a luminance set to zero, and for each pixel of the first image, when the pixel is transparent, filling the corresponding pixel of the second image with the code color value and a luminance level corresponding to the transparency component of the pixel; and when the pixel is opaque, filling the corresponding pixel of the second image with the color value of the pixel. The resulting second image is encoded in a data stream.
[0010] The present principles also relate to a device comprising a memory associated with a processor, the processor being configured to implement the above-described method.
[0011] The present principles also relate to a method comprising obtaining a first image using a color format that encodes chrominance on two components and luminance on one component. Detecting a block of the first image that includes a uniquely coded chrominance with luminance set to zero. Obtaining a second image of the same size as the first image or a larger size than the first image. The second image may be a background image. The first image is to be rendered in the second image. A pixel of the second image is thereby selected to correspond to one of the corners of the first image. Then, for each pixel of the first image, when the pixel stores the color chrominance, the method comprises rendering a default chrominance on the corresponding pixel of the second image with a transparency relative to the luminance of the pixel; otherwise, rendering the color value of the pixel on the corresponding pixel of the second image. The second image may be displayed.
[0012] The present principles also relate to a device comprising a memory associated with a processor, the processor being configured to implement the above-described method. BRIEF DESCRIPTION OF THE DRAWINGS
[0013] The present disclosure will be better understood, and other specific features and advantages will emerge, from a reading of the following description, which has reference to the accompanying drawings, in which: Figure 1 A diagram showing a system for handling images with transparency; Figure 2 An image including at least one fully transparent block according to the present principles is shown; Figure 3 shows that can be configured to implement about Figure 5 and Figure 6 Example architecture of a device for the described method; Figure 4 An example of an embodiment of the syntax of a stream when data is transmitted over a packet-based transport protocol is shown; Figure 5 illustrates a method for encoding transparency in an image in a format that does not include a transparency component, in accordance with a non-limiting embodiment of the present principles; Figure 6 A method for rendering an image with transparency from an image in a format that does not include a transparency component is illustrated, according to a non-limiting embodiment of the present principles. DETAILED DESCRIPTION
[0014] The present principles will be described more fully hereinafter with reference to the accompanying drawings, in which examples of the present principles are shown. However, the present principles may be embodied in many alternative forms and should not be construed as being limited to the examples set forth herein. Therefore, although the present principles are susceptible to various modifications and alternative forms, specific examples thereof are shown in the drawings by way of example and will be described in detail herein. However, it should be understood that the present principles are not intended to be limited to the particular form disclosed, but on the contrary, the present disclosure will cover all modifications, equivalents, and alternatives falling within the spirit and scope of the present principles as defined by the claims.
[0015] The terms used herein are only for the purpose of describing specific examples and are not intended to be limitations on this principle. As used herein, the singular forms "one", "an" and "the" are intended to also include plural forms, unless the context clearly indicates otherwise. It will be further understood that when the terms "comprise", "comprising", "include" and / or "including" are used in this specification, they specify the existence of stated features, integers, steps, operations, elements and / or components, but do not exclude the existence or addition of one or more other features, integers, steps, operations, elements, components and / or their groups. In addition, when an element is referred to as "responsive" or "connected" to another element, it can directly respond to or be connected to the other element, or there can be an intervening element. On the contrary, when an element is referred to as "directly responding" or "directly connected" to other elements, there is no intervening element. As used herein, the term "and / or" includes any and all combinations of one or more of the items listed in the association, and can be abbreviated as " / ".
[0016] It will be understood that although the terms first, second, etc. may be used herein to describe various elements, these elements should not be limited by these terms. These terms are merely used to distinguish one element from another. For example, a first element may be referred to as a second element, and similarly, a second element may be referred to as a first element, without departing from the teachings of the present principles.
[0017] Although some schematic diagrams include arrows on communication paths to illustrate a primary direction of communication, it is understood that communication can occur in the opposite direction of the depicted arrows.
[0018] Some examples are described with respect to block diagrams and operational flow charts, wherein each block represents a circuit element, module, or code portion that includes one or more executable instructions for implementing (one or more) specified logical functions. It should also be noted that in other embodiments, the (one or more) functions mentioned in the blocks may not occur in the order mentioned. For example, two blocks shown in succession may actually be executed substantially simultaneously, or the blocks may sometimes be executed in reverse order, depending on the functions involved.
[0019] References herein to "according to one example" or "in an example" mean that a particular feature, structure, or characteristic described in connection with the example may be included in at least one implementation of the present principles. The appearances of the phrases "according to one example" or "in an example" in various places in the specification are not necessarily all referring to the same example, nor are they necessarily independent or alternative examples that are mutually exclusive of other examples.
[0020] Reference numerals appearing in the claims are by way of illustration only and shall have no limiting effect on the scope of the claims.The present examples and variations may be employed in any combination or subcombination although not explicitly described.
[0021] Figure 1 A diagram of a system for handling images with transparency is shown. A media access function 11 provides transparency information obtained from a multimedia demultiplexer or from a decoder (depending on the transparency carriage method implemented). The multimedia demultiplexer also provides metadata to the high-level description module, which metadata may contain information relative to the use of the transparency information. The multimedia stream is demultiplexed. If the multimedia stream contains an alpha channel, the decoder extracts it and forwards it to a rendering block 12. The video stream is then sent to the decoder. The metadata is interpreted by a compositor block 13, which is responsible for coordinating the rendering of the various media. If there is additional information about the use of transparency, it is sent to the rendering block 12, which is responsible for driving the display. The rendering uses both the transparency information (assumed to come from the decoder or multimedia demultiplexer) and optional additional information from the metadata via the compositor 13.
[0022] This approach is based on the assumption that if transparency information is present in the incoming multimedia stream, the decoding or demultiplexing functionality can handle it. This may not be the case. Demultiplexing and decoding functionality is often implemented as a System on Chip (SoC), which rarely implements transparency information handling.
[0023] Therefore, there is a lack of a method for carrying self-contained transparency information in a video and being compatible with any encoding / decoding system. According to the present principles, the transparency information is extracted by a specific transparency module.
[0024] The chroma key compositing system is used to transmit binary information for each pixel of an image: 0% or 100% transparency. This system is inherent to the image. However, this method has drawbacks because it relies on a specific color (for example, green), forcing opaque portions of the image to not use this color. Furthermore, it only transmits binary information, where transparency information can contain all values between 0% and 100%.
[0025] On the one hand, the present principles allow the transparency color to be changed on an image basis and this information (the transparency color) to be transmitted within the image. In fact, the image is rectangular and the useful information is located in the center of the rectangle. According to the present principles, a portion of the edge of the image (e.g. one of the four corners) is considered transparent and can be used to transmit the transparency color for each image. If necessary, a column or a row of transparent blocks can be added to the image. On the other hand, it is proposed to encode the transparency color on two components of a color space (which has three components) and to reserve the third component for the transmission of the transparency level. According to the present principles, the color space used to represent the image is selected to encode the transparency information, such as the YUV, HSV, CEI XYZ or CEI xyY color space.
[0026] Figure 2 An image according to the present principles is shown which includes at least one fully transparent block. For example, a block is a rectangle defined within an image according to a compression scheme. Blocks of pixels within an image are well-known objects in image processing. Such an image is meant to be superimposed on a background image, but only a portion of this image (i.e., the non-transparent portion) is rendered. The resulting image has a rectangular format and is represented by the background rectangle and the image under consideration (representing the Figure 2 The dragon (i.e., the meaningful portion of the pixel information) is superimposed on the rectangle. The position of the dragon (i.e., the meaningful portion of the pixel information) is constrained within the rectangle. The rectangle may correspond to the field of view of a display device (e.g., AR glasses) and the expected position of the dragon within this field of view. In such an application, the dragon is likely to fill the center of the rectangle. According to the present principles, at least one of the blocks of the image to be encoded is completely transparent. The image is scanned block by block to detect the completely transparent block 21. According to one embodiment of the present principles, one of the four corners 22 to 25 of the rectangle is completely transparent, and therefore, only the four corner blocks of the image are scanned to detect the completely transparent block. In Figure 2 In the example of FIG, blocks 21 to 23 are completely transparent while blocks 24 and 25 are opaque.
[0027] Figure 5A method 50 for encoding transparency in an image in a format that does not include a transparency component is illustrated. At step 51, a first image encoded in a format that includes three-dimensional color components and a transparency component is obtained, for example, from a file or from a stream. For example, the format can be RGBA or YUV plus alpha. In the RGB format, chrominance (i.e., hue) is encoded on three components and mixed with brightness. In YUV or CEI, for example, chrominance is encoded on two components and brightness is encoded on a third component. A component is a number encoded on a given number of bits, such as 6, 8, 10, or 12. At step 52, the first image is analyzed to detect color values for opaque pixels that are not used in the first image. The selected color value will be referred to as the coded color value for this image. In one embodiment, the selected coded color value is as far away as possible from the color values for the opaque pixels of the first image in a three-dimensional (3D) color space. In practice, in a 3D space, such as a 3D color space, it is possible to calculate the distance between two points (in this case, two color values). Therefore, it is possible to select a color value that is as far away as possible from the average of the used color values. At step 53, a second image of the same size is generated. The second image is encoded according to a color format that encodes chrominance on two components, encodes luminance on one component, and has no transparency component. In a variation of step 53, the first image is converted into the second image (i.e., the color format of the first image is modified to obey the constraints of the color format of the second image). At step 54, a block of the first image is selected to become a code block. A block is a rectangular area of the image, such as 8×8 or 16×16 pixels. This block is selected because it is completely transparent in the first image, so the color of the pixel is not used. In one embodiment, only the corner block ( Figure 2 22 to 25 of them are tested. In fact, they are the blocks most likely to be fully transparent. If no fully transparent block is detected, then the given block (e.g. Figure 2Block 22 of the first image is selected as a code block. In another embodiment, a row or column of completely transparent blocks is added so that the first corner (block 22) is completely transparent. At step 55, each pixel of the second image is filled with a color value determined by adding the color value of the corresponding pixel of the first image to the transparency. According to the present principles, for a pixel of the first image, if the pixel is opaque (i.e., the transparency component of the pixel is set to 0, and therefore, it is the used pixel), the color value of the pixel from the first image is copied to the corresponding pixel of the second image. If the transparency component of the first image pixel is greater than 0, the 2D chrominance component of the corresponding pixel of the second image is set to the code color value, and the luminance component of the pixel is set to the transparency value of the pixel of the first image. Because the code block is completely transparent, it is completely filled with the code color. The second image is encoded in the file or in the stream as an image using a 3D color format without a transparency component. In one variant, metadata is encoded in the file or in the stream. This metadata may include information indicating the code color value or the location of the code block.
[0028] Figure 6 A method 60 for rendering an image with transparency from an image in a format that does not include a transparency component is illustrated. At step 61, a first image encoded in a 3D color format without a transparency component is obtained. The 3D color format encodes chrominance in two components and luminance in a third component. For example, the first image can be obtained from a file or a stream over a network. At step 62, the first image is analyzed to retrieve a block completely filled with a unique code color value having a given chrominance value and luminance set to 0. Each pixel in the block stores the same code color value. In one variant, the location of the code block or code color to be searched for is indicated in metadata. At step 63, the first image is rendered in a portion of a second image. The second image has at least the same dimensions as the first image. In one variant, the first image is resized to fit within the portion of the second image before rendering. The pixel at the top corner of the first image corresponds to the pixel at the top corner of the portion of the second image. The second image can be a background image. At step 63, for each pixel of the first image, if the pixel's chrominance equals the code color value, the pixel is rendered as a transparent pixel in the corresponding pixel of the second image. If the brightness of a pixel of the first image indicates that it is fully transparent, it is simply not rendered. If the brightness indicates that it is partially transparent, a default tint (e.g., black, white, or gray) is rendered (e.g., rendered as a shadow) at the transparency level indicated by the brightness and superimposed on the corresponding pixel of the second image. When the chroma of the pixel is different from the code color value, the pixel of the first image is superimposed on the corresponding pixel of the second image.
[0029] Figure 3 An example architecture of a device 30 is shown, which may be configured to implement Figure 5 and Figure 6 The encoder and / or decoder may implement this architecture. Alternatively, Figure 1 Each circuit 11, 12 or 13 may be according to Figure 3 The devices of the architecture are linked together, for example via their bus 31 and / or via the I / O interface 36.
[0030] The device 30 comprises the following elements linked together by a data and address bus 31: a microprocessor 32 (or CPU), which is, for example, a DSP (or digital signal processor); ROM (or read-only memory) 33; RAM (or random access memory) 34; Storage interface 35; I / O interface 36 for receiving data to be transmitted from an application; and A power source, such as a battery.
[0031] According to one example, the power supply is external to the device. In each memory mentioned, the term "register" as used in the specification can correspond to an area of small capacity (a few bits) or a very large area (e.g., an entire program or a large amount of received or decoded data). ROM 33 includes at least programs and parameters. ROM 33 can store algorithms and instructions to perform the technology according to the present principles. When turned on, CPU 32 uploads the program to RAM and executes the corresponding instructions.
[0032] The RAM 34 includes in registers the program executed by the CPU 32 and uploaded after the device 30 is turned on, input data in registers, intermediate data of a method in different states in registers, and other variables in registers used to execute the method.
[0033] The embodiments described herein can be implemented in, for example, a method or process, a device, a computer program product, a data stream or a signal. Even if only discussed in the context of a single implementation (for example, discussed only as a method or device), the implementation of the features discussed can also be implemented in other forms (for example, programs). The device can be implemented in, for example, suitable hardware, software, and firmware. For example, the method can be implemented in a device such as, for example, a processor, which generally refers to a processing device, including, for example, a computer, a microprocessor, an integrated circuit, or a programmable logic device. The processor also includes a communication device, such as, for example, a computer, a cellular phone, a portable / personal digital assistant ("PDA"), and other devices that facilitate the communication of information between end users.
[0034] According to an example, the device 30 is configured to implement Figure 5 and Figure 6 describes a method, and belongs to a set that includes: mobile device; communications equipment; Gaming equipment; Tablet computer (or tablet computer); laptops; still picture cameras; Video cameras; Encoding chip; A server (eg, a broadcast server, a video-on-demand server, or a web server).
[0035] Figure 4 An example of an embodiment of the syntax of a stream when data is transmitted over a packet-based transport protocol is shown. Figure 4 An example structure 4 of a volumetric video stream is shown. The structure consists in organizing the containers of the stream in terms of independent elements of syntax. The structure may include a header part 41, which is a set of data common to each syntax element of the stream. For example, the header part includes some metadata about the syntax elements, which describes the nature and role of each of the syntax elements. The structure includes a payload, which includes an element 42 of syntax and at least one element 43 of syntax. The syntax element 42 includes data representing a first image or a first sequence of images. The images may have been compressed according to an image compression method or a video compression method. The syntax element 43 is part of the payload of the data stream and may include metadata about how the frame of the syntax element 42 was encoded, such as information indicating the location of code blocks or code color values.
[0036] The embodiments described herein can be implemented in, for example, a method or process, a device, a computer program product, a data stream or a signal. Even if only discussed in the context of a single implementation (e.g., discussed only as a method or device), the implementation of the features discussed can also be implemented in other forms (e.g., programs). The device can be implemented in, for example, suitable hardware, software, and firmware. For example, the method can be implemented in a device such as, for example, a processor, which generally refers to a processing device, including, for example, a computer, a microprocessor, an integrated circuit, or a programmable logic device. The processor also includes a communication device, such as, for example, a smart phone, a tablet computer, a computer, a mobile phone, a portable / personal digital assistant ("PDA"), and other devices that facilitate the communication of information between end users.
[0037] The embodiments of the various processes and features described herein can be implemented in a variety of different devices or applications, in particular, for example, devices or applications associated with data encoding, data decoding, view generation, texture processing, and other processing of images and related texture information and / or depth information. Examples of such devices include encoders, decoders, post-processors for processing outputs from decoders, pre-processors for providing inputs to encoders, video encoders, video decoders, video codecs, network servers, set-top boxes, laptops, personal computers, cellular phones, PDAs, and other communication devices. It should be clear that the device can be mobile and even installed in a mobile vehicle.
[0038] Additionally, the method may be implemented by instructions executed by a processor, and such instructions (and / or data values produced by the embodiments) may be stored on a processor-readable medium (such as, for example, an integrated circuit, a software carrier) or other storage device (such as, for example, a hard disk, a compact diskette ("CD"), an optical disk (such as, for example, a DVD, commonly known as a digital versatile disk or digital video disk), a random access memory ("RAM"), or a read-only memory ("ROM"). The instructions may form an application program tangibly embodied on a processor-readable medium. The instructions may be, for example, hardware, firmware, software, or a combination. The instructions may be found, for example, in an operating system, a stand-alone application, or a combination of the two. Thus, a processor may be characterized as both, for example, a device configured to perform a process and a device that includes a processor-readable medium (such as a storage device) having instructions for performing the process. Furthermore, the processor-readable medium may store data values produced by the embodiments in addition to or in lieu of instructions.
[0039] It will be apparent to those skilled in the art that embodiments may generate a variety of signals that are formatted to carry information that can, for example, be stored or transmitted. The information may include, for example, instructions for performing a method, or data generated by one of the described embodiments. For example, a signal may be formatted to carry as data the rules for writing or reading the grammar of the embodiment, or the actual grammar values written by the embodiment. For example, such a signal may be formatted as an electromagnetic wave (e.g., using the radio frequency portion of the spectrum) or a baseband signal. The formatting may include, for example, encoding a data stream and modulating a carrier with the encoded data stream. The information carried by the signal may be, for example, analog or digital information. As is well known, signals may be transmitted over a variety of different wired or wireless links. The signal may be stored on a processor-readable medium.
[0040] Many embodiments have been described. However, it will be understood that various modifications may be made. For example, elements of different embodiments may be combined, supplemented, modified, or removed to produce other embodiments. Furthermore, it will be understood by those skilled in the art that other structures and processes may replace those disclosed, and that the resulting embodiments may perform at least substantially the same (one or more) functions in at least substantially the same (one or more) manners to achieve at least substantially the same (one or more) results as the disclosed embodiments. Therefore, the present application contemplates these and other embodiments.
Claims
1. A method comprising: Obtaining a first image using a color format including a transparency component; selecting a code color value that is not used in the first image; generating a second image using a color format that encodes chrominance on two components and luma on one component; Detecting a code block in the first image, where the code block is a completely transparent block; for each pixel of the first image, when the pixel is transparent, filling the corresponding pixel of the second image with a chroma corresponding to the code color value and a luminance corresponding to the transparency component of the pixel; and when the pixel is opaque, filling the corresponding pixel of the second image with the color value of the pixel; as well as A second picture in the data stream is encoded.
2. The method according to claim 1, wherein Only the four corner blocks of the first image are tested to detect the code blocks.
3. The method according to claim 1 or 2, wherein The code color values are chosen to be as far away as possible from the used color values.
4. The method according to any one of claims 1 to 3, wherein: The second image is the first image converted to use a color format without a transparency component.
5. The method according to any one of claims 1 to 4, wherein: The data stream includes metadata indicating the location of the code block and / or the code color value.
6. The method according to one of claims 1 to 5, first comprising adding a fully transparent block row or a fully transparent block column to the first image, the code blocks being corner blocks of the added block row or the added block column.
7. A device comprising a memory associated with a processor, the processor being configured to: Obtaining a first image using a color format including a transparency component; selecting a code color value that is not used in the first image; generating a second image using a color format that encodes chrominance on two components and luma on one component; Detecting a code block in the first image, where the code block is a completely transparent block; for each pixel of the first image, when the pixel is transparent, filling the corresponding pixel of the second image with a chroma corresponding to the code color value and a luminance corresponding to the transparency component of the pixel; and when the pixel is opaque, filling the corresponding pixel of the second image with the color value of the pixel; as well as A second picture in the data stream is encoded.
8. The apparatus according to claim 7, wherein Only the four corner blocks of the first image are tested to detect the code blocks.
9. The apparatus according to claim 7 or 8, wherein The code color values are chosen to be as far away as possible from the used color values.
10. The apparatus according to any one of claims 7 to 9, wherein The second image is the first image converted to use a color format without a transparency component.
11. The device according to one of claims 7 to 10, wherein The data stream includes metadata indicating the location of the code block and / or the code color value.
12. The device according to one of claims 7 to 11, first comprising adding a fully transparent block row or a fully transparent block column to the first image, the code block being a corner block of the added block row or the added block column.
13. A method comprising: Obtaining a first image using a color format that encodes chrominance on two components and luma on one component; detecting a code block of the first image, the code block comprising a unique chrominance having a luminance set to zero; Obtaining a second image having the same size as or larger than the first image; as well as For each pixel of the first image, when the pixel stores the unique chroma of the code block, a default chroma is rendered on the corresponding pixel of the second image with a transparency relative to the brightness of the pixel; otherwise, the color value of the pixel is rendered on the corresponding pixel of the second image.
14. The method according to claim 13, wherein The location of the code block or the unique chrominance of the code block is indicated in metadata associated with the first image.
15. A device comprising a memory associated with a processor, the processor configured to: Obtaining a first image using a color format that encodes chrominance on two components and luma on one component; detecting a code block of the first image, the code block comprising a unique chrominance having a luminance set to zero; Obtaining a second image having the same size as or larger than the first image; as well as For each pixel of the first image, when the pixel stores the unique chroma of the code block, a default chroma is rendered on the corresponding pixel of the second image with a transparency relative to the brightness of the pixel; otherwise, the color value of the pixel is rendered on the corresponding pixel of the second image.
16. The apparatus according to claim 15, wherein The location of the code block or the unique chrominance of the code block is indicated in metadata associated with the first image.