Method for reducing quantization impact in color gauge modification process applied to

By operating in the linear domain during the color gamut conversion process of video content, the problem of difficulty in quantization error control is solved and the video quality is improved.

CN120019656APending Publication Date: 2025-05-16INTERDIGITAL CE PATENT HOLDINGS SAS
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202380072294.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2022-10-11
Filing Date
2023-09-28
Publication Date
2025-05-16

AI Technical Summary

Technical Problem

During the conversion of video content from the first color gamut to the second color gamut, quantization errors are difficult to control, resulting in a degradation of video quality.

Method used

During the conversion of the video content, the input image data is converted from the first color space to the second color space and operated in the linear domain to reduce quantization errors. The specific steps include: converting the input image data into picture data in the linear domain, maintaining the color gamut conversion in the linear domain, and finally converting it back to the output image data.

Benefits of technology

It effectively reduces the quantization error of video content during color gamut conversion and improves video quality.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120019656A_ABST
    Figure CN120019656A_ABST
Patent Text Reader

Abstract

A method includes: converting input picture data in a first color space into first picture data in a second color space, the input picture data and the first picture data being in a first color gamut and corresponding to a first non-linear domain; converting the first picture data in a linear domain to obtain second picture data in a second color space; converting the second picture data to a second color gamut while remaining in a linear domain to obtain third picture data in a second color space; converting the third picture data into fourth picture data corresponding to a second nonlinear domain in a second color space; and converting the fourth picture data into output picture data in the first color space; applying quantization to the output picture data to obtain quantized picture data; wherein the method further comprises modifying a component of a sample of the quantized picture data according to a comparison of a component of a corresponding sample of the second picture data to a value.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] At least one of the present embodiments relates generally to the field of video production, and more particularly to a method, apparatus, and system for reducing quantization effects in conversion of video content from a first color gamut to a second color gamut. Background Art

[0002] In a typical video system, many different video devices are connected to each other to exchange video data. However, these devices may be designed to use different formats. Therefore, format conversion is required to ensure interoperability between various devices.

[0003] For example, the recent emergence of HDR (High Dynamic Range) systems that provide video content with a greater dynamic range than standard dynamic range video (SDR video) content has created a need for such format conversion. In fact, in the next few years, HDR systems will coexist with SDR systems, which means that there is a need to convert HDR video content in SDR format and vice versa.

[0004] SDR video content typically uses 8-bit or 10-bit YUV data and the BT.709 optoelectronic transfer function (OETF) and BT.709 color gamut, as described in Recommendation BT.709 (Recommendation ITU-R BT.709-6, Parameter values ​​for the HDTV standard for production and international exchange of projects, June 2015).

[0005] HDR video content typically uses 10-bit or 12-bit YUV data and PQ or HLG optoelectronic transfer functions and the BT.2020 color space, as described in Recommendation BT.2100 (Recommendation ITU-R BT.2100-2, Picture parameter values ​​for high dynamic range television for production and international exchange of projects, July 2018).

[0006] In the digital domain, the video data exchanged is usually quantized data, at least by introducing quantization through the binary representation of the original data. The color gamut conversion scheme consists in converting the color gamut into the real domain (i.e., the set of real numbers). Several operations are performed in the real domain (or at least with higher precision than the precision of the quantized data (i.e., using the floating point domain)). For example, converting "8"-bit or "10"-bit YUV video content utilizing BT.709 OETF and the BT.709 color domain to "10"-bit or "12"-bit YUV video content utilizing PQ or HLG OETF and the BT.2020 color domain (or vice versa) includes conversion from one quantization domain (e.g., "8" or "10"-bit domain) to the real domain and then conversion from the real domain to another quantization domain (e.g., "10" or "12"-bit domain).

[0007] As is well known, quantization introduces errors. Some operations performed during color gamut conversion may amplify these errors. These amplified errors may be significant, especially when converting the converted video content back to its original color gamut.

[0008] It is desirable to overcome the above-mentioned disadvantages.

[0009] It is particularly desirable to propose a method of limiting the impact of quantization in the conversion of video content from a first color gamut to a second color gamut. Summary of the invention

[0010] In a first aspect, one or more of the present embodiments provide a method, the method comprising:

[0011] converting input picture data in a first color space into first picture data in a second color space, the input picture data and the first picture data being in a first color domain and corresponding to a first non-linear domain;

[0012] converting the first picture data in a linear domain to obtain second picture data in the second color space;

[0013] converting the second picture data to a second color domain while remaining in the linear domain to obtain third picture data in the second color space;

[0014] converting the third picture data into fourth picture data corresponding to a second non-linear domain in the second color space; and

[0015] converting the fourth picture data into output picture data in the first color space;

[0016] applying quantization to the output picture data to obtain quantized picture data;

[0017] The method further comprises:

[0018] Components of samples of the quantized picture data are modified based on a comparison of components of corresponding samples of the second picture data with a value.

[0019] In an embodiment, the first color space is a YUV color space and the second color space is an RGB color space, and the modification includes: modifying component U of the sample of the quantized picture data in response to component G of the corresponding sample of the second picture data being lower than a first value and component B of the corresponding sample of the second picture data being higher than a second value.

[0020] In an embodiment, modifying said component U comprises adding to said component U a first offset value.

[0021] In an embodiment, the modifying comprises modifying component V of a sample of the quantized picture data in response to component G of the corresponding sample of the second picture data being below the first value and component R of the corresponding sample of the second picture data being above a third value.

[0022] In an embodiment, modifying said component V comprises adding to said component V a second offset value.

[0023] In a second aspect, one or more of the present embodiments provide an apparatus comprising an electronic circuit system configured to:

[0024] converting input picture data in a first color space into first picture data in a second color space, the input picture data and the first picture data being in a first color domain and corresponding to a first non-linear domain;

[0025] converting the first picture data in a linear domain to obtain second picture data in the second color space;

[0026] converting the second picture data to a second color domain while remaining in the linear domain to obtain third picture data in the second color space;

[0027] converting the third picture data into fourth picture data corresponding to a second non-linear domain in the second color space; and

[0028] converting the fourth picture data into output picture data in the first color space;

[0029] applying quantization to the output picture data to obtain quantized picture data;

[0030] The electronic circuit system is further configured to:

[0031] Components of samples of the quantized picture data are modified based on a comparison of components of corresponding samples of the second picture data with a value.

[0032] In an embodiment, the first color space is a YUV color space and the second color space is an RGB color space, and the modification includes: modifying component U of the sample of the quantized picture data in response to component G of the corresponding sample of the second picture data being lower than a first value and component B of the corresponding sample of the second picture data being higher than a second value.

[0033] In an embodiment, modifying said component U comprises adding to said component U a first offset value.

[0034] In an embodiment, the modifying comprises modifying component V of a sample of the quantized picture data in response to component G of the corresponding sample of the second picture data being below the first value and component R of the corresponding sample of the second picture data being above a third value.

[0035] In an embodiment, modifying said component V comprises adding to said component V a second offset value.

[0036] In a third aspect, one or more of the present embodiments provide a computer program comprising program code instructions for implementing the method according to the first aspect.

[0037] In a fourth aspect, one or more of the present embodiments provide a non-transitory information storage medium comprising program code instructions for implementing the method according to the first aspect. BRIEF DESCRIPTION OF THE DRAWINGS

[0038] Figure 1 schematically illustrates examples of contexts in which various embodiments may be implemented;

[0039] Figure 2A Schematically illustrates an example of a hardware architecture of a processing module capable of implementing various aspects and embodiments;

[0040] Figure 2B A block diagram showing an example of a first system in which various aspects and embodiments are implemented;

[0041] Figure 2C A block diagram showing an example of a second system in which various aspects and embodiments are implemented;

[0042] Figure 3 A comparison of BT.709 and BT.2020 color gamuts is shown;

[0043] Figure 4A Schematically illustrates the conversion of a YUV signal using a given transfer function and a given color gamut to a YUV signal using another transfer function and another color gamut;

[0044] Figure 4B A second example of converting a YUV signal with a given transfer function and a given color gamut into a YUV signal with another transfer function and another color gamut is schematically shown.

[0045] Figure 5 Schematically illustrating the conversion of a YUV BT.1886 / BT.709 signal to a YUV PQ / BT.2020 signal and back to a YUV BT.1886 / BT.709 signal with and without quantization;

[0046] Figure 6 Examples of conversion with and without quantization are shown;

[0047] Fig. 7A and Figure 7B The effect of the gamut conversion process on data affected by quantization error is shown numerically;

[0048] Figure 8 The linear to BT.1886 transfer function in the range [0..1023] is shown;

[0049] Fig. 9 The PQ to linear transfer function in the range [0..1023] is shown;

[0050] Fig. 10A , Fig. 10B , Fig.11A and Fig. 11B The modification of the quantized component U is shown numerically;

[0051] Fig. 12A , Fig. 12B , Fig.13A and Fig. 13B The modification of the quantized component V is shown numerically;

[0052] Fig.14 schematically illustrates an example of a method for reducing the effects of quantization in a color gamut modification process applied to video content; and

[0053] Fig.15 The effect of an example of a method for reducing the impact of quantization in a color gamut modification process applied to video content is shown numerically. DETAILED DESCRIPTION

[0054] Figure 1 Figure 1 illustrates an example of a context in which various embodiments are implemented.

[0055] exist Figure 1 , a source device 10 (such as a camera or a streaming system providing video content) provides input video content to a color gamut conversion module 11. The source device 10 is, for example, an SDR camera that generates SDR content in a first format corresponding to "8"-bit YUV data using BT.709 OETF and BT.709 color gamut.

[0056] The color gamut conversion module 11 converts the input video content from a first format to a second format. The second format corresponds to "12" bit YUV data, for example using PQ or HLG OETF and BT.2020 color gamut. As already mentioned, the conversion applied in the color gamut conversion module 11 includes operations performed in the real domain, which means converting from the "8" bit domain (quantized) to the real domain (non-quantized), followed by converting from the real domain to the "12" bit domain (quantized).

[0057] Once converted, the SDR video content in the second format is provided to the encoding system 12. The encoding system 12 includes, for example, an inverse tone mapping (ITM) module and a video encoder. The ITM module generates HDR video content in the second format based on the SDR video content in the second format. The HDR video content is then encoded into a bitstream by the video encoder using a video compression format such as AVC ((ISO / CEI 14496-10 / ITU-T H.264), HEVC (ISO / IEC 23008-2–MPEG-H Part 2, High Efficiency Video Coding / ITU-T H.265)), VVC (ISO / IEC 23090-3–MPEG-I, Versatile Video Coding / IU-TH.266), AV1, VP9, ​​EVC (ISO / CEI 23094-1 Basic Video Coding) or any other video compression format suitable for encoding HDR video content. The output of the encoding system 12 is a bitstream representing the encoded HDR video content. It should be noted that the encoding process applied by the video encoder includes quantization.

[0058] The encoding system 12 then provides the bitstream to the decoding system 13, for example via a network. The decoding system 13 includes a video decoder adapted to decode the bitstream generated by the encoding system 12. The decoding system 13 provides a decoded version of the HDR video content to the receiving device 14. Thus, the receiving device 14 receives the HDR video content in the second format. The receiving device 14 is, for example, a display device capable of displaying the video content in the second format.

[0059] The decoding system 13 also provides the HDR content in the second format to the inverse color gamut conversion module 15 .

[0060] The inverse color gamut conversion module 15 converts the HDR content in the second format into SDR content in the first format. As in the color gamut conversion module 11, the conversion applied in the inverse color gamut conversion module 15 includes operations performed in the real domain, which means converting from "12" bit YUV data using PQ or HLG OETF and BT.2020 color gamut domain (quantization) to the real domain (non-quantization), and then converting from the real domain to "8" bit YUV data using BT.709OETF and BT.709 color gamut domain (quantization). Various quantizations (in the color gamut conversion module 11, in the video encoder of the encoding system 12, and in the inverse color gamut conversion module 15) mean that the output video content provided by the inverse color gamut conversion module 15 is a representation of the input video content with errors.

[0061] The SDR video content in the first format is provided to the receiving device 16. The receiving device 16 is, for example, a display device capable of displaying the video content in the first format.

[0062] The above examples use the BT.2020 and BT.709 color gamuts. BT.2020 is a wider color gamut than BT.709, i.e., it is able to encode more saturated colors, such as Figure 3 shown.

[0063] Figure 3 A comparison of BT.709 and BT.2020 color gamuts is shown.

[0064] Figure 2A An example of the hardware architecture of the processing module 20 included at least in the color gamut conversion module 11 or in the inverse color gamut conversion module 15 is schematically shown.

[0065] The processing module 20 includes the following items connected by a communication bus 205: a processor or CPU (central processing unit) 200, which includes, as non-limiting examples, one or more microprocessors, general-purpose computers, special-purpose computers, and processors based on multi-core architectures; a random access memory (RAM) 201; a read-only memory (ROM) 202; a storage unit 203, which may include non-volatile memory and / or volatile memory, including but not limited to electrically erasable programmable read-only memory (EEPROM), read-only memory (ROM), programmable read-only memory (PROM), random access memory (RAM), dynamic random access memory (DRAM), static random access memory (SRAM), flash memory, magnetic disk drive and / or optical disk drive, or storage medium reader, such as SD (Secure Digital) card reader and / or hard disk drive (HDD) and / or network accessible storage device; at least one communication interface 204 for exchanging data with other modules, devices, systems or equipment. The communication interface 204 may include but is not limited to a transceiver configured to communicate with the communication network 21 ( Figure 2A The communication interface 204 may include but is not limited to a modem or a network card.

[0066] For example, communication interface 204 enables processing module 20 to receive SDR video content in a first format and output SDR video content in a second format.

[0067] The processor 200 is capable of executing instructions loaded into the RAM 201 from the ROM 202, an external memory (not shown), a storage medium, or a communication network. When the processing module 20 is powered on, the processor 200 is capable of reading instructions from the RAM 201 and executing them. These instructions form a computer program that causes, for example, the processes to be implemented by the processor 200, including the instructions for Figure 4A , Figure 4B and Fig.14 Describe the process.

[0068] All or part of the algorithms and steps of these processes can be implemented in software form by executing a set of instructions by a programmable machine such as a DSP (digital signal processor) or a microcontroller, or in hardware form by a machine or dedicated component such as an FPGA (field programmable gate array) or an ASIC (application-specific integrated circuit). Therefore, the processor 200, DSP, microcontroller, FPGA and ASIC are suitable for implementing the Figure 4A , Figure 4B and Fig.14 An example of an electronic circuit system for the described process.

[0069] Figure 2C A block diagram of an example of an inverse gamut conversion module 15 in which various aspects and embodiments are implemented is shown.

[0070] The inverse color gamut conversion module 15 can be embodied as a device including various components or modules, and is configured to receive decoded video content in a first color gamut (or second format) and generate video content in a second color gamut (or first format). Examples of such systems include, but are not limited to, various electronic systems, such as personal computers, laptop computers, smart phones, tablet computers, or set-top boxes. The components of the inverse color gamut conversion module 15 can be embodied in a single integrated circuit (IC), multiple ICs, and / or discrete components, either individually or in combination. For example, in at least one embodiment, the inverse color gamut conversion module 15 includes a processing module 20 that implements conversion from a first format to a second format. In various embodiments, the inverse color gamut conversion module 15 is communicatively coupled to one or more other systems or other electronic devices via, for example, a communication bus or through dedicated input and / or output ports.

[0071] Input to the processing module 20 may be provided through various input modules, as indicated in box 22. Such input modules include, but are not limited to, (i) a radio frequency (RF) module that receives an RF signal transmitted over the air, for example, by a broadcaster, (ii) a component (COMP) input module (or a group of COMP input modules), (iii) a universal serial bus (USB) input module, and / or (iv) a high-definition multimedia interface (HDMI) input module. Figure 2C Other examples not shown include composite video.

[0072] In various embodiments, the input module of block 22 has associated corresponding input processing elements known in the art. For example, the RF module may be associated with elements suitable for the following operations: (i) selecting a desired frequency (also referred to as selecting a signal, or band limiting a signal to a frequency band), (ii) down-converting the selected signal, (iii) again band-limiting to a narrower frequency band to select a signal frequency band that may be referred to as a channel in some embodiments, (iv) demodulating the down-converted and band-limited signal, (v) performing error correction, and (vi) demultiplexing to select a desired packet stream. The RF module of various embodiments includes one or more elements that perform these functions, such as a frequency selector, a signal selector, a frequency band limiter, a channel selector, a filter, a down-converter, a demodulator, an error corrector, and a demultiplexer. The RF portion may include a tuner that performs various of these functions, including, for example, down-converting a received signal to a lower frequency (e.g., an intermediate frequency or near baseband frequency) or baseband. Various embodiments rearrange the order of the above (and other) elements, remove some of these elements and / or add other elements that perform similar or different functions. Adding elements can include inserting elements between existing elements, such as, for example, inserting an amplifier and an analog-to-digital converter. In various embodiments, the RF module includes an antenna.

[0073] Additionally, the USB and / or HDMI modules may include respective interface processors for connecting the inverse gamut conversion module 15 to other electronic devices via USB and / or HDMI connections. It should be appreciated that aspects of input processing (e.g., Reed-Solomon error correction) may be implemented, for example, within a separate input processing IC or within the processing module 20 as desired. Similarly, aspects of USB or HDMI interface processing may be implemented within a separate interface IC or within the processing module 20 as desired. The demodulated, error-corrected, and demultiplexed stream is provided to the processing module 20.

[0074] The various components of the inverse color gamut conversion module 15 can be arranged in an integrated housing. In the integrated housing, the various components can be interconnected and data can be transmitted between them using a suitable connection arrangement, such as an internal bus known in the art, including an inter-IC (I2C) bus, wiring, and a printed circuit board. For example, in the inverse color gamut conversion module 15, the processing module 20 is interconnected with other components of the inverse color gamut conversion module 15 via a bus 205.

[0075] The communication interface 204 of the processing module 20 allows the inverse gamut conversion module 15 to communicate over the communication network 21. The communication network 21 may be implemented, for example, within a wired medium and / or a wireless medium.

[0076] In various embodiments, data is streamed or otherwise provided to the inverse gamut conversion module 15 using a wireless network, such as a Wi-Fi network, for example, IEEE 802.11 (IEEE refers to the Institute of Electrical and Electronics Engineers). The Wi-Fi signal of these embodiments is received through a communication network 21 and a communication interface 204 suitable for Wi-Fi communication. The communication network 21 of these embodiments is typically connected to an access point or router that provides access to external networks including the Internet to allow streaming applications and other top communications. Still other embodiments use the RF connection of the input block 22 to provide streaming data to the inverse gamut conversion module 15. As indicated above, for example, when the inverse gamut conversion module 15 is a smart phone or tablet, the various embodiments provide data in a non-streaming manner. Additionally, various embodiments use wireless networks other than Wi-Fi, such as cellular networks or Bluetooth networks.

[0077] The inverse color gamut conversion module 15 may provide the output signal to various output devices using the communication network 21 or the bus 205. For example, the inverse color gamut conversion module 15 may provide the video content in the first format to the receiving device 16.

[0078] The inverse color gamut conversion module 15 can provide output signals to various output devices, including a receiving device 16, a speaker 26, and other peripheral devices 27. The receiving device 16 can be a display device, including one or more of, for example, a touch screen display, an organic light emitting diode (OLED) display, a curved display, and / or a foldable display. The receiving device 16 can be used for a television, a tablet computer, a laptop computer, a smart phone (mobile phone), or other devices. The receiving device 16 can also be integrated with other components (for example, as in a smart phone or tablet computer), or be separate (for example, an external monitor of a laptop computer). The receiving device 16 is compatible with HDR video content in a second format. In various examples of embodiments, other peripheral devices 27 include one or more of a stand-alone digital video disc (or digital versatile disc) (DVR, for both terms), a disc player, a stereo system, and / or a lighting system. Various embodiments use one or more peripheral devices 27 that provide functions based on the output of the inverse color gamut conversion module 15. For example, the disc player performs the function of playing the output of the inverse color gamut conversion module 15.

[0079] In various embodiments, control signals are transmitted between the inverse gamut conversion module 15 and the receiving device 16, the speaker 26, or other peripheral devices 27 using signaling (such as AV.Link, , Consumer Electronics Control (CEC), or other communication protocols that enable device-to-device control with or without user intervention). The output device can be communicatively coupled to the inverse gamut conversion module 15 via a dedicated connection through a corresponding interface. Alternatively, the output device can be connected to the inverse gamut conversion module 15 using the communication network 21 via the communication interface 204. The receiving device 16 and the speaker 26 can be integrated into a single unit with other components of the inverse gamut conversion module 15 in an electronic device (e.g., such as a television). In various embodiments, the display interface includes a display driver, such as, for example, a timing controller (T Con) chip.

[0080] For example, if the RF input module 22 is part of a separate set-top box, the receiver 16 and speaker 26 may alternatively be separate from one or more of the other components. In various embodiments where the receiver 16 and speaker 26 are external components, the output signal may be provided via a dedicated output connection including, for example, an HDMI port, a USB port, or a COMP output.

[0081] Figure 2B A block diagram of an example of a color gamut conversion module 11 adapted to convert video content from a first format (ie, a first color gamut) to a second format (ie, a second color gamut) in which various aspects and embodiments are implemented is shown.

[0082] The color gamut conversion module 11 may be embodied as a device including the various components and modules described above, and configured to perform one or more aspects and embodiments described in this document.

[0083] Examples of such devices include, but are not limited to, various electronic devices, such as personal computers, laptop computers, cameras, smart phones, and servers. The elements or modules of the color gamut conversion module 11 can be embodied individually or in combination in a single integrated circuit (IC), multiple ICs, and / or discrete components. For example, in at least one embodiment, the color gamut conversion module 11 includes a processing module 20 that implements conversion from a first format to a second format. In various embodiments, the color gamut conversion module 11 is communicatively coupled to one or more other systems or other electronic devices via, for example, a communication bus or through dedicated input and / or output ports.

[0084] Input to the processing module 20 may be provided by various input modules, as already described with respect to Figure 2C Indicated in block 22 of the description.

[0085] The various components of the color gamut conversion module 11 can be arranged in an integrated housing. In the integrated housing, the various components can be interconnected and data can be transmitted between them using a suitable connection arrangement, such as an internal bus known in the art, including an inter-IC (I2C) bus, wiring, and a printed circuit board. For example, in the color gamut conversion module 11, the processing module 20 is interconnected with other components of the color gamut conversion module 11 through the bus 205.

[0086] The communication interface 204 of the processing module 20 allows the color gamut conversion module 11 to communicate over the communication network 21. The communication network 21 may be implemented, for example, within a wired medium and / or a wireless medium.

[0087] In various embodiments, data is streamed or otherwise provided to the gamut conversion module 11 using a wireless network, such as a Wi-Fi network, e.g., IEEE 802.11 (IEEE refers to the Institute of Electrical and Electronics Engineers). The Wi-Fi signal of these embodiments is received through a communication network 21 and a communication interface 204 adapted for Wi-Fi communications. The communication network 21 of these embodiments is typically connected to an access point or router that provides access to external networks, including the Internet, to allow streaming applications and other top communications. Still other embodiments use the RF connection of the input block 22 to provide streaming data to the system A. As indicated above, various embodiments provide data in a non-streaming manner.

[0088] When a figure is presented as a flow chart, it should be understood that it also provides a block diagram of the corresponding device. Similarly, when a figure is presented as a block diagram, it should be understood that it also provides a flow chart of the corresponding method / device.

[0089] The implementations and aspects described herein can be implemented in, for example, methods or processes, devices, software programs, data streams, or signals. Even if only discussed in the context of a single implementation (e.g., discussed only as a method), the implementation of the features discussed can also be implemented in other forms (e.g., devices or programs). The device can be implemented, for example, with appropriate hardware, software, and firmware. The method can be implemented in, 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, for example, such as a computer, a smart phone (cellular phone), a portable / personal digital assistant ("PDA"), a tablet computer, and other devices that facilitate information communication between end users.

[0090] Reference to "one embodiment" or "an embodiment" or "an implementation" or "implementation" and other variations thereof means that a particular feature, structure, characteristic, etc. described in connection with the embodiment is included in at least one embodiment. Thus, the appearances of the phrases "in one embodiment" or "in an embodiment" or "in one implementation" or "in an implementation" and any other variations appearing in various places throughout this application are not necessarily all referring to the same embodiment.

[0091] Additionally, the present application may refer to "determining" various information. Determining information may include, for example, estimating information, calculating information, predicting information, retrieving information from a memory, or obtaining information, for example, from another device, module, or user.

[0092] Furthermore, the present application may refer to "accessing" various information. Accessing information may include one or more of: for example, receiving information, retrieving information (e.g., from a memory), storing information, moving information, copying information, calculating information, determining information, predicting information, or estimating information.

[0093] Additionally, the present application may involve "receiving" various information. Like "accessing," receiving is intended to be a broad term. Receiving information may include one or more of: for example, accessing information or retrieving information (e.g., retrieving from a memory). Furthermore, "receiving" is often involved in one way or another during an operation, such as, for example, storing information, processing information, transmitting information, moving information, copying information, erasing information, calculating information, determining information, predicting information, or estimating information.

[0094] It should be understood that, for example, in the case of "A / B", "A and / or B", and "at least one of A and B", "one or more of A and B", the use of any of the following " / ", "and / or", and "at least one", "one or more" is intended to cover selecting only the first listed option (A), or selecting only the second listed option (B), or selecting both options (A and B). As a further example, in the case of "A, B, and / or C", and "at least one of A, B, and C", "one or more of A, B, and C", such wording is intended to cover selecting only the first listed option (A), or selecting only the second listed option (B), or selecting only the third listed option (C), or selecting only the first and second listed options (A and B), or selecting only the first and third listed options (A and C), or selecting only the second and third listed options (B and C), or selecting all three options (A and B and C). As will be apparent to those of ordinary skill in this and related arts, this can be extended to as many listed items as possible.

[0095] It is obvious to one of ordinary skill in the art that implementations or embodiments may generate a variety of signals that are formatted to carry information that can be stored or transmitted, for example. The information may include, for example, instructions for executing a method, or data generated by one of the described implementations or embodiments. For example, a signal may be formatted to carry video content in a first format or a second format of the described embodiment. Such a signal may be formatted as, for example, an electromagnetic wave (e.g., using a radio frequency portion of a spectrum) or a baseband signal. Formatting may include, for example, encoding the video content in a first format or a second format into a coded stream (or bit stream) and modulating a carrier with the coded stream. The information carried by the signal may be, for example, analog or digital information. As is well known, a signal may be transmitted over a variety of different wired or wireless links. The signal may be stored on a processor-readable medium.

[0096] Various embodiments may involve a bit stream. A bit stream includes, for example, any series or sequence of bits, and does not require, for example, transmitting, receiving or storing the bits.

[0097] Figure 4A A first example of converting a YUV signal with a given transfer function and a given color gamut into a YUV signal with another transfer function and another color gamut is schematically shown.

[0098] exist Figure 4A (and in the following Figure 4B Any transformation from the linear domain LD to the nonlinear domain NLDx is called OETF. Any transformation from the nonlinear domain NLDy to the linear domain is called EOTF (Electro-Optic Transfer Function).

[0099] about Figure 4AThe described conversion process is performed by the processing module 20 of the color gamut conversion module 11. In this example, the color gamut conversion module 11 receives input data in the form of YUV video content. The input data is in a first color gamut CG1 and corresponds to a non-linear domain NLD1. The color gamut conversion module 11 then generates output data in the form of YUV video content. The output data is in a second color gamut CG2 and corresponds to a non-linear domain NLD2.

[0100] In step 40, the processing module 20 converts the input YUV data Yf into RGB using a YUV to RGB matrix suitable for the color gamut CG1. t1c1 'Uf t1c1 'Vf t1c1 '(in the color gamut CG1 and corresponding to the nonlinear domain NLD1) converted to RGB data Rf t1c1 'Gf t1c1 'Bf t1c1 '(also in the color gamut CG1 and corresponding to the non-linear domain NLD1).

[0101] In step 41, the processing module 20 converts Rf to t1c1 'Gf t1c1 'Bf t1c1 'The data is converted to RGB data Rf in the color space CG1 but corresponding to the linear domain LD without transfer function lc1 Gf lc1 Bf lc1 .

[0102] In step 42, the processing module 20 converts the RGB data Rf to RGB using an RGB to RGB matrix operation that allows CG1 to CG2 color gamut conversion. lc1 Gf lc1 Bf lc1 Converted to RGB data Rf in color gamut CG2 while remaining in linear domain LD without transfer function lc2 Gf lc2 Bf lc2 .

[0103] In step 43, the processing module 20 converts the RGB data Rf to NLD2 using a non-linear converter that allows linear LD to NLD2 conversion. lc2 Gf lc2 Bf lc2 Converted to RGB data Rf in color gamut CG2 and corresponding to nonlinear domain NLD2 t2c2 'Gf t2c2 'Bf t2c2 '.

[0104] In step 44, the processing module 20 converts the RGB data Rf into YUV using an RGB to YUV matrix operation suitable for the color gamut CG2. t2c2 'Gf t2c2 'Bf t2c2 'Converted to YUV data Yf in color gamut CG2 and corresponding to nonlinear domain NLD2 t2c2 'Uf t2c2 'Vf t2c2 '.

[0105] Figure 4B A second example of converting a YUV signal with a given transfer function and a given color gamut into a YUV signal with another transfer function and another color gamut is schematically shown.

[0106] about Figure 4B The described conversion process is performed by the processing module 20 of the inverse color gamut conversion module 15. In this example, the inverse color gamut conversion module 15 receives input data in the form of YUV video content. The input data is in the second color gamut CG2 and corresponds to the non-linear domain NLD2. The inverse color gamut conversion module 15 then generates output data in the form of YUV video content. The output data is in the first color gamut CG1 and corresponds to the non-linear domain NLD1. Therefore, Figure 4B The conversion process is Figure 4A The reverse process of the process and allows Figure 4A The YUV data output by the process is used to regenerate YUV data in the color gamut CG1 and corresponding to the domain NLD1.

[0107] In step 45, the processing module 20 converts the input signal Yb into RGB using a YUV to RGB matrix operation suitable for the CG2 color gamut. t2c2 'Ub t2c2 'Vb t2c2 '(in the CG2 color domain and corresponding to the nonlinear domain NLD2) converted to RGB data Rb t2c2 'Gb t2c2 'Bb t2c2 '(also in the CG2 color domain and corresponds to the non-linear domain NLD2).

[0108] In step 46, the processing module 20 converts Rb using a nonlinear converter that allows NLD2 to linear LD conversion. t2c2 'Gb t2c2 'Bb t2c2 'The data is converted to RGB data Rb in the color space CG2 but corresponding to the linear domain and independent of the transfer function lc2 Gb lc2 Bb lc2 RGB.

[0109] In step 47, the processing module 20 converts the RGB data Rb into RGB using an RGB to RGB matrix operation that allows CG2 to CG1 color gamut conversion. lc2 Gb lc2 Bb lc2 Converted to RGB data Rb in the color gamut CG1 while remaining in the linear domain LD without transfer function lc1 Gb lc1 Bb lc1 .

[0110] In step 48, the processing module 20 converts the RGB data Rb into NLD1 using a non-linear converter that allows linear LD to NLD1 conversion. lc1 Gb lc1 Bb lc1 Converted into RGB data Rb in the color gamut CG1 and corresponding to the nonlinear domain NLD1 t1c1 'Gb t1c1 'Bb t1c1 '.

[0111] In step 49, the processing module 20 converts the RGB data Rb into YUV using an RGB to YUV matrix operation suitable for the color gamut CG1. t1c1 'Gb t1c1 'Bb t1c1 'Converted to YUV data Yb in color gamut CG1 and corresponding to nonlinear domain NLD1 t1c1 'Ub t1c1 'Vb t1c1 '.

[0112] generally, Figure 4A and Figure 4B The conversion is done in floating point form to obtain better accuracy, and at the end of the process, quantization is performed to convert the YUV floating point values ​​into YUV binary (integer) values. For example, this quantization can be performed as follows:

[0113] Vq = INT(V + 0.5) (1)

[0114] Where V is a floating point value, Vq is a quantized value, and INT() is a function that retains only integer values ​​of V.

[0115] Figure 5 The conversion of a YUV BT.1886 / BT.709 signal to a YUV PQ / BT.2020 signal and back to a YUV BT.1886 / BT.709 signal with and without quantization is schematically shown.

[0116] reserve Figure 4A and Figure 4B Symbols:

[0117] Step 41 uses BT.1886EOTF;

[0118] Step 43 uses the PQ inverse EOTF;

[0119] CG1 is the BT.709 color space;

[0120] Step 46 uses the PQ EOTF;

[0121] Step 48 uses BT.1886 inverse EOTF;

[0122] CG2 is the BT.2020 color space.

[0123] In this case, the input 10-bit YUV video content in the BT.1886 non-linear domain and the BT.709 color domain (referred to as YUV BT.1886 / BT.709 video content) is converted to the output 10-bit YUV video content in the PQ non-linear domain and the BTC.2020 color domain (referred to as YUV PQ / BT.2020 video content), but the effective color domain is limited to BT.709. Then, the output YUVPQ / BT.2020 video content is converted back to 10-bit YUV video content representing the input YUV BT.1886 / BT.709 video content in the BT.709 color domain and the BT.1886 non-linear domain.

[0124] As already about Figure 1 And also about Figure 4A , Figure 4B and Figure 5 As mentioned, the YUV video data output by the color gamut conversion module 11 (or the encoding system 12 and the decoding system 13) is quantized. Each quantization introduces errors. The errors introduced by the binarization of floating-point data are generally small. However, when the video content obtained by converting from the first format to the second format is converted back to the first format (for example, when the output YUV PQ / BT.2020 video content is converted back to 10-bit YUV video content in the BT.709 color gamut and BT.1886 non-linear domain), these small errors may produce large errors.

[0125] Figure 5 In the top row Figure 4A The process is then shown in the middle and bottom rows. Figure 4B The bottom row Figure 4B The process of the bottom line Figure 4B The processes in the bottom row differ in that the inputs to the processes in the bottom row are quantized versions of the outputs of the processes in the top row, while the processes in the middle row directly receive the outputs of the processes in the top row.

[0126] The process of the top row may be performed, for example, by the processing module 20 of the color gamut conversion module 11 .

[0127] The process of the bottom row may be performed, for example, by the processing module 20 of the inverse color gamut conversion module 15 .

[0128] The process in the middle row is purely illustrative and hypothetical, because in real situations, Figure 4B The process never receives non-quantized data. Figure 5 In the example of , it is considered that the process is performed by the processing module 20.

[0129] exist Figure 5 In the example of , the input video content Vin is 10-bit YUV BT.1886 / BT.709 video content in a limited range (Y value is in the range [64 to 940], and UV value is in the range [64 to 960]).

[0130] In step 40, the processing module 20 converts the input data Yf into RGB using the following YUV to RGB matrix operation M1 t1c1 'Uf t1c1 'Vf t1c1 ' (simply labeled Y, U, and V in the following matrix operations) into RGB data Rf t1c1 'Gf t1c1 'Bf t1c1 ' (labeled simply as R, G, and B in the following matrix operations):

[0131]

[0132] The output is RGB BT.1886 / BT.709 video content in full range (RGB values ​​in the range [0..1023]) and floating point format.

[0133] In step 41, the processing module 20 uses BT.1886EOTF TF1 to convert Rf t1c1 'Gf t1c1 'Bf t1c1 'Data (labeled as RGBin in the following equation) is converted to Rf lc1 Gf lc1 Bf lc1 Data (labeled as RGBout in the equation below) of BT.1886EOTF TF1 is as follows:

[0134]

[0135] The output of step 41 is RGB data in full range (RGB values ​​are in the range [0..1023]) and floating point format in the BT.709 color space and linear domain.

[0136] In step 42, the processing module 20 uses the matrix M2 to convert the RGB data Rflc1 Gf lc1 Bf lc1 Convert BT.709 color gamut to BT.2020 color gamut to RGB data Rf lc2 Gf lc2 Bf lc2 :

[0137]

[0138] The output of step 42 is RGB data in full range (RGB values ​​are in the range [0..1023]) and floating point format in the BT.2020 color space and linear domain.

[0139] In step 43, the processing module 20 uses the linear to PQ transformation TF2 to transform the RGB data Rf lc2 Gf lc2 Bf lc2 Convert to RGB data Rf t2c2 'Gf t2c2 'Bf t2c2 The linear-to-PQ transform TF2 corresponds to the inverse EOTF function detailed in Table 4 of Recommendation TU-RBT.2100-2, Picture parameter values ​​for high dynamic range television for production and international exchange of projects, July 2018.

[0140] In step 44, the processing module 20 uses the RGB to YUV matrix operation M3 to convert the RGB data Rf t2c2 'Gf t2c2 'Bf t2c2 'Convert to YUV data Yf t2c2 'Uf t2c2 'Vf t2c2 ':

[0141]

[0142] The output of step 44 is YUV PQ / BT.2020 video content Vforward in limited range (Y values ​​in the range [64-940], UV values ​​in the range [64-960]) and floating point format.

[0143] In step 45, the processing module 20 uses the YUV to RGB matrix operation M4 to convert the input data Yb t2c2 'Ub t2c2 'Vb t2c2 ' (simply labeled as Y, U, and V in the following equation) is converted to RGB data Rb t2c2 'Gb t2c2 'Bb t2c2 ' (labeled simply as R, G, and B in the following equation):

[0144]

[0145] The output is RGB PQ / BT.2020 video content in full range (RGB values ​​in the range [0..1023]) and floating point format.

[0146] In step 46, the processing module 20 uses the nonlinear transformation TF3 to transform the data Rb t2c2 'Gb t2c2 'Bb t2c2 'Data converted to data Rb lc2 Gb lc2 Bb lc2 The non-linear transform TF3 is the EOTF detailed in Table 4 of the document Recommendation TU-R BT.2100-2, Image parameter values ​​for production and international exchange of high dynamic range television, July 2018. The output of step 46 is RGB data in the BT.2020 colour gamut and in the linear domain, full range (RGB values ​​in the range [0..1023]) and in floating point format.

[0147] In step 47, the processing module 20 uses the RGB to RGB matrix M5 to convert the RGB data Rb lc2 Gb lc2 Bb lc2 Convert to RGB data Rb lc1 Gb lc1 Bb lc1 :

[0148]

[0149] The output of step 47 is RGB data in full range (RGB values ​​are in the range [0..1023]) in the BT.709 color space and linear domain and in floating point format.

[0150] In step 48, the processing module 20 uses a nonlinear transformation (ie, BT.1886 inverse EOTF) TF4 to transform the RGB data Rb lc1 Gb lc1 Bb lc1 (Simply labeled RGBin in the following equation) is converted to RGB data Rb t1c1 'Gb t1c1 'Bb t1c1 ' (labeled as RGBout in the following equation):

[0151]

[0152] The output of step 48 is RGB data in full range (RGB values ​​in the range [0..1023]) and floating point format in the BT.709 color gamut and BT.1886 non-linear domain.

[0153] In step 49, the processing module 20 uses the RGB to YUV matrix operation M6 to convert the RGB data Rb t1c1 'Gb t1c1 'Bb t1c1 'Convert to YUV data Yb t1c1 'Ub t1c1 'Vb t1c1 ':

[0154]

[0155] The output is YUV BT.1886 / BT.709 video content in limited range (Y values ​​in the range [64-940], UV values ​​in the range [64-960]) and floating point format.

[0156] Figure 5 A step 50 corresponding to quantization is included. The quantization is, for example, the quantization represented by the above equation (1). The output of step 50 represents the output of the color gamut conversion module 11.

[0157] exist Figure 5 middle, Figure 4B The process produces two different outputs:

[0158] ·when Figure 4B The input of the process is the video content Vforward, the video content Vout;

[0159] ·when Figure 4B The input to the process is the quantized version of the video content Vforward output by step 50, the video content Vqout.

[0160] Figure 6 An example of conversion with and without quantization is shown. The example numerically illustrates the effect of the gamut conversion process on data affected by quantization error. Figure 6 In Figure 5 The described process is applied to an input value Vin equal to (Y=195, U=693, V=725).

[0161] In this example, note that:

[0162] Without quantizing Vforward, the reverse conversion using floating point calculation outputs the same video content Vout as the video content Vin.

[0163] When quantization is applied to Vforward, the reverse conversion using floating point calculations outputs significantly different video content Vqout:

[0164] o Error on Y = 16.54;

[0165] o Error on U = -9.21;

[0166] o Error on V = -11.66.

[0167] Fig. 7A and Figure 7B The effect of the gamut conversion process on data affected by quantization error is shown numerically.

[0168] exist Fig. 7A In the table, five different values ​​of Vin were tested:

[0169] ·Vin1=(Y1, U1, V1)=(104,788,487);

[0170] ·Vin2=(Y2, U2, V2)=(189, 443, 812);

[0171] ·Vin3=(Y3, U3, V3)=(189, 636, 735);

[0172] ·Vin4=(Y4, U4, V4)=(195, 693, 725);

[0173] ·Vin5=(Y5, U5, V5)=(201, 762, 710).

[0174] The Input column indicates Figure 4A Column 40 (respectively 41, 42, 43, 44, 50, 45, 46, 47, 48, and 49) represents the output of step 40 (respectively 41, 42, 43, 44, 50, 45, 46, 47, 48, and 49). DiffY (respectively DiffU and DiffV) represents Figure 4A The input of the process Figure 4B The difference between the outputs of the processes. Fig. 7A In the example above, no quantization is applied, whereas in Figure 7B In the example of FIG. 5 , a quantization step 50 is applied.

[0175] If you can Figure 7B and Figure 7B As can be seen from the five examples in FIG, a small error introduced by quantization introduces a noticeable modification on the reconstructed video content Vqout, which is unacceptable in many applications. Therefore, it is necessary to find a solution to reduce or eliminate the error caused by quantization.

[0176] In YUV color representation, as described in Recommendation ITU-R BT.709-6, Parameter values ​​for the HDTV standard for production and international exchange of projects, June 2015:

[0177] The U component refers to the "blue difference" Cb component. In other words, the higher the U or Cb value, the "bluest" the color.

[0178] The V component refers to the "red difference" Cr component. In other words, the higher the V or Cr value, the "reddest" the color.

[0179] The quantization pairs are along the BT.709 boundaries (see Figure 3 ) and different colors at different brightness levels show that reconstruction errors due to quantization are most prevalent for the following colors: red, blue, magenta, red to magenta, and blue to magenta. Fig. 7A and Figure 7B Examples of such colors are shown (Vin2 corresponds to red, Vin1 corresponds to blue, Vin4 corresponds to magenta, Vin3 corresponds to red to magenta, and Vin5 corresponds to blue to magenta.) From these observations, it can be inferred that reconstruction errors due to quantization are most prevalent when the U and V components of Vin have high values.

[0180] from Fig. 7A and Figure 7B It can also be noted that in step 47 ( Fig. 7A ) and in the case of quantization step 47 ( Figure 7B )'s output values.

[0181] It can be noted that step 47 with quantization generates non-null values, whereas in step 47 without quantization, null values ​​are expected, especially on the green component G. These small errors are then emphasized as larger errors at the output of step 48, because the shape of the linear to BT.1886 transfer function TF4 is very steep at these very low values. In fact, as can be seen in Figure 8 As can be seen in Figure 1, at low levels, small differences in the input can produce large differences in the output because the curve is steep at low levels.

[0182] Therefore, avoiding these non-null values ​​at step 47 will limit this effect.

[0183] By observation Fig. 9 Given the shape of the TF3 transfer function (PQ to linear transfer function) in , it can be noted that:

[0184] At low input PQ values ​​(i.e. input PQ values ​​below "500"), the slope is very low, i.e. a given increase in the input PQ value results in a very low increase in the output linear value;

[0185] At high input PQ values ​​(ie, input PQ values ​​above "500"), the slope becomes steeper, ie, a given increase in the input PQ value results in a large to very large increase in the output linear value.

[0186] These observations are combined with the characteristics of conversions M4 (BT.2020YUV limited range to RGB full range conversion) and M5 (RGB BT.2020 to RGB BT.709 conversion) to Figure 4A The process of modifying the output of quantization step 50 when applied to Vin1. The result of modifying the output of steps 45 to 49 is Fig. 10B is shown in Fig. 10A The results of steps 45 to 49 without modification are compared.

[0187] It can be noted that:

[0188] If Ubqt2c2' (quantized U component of BT.2020YUV limited range signal) is increased by '1' (from 674 to 675), then:

[0189] o Gbqt2c2' (G component of RGB PQ / BT.2020 signal) is reduced (from "229.62" to "229.43" due to the characteristics of the G row of the BT.2020YUV to RGB matrix). Since the Gbqt2c2' value is low (below "500"), the reduction of Gbqlc2 (G component of RGB linear / BT.2020 signal) is very low (from "3.64" to "3.63" due to the characteristics of the PQ to linear transfer function)

[0190] o Bbqt2c2' (G component of RGB PQ / BT.2020 signal) increases (from "628.26" to "630.41" due to the characteristics of the B row of the BT.2020YUV to RGB matrix). Since Bbqt2c2' is relatively high (above "500"), the increase of Bbqlc2 (B component of RGB linear / BT.2020 signal) is relatively high (from "285.35" to "291.06" due to the characteristics of the PQ to linear transfer function)

[0191] Combining the very low decrease in Gbqlc2 (0.01) with the relatively high increase in Bbqlc2 (5.71) results in:

[0192] Rbqlc1 (R component of RGB linear / BT.709 signal) is reduced from "0.32" to "0.0" due to the characteristics of the R row of the RGB BT.2020 to RGBBT.709 matrix. It should be noted that if Rbqlc1 becomes negative, its value will be clipped to "0" in any implementation because the further transformation TF4 (linear to BT.1886 transfer function) only takes positive or null values. For Fig. 7A This helps limit the quantization error in the reconstructed YUV BT.1886 / BT.709 video output by step 49, i.e., for blue.

[0193] Gbqlc1 (G component of RGB linear / BT.709 signal) is reduced due to the characteristics of the G row of the RGB BT.2020 to RGBBT.709 matrix. In this case, since the Gbqlc1 original value is already "0.0", its value remains "0.0" because the further transformation TF4 (linear to BT.1886 transfer function) only takes positive or null values. For Fig. 7A The reduction of Gbqlc1 helps limit the quantization error in the reconstructed YUV BT.1886 / BT.709 video output by step 49 for Vin1, Vin3, Vin4 and Vin5, i.e., for blue, magenta, red to magenta and blue to magenta.

[0194] · Bbqlc1 (B component of RGB linear / BT.709 signal) increases from “318.61” to “324.99” due to the characteristics of the B row of the RGB BT.2020 to RGBBT.709 matrix.

[0195] A similar modification to the component Ubqt2c2′ output by the quantization step 50 for Vin2 (and accordingly Vin3, Vin4 and Vin5) is made in Fig. 11B is shown in Fig.11A The unmodified Figure 4B As can be seen, a small modification to Ubqt2c2' allows reducing the impact of quantization in the reconstructed YUV BT.1886 / BT.709 video output by step 49.

[0196] Similarly, in Fig. 12B , apply the changes to Vbqt2c2' and Fig. 12A The unmodified results were compared with those in .

[0197] If Vbqt2c2' (the V component of the quantized BT.2020YUV limited range signal) increases by 1 (from 613 to 614), then:

[0198] · Rbqt2c2' (R component of RGB PQ / BT.2020 signal) increases (from "611.48" to "613.16" due to the characteristics of the R row of the BT.2020YUV to RGB matrix). Since Rbqt2c2' is relatively high (above "500"), the increase of Rbqlc2 (R component of RGB linear / BT.2020 signal) is relatively high (from "244.29" to "248.14" due to the characteristics of the PQ to linear transfer function)

[0199] · Gbqt2c2' (the G component of the RGB PQ / BT.2020 signal) is reduced (from 390.58 to "389.92" due to the characteristics of the G row of the BT.2020YUV to RGB matrix). Since the Gbqt2c2' value is lower (lower than "500"), the reduction of Gbqlc2 (the G component of the RGB linear / BT.2020 signal) is lower (from "27.13" to "26.94" due to the characteristics of the PQ to linear transfer function)

[0200] Combining the relatively high increase in Rbqlc2 ("3.85") with the relatively low decrease in Gbqlc2 ("0.19") results in:

[0201] Gbqlc1 (G component of RGB linear / BT.709 signal) is reduced from "0.25" to "0.00" due to the characteristics of the G row of the RGB BT.2020 to RGBBT.709 matrix. It should be noted that if Gbqlc1 becomes negative, its value will be clipped to "0" in any implementation because the further transformation TF4 (linear to BT.1886 transfer function) only takes positive or null values. For Fig. 7A Vin2, Vin3, Vin4 and Vin5 of step 49, i.e., for red, magenta, red to magenta and blue to magenta, which helps to limit the quantization error in the reconstructed YUV BT.1886 / BT.709 video output by step 49.

[0202] Bbqlc1 (B component of RGB linear / BT.709 signal) is reduced due to the characteristics of the B row of the RGB BT.2020 to RGBBT.709 matrix. In this case, since the Bbqlc1 original value is already "0.0", its value remains "0.0" because the further transformation TF4 (linear to BT.1886 transfer function) only takes positive or null values. For Fig. 7A Vin2, i.e., for red, which helps to limit the quantization error in the reconstructed YUV BT.1886 / BT.709 video output by step 49.

[0203] · Rbqlc1 (R component of RGB linear / BT.709 signal) increases from “389.24” to “395.74” due to the characteristics of the R row of the RGB BT.2020 to RGBBT.709 matrix.

[0204] A similar modification to the component Vbqt2c2′ output by the quantization step 50 for Vin3 (and accordingly Vin4 and Vin5) is made in Fig. 13B is shown in Fig.13A The unmodified Figure 4B As can be seen, a small modification to Vbqt2c2' allows reducing the impact of quantization in the reconstructed YUV BT.1886 / BT.709 video output by step 49.

[0205] Therefore, the above observations are used to obtain a process that allows to reduce the errors caused by quantization. In an embodiment, the RGB linear / BT.709 components Rflc1, Gflc1 and Bflc1 output by step 41 are analyzed. Depending on their values, it is decided whether to increase the quantized values ​​Ubqt2c2' and / or Vbqt2c2' obtained from the quantization step 50 based on the following criteria:

[0206] For blue, magenta, red to magenta, and blue to magenta, that is, when the blue component Bflc1 value is relatively high, if the green component Gflc1 value is close to the null value, the quantization component Ubqt2c2 value is increased, for example, increased by "1".

[0207] For red, magenta, red to magenta and blue to magenta, that is, when the red component Rflc1 value is relatively high, if the green component Gflc1 value is close to the null value, the quantization component Vbqt2c2' value is increased, for example, by "1".

[0208] Fig.14 An example of a method for reducing the impact of quantization in a color gamut modification process applied to video content is schematically illustrated. Fig.14 The process is performed by the processing module 20 of the color gamut conversion module 11 in step 50bis after step 50, for example.

[0209] Fig.14 The method consists in modifying the components Ubqt2c2′ and / or Vbqt2c2′ as a function of a comparison of the components Rflc1, Gflc1 and / or Bflc1 with a value.

[0210] In step 1400 , the processing module 20 obtains the components Rflc1 , Gflc1 , and Bflc1 . In step 41 , the components Rflc1 , Gflc1 , and Bflc1 are calculated.

[0211] In step 1401 , the processing module 20 compares the value of the component Gflc1 with the first value G_th. If Gflc1 is lower than the first value G_th, the processing module 20 executes step 1402 .

[0212] During a step 1402 , the processing module 20 compares the component Bflc1 with a second value B_th.

[0213] If Bflc1 is greater than the second value B_th, the processing module 20 executes step 1403 .

[0214] During a step 1403 , the processing module 20 adds an offset value Off1 to the component Ubqt2c2 ′.

[0215] After step 1403 , or if Bflc1 is not greater than the first value B_th in step 1402 , the processing module 20 performs step 1404 .

[0216] During a step 1404 , the processing module 20 compares the component Rflc1 with a third value R_th.

[0217] If Rflc1 is greater than the third value R_th, the processing module 20 performs step 1405. During step 1405, the processing module 20 adds an offset value Off2 to the component Vbqt2c2'.

[0218] If Rflc1 is not greater than the third value R_th in step 1404 , or if Gflc1 is not less than G_th in step 1401 , the process ends in step 1406 for the current sample, and the processing module 20 is ready to process the next sample.

[0219] In an embodiment, R_th=B_th=10, G_th=0.01, and Off1=Off2=1.

[0220] In an embodiment, Off1 and Off2 are values ​​in the range [0..5].

[0221] In an embodiment, the offset values ​​Off1 and Off2 are different.

[0222] In an embodiment, in step 1403, instead of adding an offset to the component Ubqt2c2', the component Ubqt2c2' is weighted with a first weighting factor W1.

[0223] In an embodiment, in step 1405, instead of adding an offset to the component Vbqt2c2', the component Vbqt2c2' is weighted by a second weighting factor W2. For example, W1 = W2 = 1.01. It should be noted that in steps 1403 and 1405, only the integer part of the weighted result is retained.

[0224] In an embodiment, R_th, B_th and G_th depend on information extracted from the picture, such as:

[0225] The brightness of the current image, i.e., is the current image a dark image, a light image, or a balanced image with light, medium, and dark parts?

[0226] · The saturation of the current picture, that is, is the current picture a saturated picture or a desaturated picture? In this case, the input picture is converted from YUV to HSV representation. The histogram calculated on H gives the trend of the picture hue. Default values ​​are given to R_th, B_th and G_th. For example, the default values ​​are R_th=B_th=10, G_th=0.01. If the global picture hue is in the red-magenta region, the R_th and B_th values ​​are increased (e.g., R_th=B_th=11) and G_th is reduced compared to the default values ​​(e.g., R_th=B_th=11 and G_th=0.009).

[0227] The brightness of the current pixel, that is, is the current pixel a dark pixel, a bright pixel, or a medium-bright pixel?

[0228] The saturation of the current pixel, i.e., is the current pixel a saturated pixel or a desaturated pixel?

[0229] Fig.15 Results are shown for a method for reducing the effects of quantization in a color gamut modification process applied to video content. Fig.15 middle, Fig.14 The process is represented by step 50bis.

[0230] exist Fig.15 , R_th=B_th=10, G_th=0.01, and Off1=Off2=1. The following results are obtained for Vin1, Vin2, Vin3, Vin4, and Vin5:

[0231] Vin1:

[0232] The Y difference is now 0.78 compared to the initial 5.37;

[0233] The U difference is now 1.83 compared to the initial 4.03;

[0234] o The V differential is now 0.48 compared to the initial 15.31.

[0235] Vin2:

[0236] The Y difference is now 0.37 compared to the initial 19.25;

[0237] The U difference is now 0.11 compared to the initial 10.51;

[0238] o The V differential is now 1.59 compared to the initial 13.30.

[0239] Vin3:

[0240] The Y difference is now 0.60 compared to the initial 17.09;

[0241] The U difference is now 0.99 compared to the initial 9.83;

[0242] o The V differential is now 1.42 compared to the initial 11.44.

[0243] Vin4:

[0244] The Y difference is now 0.40 compared to the initial 16.54;

[0245] The U difference is now 1.85 compared to the initial 9.21;

[0246] o The V differential is now 0.94 compared to the initial 11.66.

[0247] Vin5:

[0248] The Y difference is now 0.39 compared to the initial 18.19;

[0249] The U difference is now 1.93 compared to the initial 10.57;

[0250] o The V differential is now 1.39 compared to the initial 12.20.

[0251] These results show that this approach limits the impact of quantization when exchanging video content over channels whose color gamut is different from the color gamut of the content to be exchanged.

[0252] This method also applies to:

[0253] Different color gamuts other than BT.709 and BT.2020. The only condition is that the color gamut of the forward-converted output (and the reverse-converted input) is larger than the color gamut of the forward-converted input (and the reverse-converted output);

[0254] Different transfer functions other than BT.1886 and PQ (if the linear to TF function TF4 has a very steep shape for lower values);

[0255] Different color spaces. In fact, Fig.14 The example of the method is applicable to linear R, G, B components defining a specific color volume within the RGB color cube. The specific volume can be defined in another color space, such as HSV, LAB or IPT (more perceptual), for example. This means that other first values, second values ​​and third values ​​can be defined for H, S, V or L, A, B or I, P, T components.

[0256] Many embodiments are described above. The features of these embodiments may be provided individually or in any combination. In addition, embodiments may include one or more of the following features, devices, or aspects, individually or in any combination, across various claim categories and types:

[0257] • A bitstream or signal comprising one or more of the described video content with a converted color gamut or variations thereof.

[0258] • Creating and / or transmitting and / or receiving and / or decoding a bitstream or signal comprising one or more of the described video content with a converted color gamut or variants thereof.

[0259] A server, camera, TV, set-top box, mobile phone, tablet, personal computer or other electronic device that performs at least one of the described embodiments.

[0260] A TV, set-top box, mobile phone, tablet computer, personal computer or other electronic device that performs at least one of the described embodiments and displays (eg, using a monitor, screen or other type of display) the resulting picture.

[0261] A TV, set-top box, mobile phone, tablet, personal computer, or other electronic device that tunes (e.g., using a tuner) a channel to receive a signal including encoded video content with a converted color gamut and performs at least one of the described embodiments.

[0262] • A TV, set-top box, mobile phone, tablet or other electronic device that receives over the air (eg, using an antenna) a signal including video content with the converted color gamut and performs at least one of the described embodiments.

[0263] A server, camera, cell phone, tablet, personal computer, or other electronic device that tunes (e.g., using a tuner) a channel to transmit a signal including video content having a converted color gamut and performs at least one of the described embodiments.

[0264] A server, camera, cell phone, tablet, personal computer, or other electronic device that transmits over the air (eg, using an antenna) a signal including video content having a converted color gamut and performs at least one of the described embodiments.

Claims

1. A method, comprising: converting (41) first picture data in a first color domain and corresponding to a first non-linear domain into a linear domain to obtain second picture data; converting (42) the second picture data to a second color domain to obtain third picture data; converting (43) the third picture data into fourth picture data corresponding to a second non-linear domain; as well as applying (50) quantization to the fourth picture data to obtain quantized picture data; The method further comprises: Components of samples of the quantized picture data are modified (1403, 1405) based on a comparison (1401, 1402, 1404) of components of corresponding samples of the second picture data with a value.

2. The method according to claim 1, wherein: The first picture data is obtained by converting input picture data from a first color space to a second color space (40), wherein the input picture data is in the first color domain and corresponds to the first non-linear domain; and before applying quantization, a conversion from the second color space to the first color space is applied to the fourth picture data.

3. The method according to claim 2, wherein: The first color space is a YUV color space, and the second color space is an RGB color space, and the modification includes: modifying component U of the sample of the quantized picture data in response to component G of the corresponding sample of the second picture data being lower than a first value and component B of the corresponding sample of the second picture data being higher than a second value.

4. The method according to claim 3, wherein: Modifying the component U comprises adding a first offset value to the component U.

5. The method according to claim 3 or 4, wherein: The modifying comprises modifying a component V of a sample of the quantized picture data in response to the component G of the corresponding sample of the second picture data being lower than the first value and a component R of the corresponding sample of the second picture data being higher than a third value.

6. The method according to claim 5, wherein: Modifying the component V includes adding a second offset value to the component V.

7. An apparatus comprising an electronic circuit system configured to: converting (41) first picture data in a first color domain and corresponding to a first non-linear domain into a linear domain to obtain second picture data; converting (42) the second picture data to a second color domain to obtain third picture data; converting (43) the third picture data into fourth picture data corresponding to a second non-linear domain; as well as applying (50) quantization to the fourth picture data to obtain quantized picture data; The method further comprises: Components of samples of the quantized picture data are modified (1403, 1405) based on a comparison (1401, 1402, 1404) of components of corresponding samples of the second picture data with a value.

8. The device according to claim 7, wherein: The first picture data is obtained by converting input picture data from a first color space to a second color space (40), wherein the input picture data is in the first color domain and corresponds to the first non-linear domain; and before applying quantization, a conversion from the second color space to the first color space is applied to the fourth picture data.

9. The device according to claim 8, wherein: The first color space is a YUV color space, and the second color space is an RGB color space, and the modification includes: modifying component U of the sample of the quantized picture data in response to component G of the corresponding sample of the second picture data being lower than a first value and component B of the corresponding sample of the second picture data being higher than a second value.

10. The device according to claim 9, wherein: Modifying the component U comprises adding a first offset value to the component U.

11. The apparatus according to claim 9 or 10, wherein the modification comprises: Component V of a sample of the quantized picture data is modified in response to component G of the corresponding sample of the second picture data being below the first value and component R of the corresponding sample of the second picture data being above a third value.

12. The device according to claim 11, wherein Modifying the component V includes adding a second offset value to the component V.

13. A computer program comprising program code instructions for implementing the method according to any preceding claim 1 to 6.

14. A non-transitory information storage medium storing program code instructions for implementing the method according to any preceding claim of claims 1 to 6.