Method and apparatus for encoding / decoding an image unit containing image data represented by a luminance channel and at least one chrominance channel
By determining and signaling the identity of luma and chroma coding trees, the method optimizes the splitting and encoding/decoding process for image units, addressing inefficiencies in existing standards and improving coding efficiency.
Patent Information
- Application Number
- JP2022106895
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2016-02-11
- Filing Date
- 2022-07-01
- Publication Date
- 2025-11-18
- Estimated Expiration
- 2037-02-03
AI Technical Summary
Existing video compression standards like H.265/HEVC incur additional signaling costs when separate coding trees are used for luma and chroma components, leading to inefficient compression of image units containing luminance and chrominance channels.
The method involves determining whether luma and chroma coding trees are identical and signaling this information, allowing for optimized splitting and encoding/decoding of chrominance units based on luma trees, thereby reducing unnecessary syntax and improving coding efficiency.
This approach reduces the additional syntax required for encoding chroma coding trees, enhancing the overall coding efficiency by optimizing the splitting strategy based on luma trees, thus minimizing bit rate and distortion.
Smart Images

Figure 0007772665000001 
Figure 0007772665000002 
Figure 0007772665000003
Abstract
Description
[Technical Field]
[0001] 1. Field The present principles generally relate to image / video encoding and decoding. [Background technology]
[0002] 2.Background This section is intended to introduce the reader to various aspects of art that may be related to various aspects of the present principles, as described and / or claimed below. This discussion is believed to be helpful in providing the reader with background information to facilitate a better understanding of the various aspects of the present principles. As such, it should be understood that these statements are to be read in this light, and not as admissions of prior art.
[0003] Hereinafter, image data includes one or several arrays of samples (pixel data) of a particular image / video format that define all information related to the pixel values of an image (or video), as well as all information that can be used, for example, by a display and / or any other device to visualize and / or decode the image (or video).
[0004] The image data includes at least one component, typically a luma (or luminance) component, in the form of a first array of samples, and at least one other component, typically a color component, possibly in the form of at least one other array of samples, or equivalently, the same image data may be represented by a set of arrays of color samples, such as a conventional three-color RGB representation.
[0005] The pixel data associated with a pixel is represented by a vector of C values, where C is the number of components. Each value in the vector is represented by a number of bits that defines the maximum dynamic range of the pixel value.
[0006] An image unit includes image data represented by a luminance channel and at least one chrominance channel. Typically, image data may be represented within the well-known YCbCr, YUV, or RGB color spaces, although the present principles are not limited to any particular color space. Thus, an image unit includes a luma unit that represents the luminance channel of the image unit and at least one chrominance unit that represents the chrominance channel of the image unit.
[0007] Non-limiting examples of an image unit are a coding unit or a transform unit as defined in HEVC or a block or a macroblock as defined in most of the MPEG standards. An image unit can be any square or rectangular portion of an image.
[0008] In some video compression standards, such as H.265 / HEVC (High Efficiency Video Coding (HEVC), Recommendation ITU-T H.265 | International Standard ISO / IEC 23008-2, 10 / 2014), the images of an image sequence (video) are divided into so-called coding tree units (CTUs), which typically have a size of 64x64 pixels, 128x128 pixels, or 256x256 pixels.
[0009] Each CTU is represented by a coding tree in the compressed domain, as shown in Figure 1. As shown, this can be a quadtree partitioning of the CTU, with each leaf called a coding unit (CU). A coding unit (CU) contains the main information for coding an image unit and can be further divided into prediction units (PUs) and transform units (TUs). A prediction unit (PU) contains information for predicting pixel values within an image unit, and a transform unit (TU) represents the pixels of the image unit to which a transform is applied, thus representing the remainder of the encoding process.
[0010] In the HEVC standard, two geometries coexist: prediction partitioning and transform partitioning, and two main cases occur within intra prediction: 1) The current transform unit (TU) and the prediction unit (PU) have the same size; 2) A prediction unit PU is composed of four transform units TU, and each transform unit TU can be divided.
[0011] In the second case, the luma and chroma channels (in the case of YUV video) follow the same partitioning (quadtree) (except for small blocks in 4:2:0 or 4:2:2 sampling where the chroma TUs cannot be split).
[0012] The prediction relies on previously decoded pixels from the same or other images, and the residual is transformed according to a quadtree of transform units (TUs). A PU may contain several smaller TUs that can be further divided into smaller TUs in a quadtree fashion. In this case, chroma TUs follow the quadtree of luma TUs. For small blocks, chroma TUs cannot be divided if they are not in 4:4:4 sampling.
[0013] Figure 2 shows an example of segmentation into TUs using a quadtree (residual quadtree (RQT)). The partitioning into TUs is signaled, and the maximum and minimum transform sizes are signaled in the slice header. For quadtree nodes between those limits, a sub-partition flag is coded. The same RQT is used for both the luma and chroma components of each CU.
[0014] In H.265 / HEVC, only one RQT is transmitted for both the luma and chroma components of each CU. If the coding tree of a TU is deep, this incurs the signaling cost of chroma units that can be advantageously replaced by coded coefficients.
[0015] Conversely, separate partitioning of chroma and luma components has been proposed in MediaTek Inc., “Block partitioning structure for next generation video coding”, ITU-T SG16, COM 16 - C 966 R3 - E, Geneva, October 2015), where two separate coding trees are defined per picture unit, one for luma and one for chroma. The coding trees may be quadtrees, binary trees, or ternary trees used to code picture units according to non-limiting examples.
[0016] This solution results in completely separate luma and chroma coding trees, respectively obtained by splitting the luma and chroma units associated with an image unit, but incurs additional signaling costs. Summary of the Invention
[0017] The problem solved by the present principles is to improve the coding efficiency of an image unit when separate coding trees are used to code the luma and chroma units associated with said image unit.
[0018] More generally, the problem to be solved is how to efficiently compress image units that contain image data represented by multiple channels.
[0019] 3. Overview The following presents a simplified summary of the present principles in order 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 that is presented below.
[0020] The present principles seek to remedy at least one of the drawbacks of the prior art in a method for encoding an image unit including image data represented by a luminance channel and at least one chrominance channel, the method comprising: obtaining a luma coding tree by splitting a luminance unit representing the luminance channel of said image unit; and obtaining a chrominance coding tree by splitting a chrominance unit representing at least one chrominance channel of said image unit. According to the present principles, obtaining said chroma coding tree comprises: determining whether said chroma coding tree and said luma coding tree are identical; and signaling information data indicating whether said chroma coding tree and said luma coding tree are identical; Includes.
[0021] According to another of their aspects, the present principles relate to a method for decoding an image unit comprising image data represented by a luminance channel and at least one chrominance channel, the method comprising: obtaining a luma coding tree by splitting a luminance unit representing the luminance channel of said image unit; and obtaining a chrominance tree by splitting a chrominance unit representing at least one chrominance channel of said image unit. According to the present principles, obtaining said chroma coding tree comprises: determining whether said chroma coding tree and said luma coding tree are identical; and signaling information data indicating whether said chroma coding tree and said luma coding tree are identical; Includes.
[0022] According to others of their aspects, the present principles relate to an apparatus including a processor configured to implement the above method, a signal having syntax elements related to image units containing picture data, a computer program product including program code instructions for performing the steps of the above method when executed on a computer, and a non-transitory storage medium carrying program code instructions for performing the steps of the above method when executed on a computing device.
[0023] The specific nature of the present principles, as well as other objects, advantages, features and applications, will become apparent from the following description of examples taken in conjunction with the accompanying drawings.
[0024] 4. Brief description of the drawings An example of this principle is shown in the figure. [Brief explanation of the drawings]
[0025] [Figure 1] 1 shows the overall video structure of the predicted partitioning and the transformed partitioning. [Figure 2] An example of segmentation into TUs using a quadtree is shown below. [Figure 3] 10 shows an example of splitting of luma coding trees and chroma coding trees according to the independentChromaTuFlag syntax element, in accordance with an example of the present principles; [Figure 4] 1 shows an example of the syntax of a transform tree according to an example of the present principles. [Figure 5] 1 shows an example of the syntax of a transform unit according to an example of the present principles. [Figure 6] 10 shows another example of splitting the luma coding tree and the chroma coding tree according to the independentChromaTuFlag syntax element, in accordance with an example of the present principles; [Figure 7] 1 shows an example of an architecture of a device according to an example of the present principles; [Figure 8] 1 shows two remote devices communicating over a communications network, according to an example of the present principles; [Figure 9] 1 shows the syntax of a signal according to an example of the present principles; DETAILED DESCRIPTION OF THE INVENTION
[0026] Similar or identical elements are designated with the same reference numerals.
[0027] 6. Explanation of examples of this principle The present principles are described more fully below with reference to the accompanying drawings, in which examples of the present principles are shown. However, the present principles can be embodied in many alternative forms and should not be construed as limited to the examples set forth herein. Accordingly, while the present principles are susceptible to various modifications and alternative forms, specific examples of the present principles are shown by way of example in the drawings and will be described in detail herein. However, it is to be understood that there is no intention to limit the present principles to the particular forms disclosed, but rather the disclosure encompasses all modifications, equivalents, and alternatives falling within the spirit and scope of the present principles as defined by the appended claims.
[0028] The terms used herein are for the purpose of describing particular examples only and are not intended to be limitations on the present principles. As used herein, the singular forms "a," "an," and "the" are intended to include the plural forms unless the context clearly dictates otherwise. It will be further understood that as used herein, the terms "comprises," "comprising," "includes," and / or "including" specify the presence of stated features, integers, steps, operations, elements, and / or components, but do not exclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and / or groups thereof. Furthermore, when an element is described as "responsive to" or "connected to" another element, the element may be directly responsive to or connected to the other element, or there may be intervening elements. In contrast, when an element is described as "directly responsive to" or "directly connected to" another element, there are no intervening elements. As used herein, the term "and / or" includes any and all combinations of one or more of the associated listed items and may be abbreviated as " / ".
[0029] Although terms such as "first," "second," etc. may be used herein to describe various elements, it should be understood that 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 could be referred to as a second element, and similarly, a second element could be referred to as a first element, without departing from the teachings of the present principles.
[0030] Although some of the figures include arrows on communication paths to indicate the primary direction of communication, it should be understood that communication may occur in the opposite direction to the illustrated arrows.
[0031] Some examples are described with reference to block diagrams and operational flow charts, in which each block represents a circuit element, module, or portion of code that includes one or more executable instructions for implementing a specified logical function. It should also be noted that in other implementations, the functions noted in the blocks may occur out of the order shown. For example, two blocks shown in succession may in fact be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending on the functionality involved.
[0032] References herein to "according to one example" or "in one example" mean that a particular feature, structure, or characteristic described in connection with that example may be included in at least one implementation of the present principles. The appearances of the phrases "according to one example" or "in one example" in various places in this specification do not necessarily all refer to the same example, nor are separate or alternative examples necessarily mutually exclusive of other examples.
[0033] Any reference numerals appearing in the claims are by way of illustration only and shall have no limiting effect on the scope of the claims.
[0034] Unless expressly stated, the examples and variations herein can be used in any combination or subcombination.
[0035] The present principles are described with respect to encoding / decoding image units of an image, but also extend to encoding / decoding image units of an image sequence (video), since each image unit of each image in the sequence is coded / decoded sequentially as described below.
[0036] The present principles relate to a method for encoding an image unit that includes image data represented by a luminance channel and at least one chrominance channel.
[0037] The method obtains a luma coding tree LUMAQ by splitting a luminance unit representing a luminance channel of the image unit, and obtains a chroma coding tree CHROQ by splitting a chrominance unit representing at least one chrominance channel of the image unit.
[0038] Obtaining said chroma coding tree CHROQ includes determining whether said chroma coding tree CHROQ and said luma coding tree LUMAQ are identical, and signaling information data INFO in a signal S indicating whether said chroma coding tree CHROQ and said luma coding tree LUMAQ are identical.
[0039] This method improves coding efficiency over the prior art because the additional syntax used to encode the chroma coding tree and the luma coding tree is limited compared to encoding the two coding trees separately.
[0040] According to one embodiment, the information data INFO is a flag equal to a first value if the chroma coding tree CHROQ and the luma coding tree LUMAQ are identical, and a flag equal to a second value otherwise.
[0041] According to one embodiment, if the information data INFO is equal to the aforementioned second value, the information data INFO further indicates that the chrominance unit is not split.
[0042] FIG. 3 shows an example of a luma coding tree and a chroma coding tree when the image unit is a residual transform unit (TU) defined in HEVC and the information data INFO is a flag indicated by independentChromaTuFlag.
[0043] When independentChromaTuFlag=0, the luma coding tree and the chroma coding tree are the same (lower part of FIG. 3), and when independentChromaTuFlag=1, the luma coding tree and the chroma coding tree are not the same (upper part of FIG. 3).
[0044] According to the modification, a flag called independentChromaTuFlag is coded as an additional syntax element contained within the "transform_tree" syntax element of the HEVC specification as shown in Figure 4 (HEVC, section 7.3.8.8 Transform tree syntax).
[0045] FIG. 5 shows an example of the syntax of a transform unit.
[0046] According to one embodiment shown in FIG. 3, when it is determined that the chroma coding tree and the luma coding tree are not identical, if the size of at least one leaf L of the chroma coding tree CHROQ is greater than a maximum size MS (e.g., MS is equal to the size of the image unit to be coded), the at least one leaf L is recursively split until the size of the leaf of the chroma coding tree CHROQ reaches the maximum size MS.
[0047] In FIG. 3, the leaf of the chroma coding tree CHROQ (top of FIG. 3) is not split because the size of the current leaf is equal to the maximum size (MS) of the TU size.
[0048] As a result, the size of the leaves of the chroma coding tree CHROQ is as large as possible (within the limits of the given maximum size MS).
[0049] The splitting strategy can be to optimally decide whether to keep the size of the current leaf of the chroma coding tree CHROQ as large as possible or to split it by rate / distortion optimization. As an example, for each image unit to be coded, coding is performed with independentChromaTuFlag=0 and independentChromaTuFlag=1, i.e., whether to split the chrominance channels according to the luma coding tree LUMAQ, and the distortion and bit rate are calculated for both situations, and the best rate / distortion compromise, i.e., the lowest rate / distortion J=D+lambda * A flag value that results in rateCost is kept, where D is the L2 norm between the source (original image unit) and the reconstructed block (decoded image unit), rateCost is the bit count of the bitstream fragment to be coded, and lambda is a coding parameter. This technique is well known and is used in the MPEG / ITU H.264 / AVC Joint Model, H.265 / HEVC reference software, and the Joint Exploration Model coding method "High Efficiency Video Coding (HEVC) Test Model 16 (HM 16) Encoder Description, JCTVC-R1002, Sapporo, Japan, 30 June - 7 July 2014".
[0050] According to one embodiment, the chroma coding tree and the luma coding tree are identical up to a given decomposition level, and at higher decomposition levels the splitting of the leaves of the chroma coding tree CHROQ is stopped.
[0051] According to one embodiment, for at least one decomposition level of the chroma coding tree CHROQ, information data INFO is signaled if said at least one decomposition level is split, said information data INFO indicating whether said at least one decomposition level of the chroma coding tree follows a split of the same level of the luma coding tree.
[0052] According to a variant, said information data INFO further indicates the stopping time of the splitting of the leaves of the chroma-coding tree CHROQ.
[0053] FIG. 6 shows an example of separate CU coding trees for each channel type or component, in accordance with an example of the present principles.
[0054] Here, for example, when the image unit is a residual transform unit (TU) defined in HEVC and the information data INFO is a flag indicated by independentChromaTuFlag, optimal luma coding trees and chroma coding trees are acquired.
[0055] After the optimal splitting, at the first decomposition level of a CU of a CTU, the chrominance unit associated with the CU is split into four subunits 1 to 4. At the second decomposition level, chroma subunits 1 to 3 are not further decomposed, and independentChromaTuFlag=1 is signaled for the chroma subunit 1. For subunits 2 and 3 (because the corresponding luma subunits are not split), independentChromaTuFlag is not transmitted. Chroma subunit 4 is further split into four other subunits 41 to 44, and independentChromaTuFlag=0 is signaled for the chroma subunit 4. Finally, subunits 41 to 44 are not further split, and independentChromaTuFlag=1 is signaled for the chroma subunit 41 (and independentChromaTuFlag is not transmitted for subunits 2 to 4).
[0056] This embodiment requires more syntax to be transmitted than the above embodiment, but allows determining the optimal size of the leaves of the chroma coding tree between the maximum size MS and the size of the leaves of the luma coding tree LUMAQ at the same decomposition level.
[0057] It should be noted that each of the embodiments and variants can be performed per chroma channel, i.e. a chroma coding tree is calculated per chrominance channel, after which information data INFO is signaled per chrominance channel.
[0058] The present principles further relate to a method for encoding an image, said image comprising at least one image unit that is encoded according to the above encoding method according to the present principles.
[0059] The present principles further relate to a method for decoding an image unit comprising image data represented by a luminance channel and at least one chrominance channel, the method comprising: obtaining a luma coding tree by splitting a luminance unit representing the luminance channel of said image unit; and obtaining a chrominance coding tree by splitting a chrominance unit representing at least one chrominance channel of said image unit.
[0060] Obtaining the chroma coding tree includes determining whether the chroma coding tree and the luma coding tree are identical, and the method further signals information data indicating whether the chroma coding tree and the luma coding tree are identical.
[0061] From the above description of the encoding method, and in particular from the description of FIGS. 1 to 6, various embodiments and modifications of the decoding method can be easily deduced.
[0062] For example, the decoding method includes obtaining information data INFO from a signal or a memory, the information data INFO indicating whether the chroma coding tree CHROQ and the luma coding tree LUMQ are identical. The information data INFO may be a flag that is equal to a first value if the chroma coding tree and the luma coding tree are identical, and is equal to a second value otherwise. If the information data INFO is equal to the second value (i.e., if the chroma coding tree and the luma coding tree are not identical), the information data INFO may also indicate that the chrominance unit is not split.
[0063] The present principles further relate to a method of decoding an image, said image comprising at least one image unit coded according to the above coding method according to the present principles.
[0064] In Figures 1-6, modules are functional units that may or may not be associated with distinct physical units. For example, these modules, or some of these modules, may be grouped together in a unique component or circuit, or may contribute to the functionality of software. Conversely, some modules may possibly consist of separate physical entities. An apparatus conforming to the present principles may be implemented using pure hardware, e.g., dedicated hardware such as ASIC, FPGA, or VLSI ("application-specific integrated circuit," "field programmable gate array," and "very large scale integrated circuit," respectively), from several integrated electronic components embedded in the device, or from a mixture of hardware and software components.
[0065] FIG. 7 depicts an example architecture of an apparatus 120 that may be configured to implement the methods described with respect to FIGS.
[0066] The device 120 comprises the following elements connected by a data and address bus 121: a microprocessor 122 (or CPU), for example a DSP (i.e., digital signal processor), - ROM (i.e. read-only memory) 123, RAM (i.e. random access memory) 124; an I / O interface 125 for receiving data for transmission from an application; and -Battery 126 Includes.
[0067] According to one example, the battery 126 is external to the device. In each of the mentioned memories, the term "register" as used herein may correspond to a small area (a few bits) or a very large area (e.g., the entire program or a large amount of received or decoded data). The ROM 123 contains at least programs and parameters. The ROM 123 may store algorithms and instructions for carrying out the techniques according to the present principles. When turned on, the CPU 122 uploads the program into the RAM and executes the corresponding instructions.
[0068] The RAM 124 contains in registers the program executed by the CPU 122 and uploaded after the device 120 is turned on, input data in registers, intermediate data in registers for various states of the method, and other variables in registers used in the execution of the method.
[0069] The implementations described herein may be implemented by, for example, a method or process, an apparatus, a software program, a data stream, or a signal. Even if only one type of implementation is discussed (e.g., only as a method or an apparatus), the implementation of the discussed features may also be implemented in other forms (e.g., a program). An apparatus may be implemented by, for example, appropriate hardware, software, and firmware. A method may be implemented by an apparatus, such as, for example, a processor, which generally refers to processing devices, including, for example, computers, microprocessors, integrated circuits, and programmable logic devices. Processors also include communication devices, such as, for example, computers, mobile phones, portable / personal digital assistants ("PDAs"), and other devices that facilitate communication of information between end users.
[0070] According to one example of an encoding or encoder, an image containing an image unit or an image unit to be encoded is obtained from an information source. For example, the information source may be: - local memory (123 or 124), such as video memory, RAM (i.e., random access memory), flash memory, ROM (i.e., read-only memory), hard disk, a storage interface (125), such as an interface to a mass storage, RAM, flash memory, ROM, optical disk, or magnetic support; a communication interface (125), such as a wired interface (e.g., a bus interface, a wide area network interface, a local area network interface) or a wireless interface (e.g., an IEEE 802.11 interface, a Bluetooth interface, etc.); - image capture circuitry (e.g., sensors such as CCD (i.e., charge-coupled device) or CMOS (i.e., complementary metal-oxide semiconductor)); belongs to the set containing
[0071] According to one example of a decoding or decoder, the decoded image unit or the decoded image containing the decoded image unit is transmitted to a destination, which in particular is - local memory (123 or 124), such as video memory, RAM, flash memory, hard disk, a storage interface (125), such as an interface to a mass storage, RAM, flash memory, ROM, optical disk, or magnetic support; communication interfaces (125), such as wired interfaces (e.g., bus interfaces (e.g., USB (i.e., Universal Serial Bus)), wide area network interfaces, local area network interfaces, HDMI (High-Definition Multimedia Interface) interfaces) and wireless interfaces (e.g., IEEE 802.11 interfaces, WiFi interfaces, Bluetooth interfaces, etc.); and -display belongs to the set containing
[0072] According to the example of encoding or encoder, a signal S is generated.
[0073] The signal S comprises syntax elements for image units including picture data represented by a luminance channel and at least one chrominance channel, the syntax elements defining a luma coding tree obtained by splitting a luminance unit representing the luminance channel of the image unit and a chrominance tree obtained by splitting a chrominance unit representing at least one chrominance channel of the image unit, the signal being formatted to include information data INFO indicating whether the chroma coding tree and the luma coding tree are identical, the information data INFO further indicating that the chrominance unit is not split if the chroma coding tree and the luma coding tree are not identical.
[0074] According to a variant, said information data further indicates whether said at least one decomposition level of the chroma coding tree follows a division of the same level of the luma coding tree.
[0075] The signal S is transmitted to a destination. By way of example, the signal S is stored in a local or remote memory, such as a video memory (124), a RAM (124), or a hard disk (123). In a variant, the signal S is transmitted to a storage interface (125), such as an interface to a mass storage device, flash memory, ROM, optical disk, or magnetic support, and / or is transmitted over a communications interface (125), such as an interface to a point-to-point link, a communications bus, a point-to-multipoint link, or a broadcast network.
[0076] According to an example of a decoding or decoder, a signal S is obtained from a source. Illustratively, the signal S is read from a local memory, such as a video memory (124), a RAM (124), a ROM (123), a flash memory (123), or a hard disk (123). In a variant, the bitstream is received from a storage interface (125), such as an interface to a mass storage device, a RAM, a ROM, a flash memory, an optical disk, or a magnetic carrier, and / or from a communications interface (125), such as an interface to a point-to-point link, a bus, a point-to-multipoint link, or a broadcast network.
[0077] According to an example, an apparatus 120 configured to implement the encoding method described with reference to FIGS. 1 to 6 comprises: -mobile devices, -communication devices, -Game consoles, -tablet (or tablet computer), -Laptop, -still image camera, -Video camera, - coding chip, -still image server, and -Video server (e.g. broadcast server, video-on-demand server, or web server) belongs to the set containing
[0078] According to an example, a device 120 configured to implement the above decoding method comprises: -mobile devices, -communication devices, -Game consoles, -Set-top boxes, -TV sets, -tablet (or tablet computer), -Laptop, -display, and -Decryption chip belongs to the set containing
[0079] According to one example of the present principles shown in Figure 8, in connection with a transmission between two remote devices A and B over a communications network NET, device A includes a processor associated with memory RAM and ROM configured to implement the method for encoding at least one image unit or an image comprising image units as described above, and device B includes a processor associated with memory RAM and ROM configured to implement the method for decoding as described above.
[0080] According to one example, the network is a broadcast network adapted to broadcast still or video images from device A to decoding devices including device B.
[0081] A signal S is transmitted by device A and is intended to be received by device B.
[0082] 9 shows an example of the syntax of such a signal when data is transmitted over a packet-based transmission protocol. Each transmission packet P includes a header H and a payload PAYLOAD. For example, one bit of the header H is dedicated to representing the information data carried by the signal S. In a variant, multiple flags can be used to represent the information data INFO carried by the signal S as explained above.
[0083] Implementations of the various processes and features described herein may be embodied in a wide variety of different devices or applications. Examples of such devices include encoders, decoders, post-processing systems that process output from decoders, pre-processing systems that provide input to encoders, video encoders, video decoders, video codecs, web servers, set-top boxes, laptops, personal computers, cell phones, PDAs, and any other device that processes images or video, or other communications devices. As will be apparent, the devices may be portable, even located in moving vehicles.
[0084] Additionally, these methods may be implemented by instructions executed by a processor, and such instructions (and / or data values produced by the implementation) may be stored on a computer-readable storage medium. A computer-readable storage medium may take the form of a computer-readable program product embodied by one or more computer-readable media and having computer-readable program code embodied thereon that is executable by a computer. As used herein, a computer-readable storage medium is considered to be a non-transitory storage medium given the inherent capability of storing information therein and of enabling information to be retrieved therefrom. A computer-readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, device, or any suitable combination of the above. As will be readily appreciated by those skilled in the art, the following represent more specific examples of computer-readable storage media to which the present principles may be applied: portable computer diskettes, hard disks, read-only memories (ROMs), erasable programmable read-only memories (EPROMs or flash memories), portable compact disc read-only memories (CD-ROMs), optical storage devices, magnetic storage devices, or any suitable combination of the above, but should be understood to be illustrative only and not an exhaustive list.
[0085] The instructions may form an application program tangibly embodied on a processor-readable medium.
[0086] Instructions may be in, for example, hardware, firmware, software, or a combination. Instructions may be found, for example, in an operating system, a separate application, or a combination of the two. A processor may thus be characterized as both a device configured to execute, for example, a process, and a device that includes a processor-readable medium (such as a storage device) having instructions for executing a process. Furthermore, a processor-readable medium may store data values produced by an implementation in addition to or in place of instructions.
[0087] As will be apparent to those skilled in the art, implementations may produce a wide variety of signals formatted to carry information that may be stored or transmitted, for example. Such information may include, for example, instructions for performing a method or data produced by one of the described implementations. For example, a signal may be formatted to carry, as data, rules for reading and writing the syntax of the described examples of the present principles, or to carry, as data, the actual syntax values written by the described examples of the present principles. Such a signal may be formatted, for example, as an electromagnetic wave (e.g., using the radio frequency portion of the spectrum) or as a baseband signal. 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. The signal may be transmitted over a variety of different wired or wireless links, as is known. The signal may be stored on a processor-readable medium.
[0088] Several implementations have been described. Nevertheless, it will be understood that various modifications may be made. For example, elements of other implementations may be combined, supplemented, modified, or removed to produce other implementations. Additionally, those skilled in the art will understand that other structures and processes may be substituted for the disclosed structures and processes, with the resulting implementations performing at least approximately the same functions in at least approximately the same way as the disclosed implementations to achieve at least approximately the same results. Accordingly, these and other implementations are contemplated by this application.
Claims
1. 1. A method for encoding an image unit comprising image data represented by a luminance channel and at least one chrominance channel, comprising: obtaining a luma coding tree representing a division of a luma unit representing a luma channel of the image unit into luma sub-units, the luma unit being the root of the luma coding tree; obtaining a chroma coding tree representing a division of chrominance units representing at least one chrominance channel of the image unit into chrominance sub-units, the chrominance unit is the root of the chroma coding tree, obtaining, by signaling at the image unit level, information data indicating that, up to one decomposition level, the division of the chrominance unit into chrominance subunits follows the division of the luminance unit into luminance subunits, and indicating, for the one decomposition level, to stop the division of the chrominance unit into further chrominance subunits while continuing the division of the luminance unit into further luminance subunits; A method comprising:
2. 1. A method for decoding an image unit comprising image data represented by a luminance channel and at least one chrominance channel, comprising: obtaining a luma coding tree representing a division of a luma unit representing a luma channel of the image unit into luma sub-units, the luma unit being the root of the luma coding tree; obtaining a chroma coding tree representing a division of chrominance units representing at least one chrominance channel of the image unit into chrominance sub-units, the chrominance unit is the root of the chroma coding tree, obtaining, by analyzing at the image unit level, information data indicating that, up to one decomposition level, the division of the chrominance unit into chrominance subunits follows the division of the luminance unit into luminance subunits, and indicating, for the one decomposition level, to stop the division of the chrominance unit into further chrominance subunits while continuing the division of the luminance unit into further luminance subunits; A method comprising:
3. 1. An apparatus for encoding an image unit comprising image data represented by a luminance channel and at least one chrominance channel, comprising: obtaining a luma coding tree representing a division of a luma unit representing a luma channel of the image unit into luma sub-units, the luma unit being the root of the luma coding tree; obtaining a chroma coding tree representing a division of chrominance units representing at least one chrominance channel of the image unit into chrominance sub-units, the chrominance unit is the root of the chroma coding tree, a processor configured to obtain, by signaling at the image unit level, information data indicating that, up to one decomposition level, the division of the chrominance units into chrominance subunits follows the division of the luminance units into luminance subunits, and indicating, for the one decomposition level, to stop the division of the chrominance units into further chrominance subunits while the division of the luminance units into further luminance subunits continues; An apparatus comprising:
4. 1. An apparatus for decoding an image unit comprising image data represented by a luminance channel and at least one chrominance channel, comprising: obtaining a luma coding tree representing a division of a luma unit representing a luma channel of the image unit into luma sub-units, the luma unit being the root of the luma coding tree; obtaining a chroma coding tree representing a division of chrominance units representing at least one chrominance channel of the image unit into chrominance sub-units, the chrominance unit is the root of the chroma coding tree, a processor configured to obtain, by analyzing at the image unit level, information data indicating that, up to one decomposition level, the division of the chrominance units into chrominance subunits follows the division of the luminance units into luminance subunits, and indicating, for the one decomposition level, to stop the division of the chrominance units into further chrominance subunits while the division of the luminance units into further luminance subunits continues; An apparatus comprising:
5. A method for encoding an image comprising at least one image unit, wherein said at least one image unit is coded according to the method of claim 1.
6. A method for decoding an image comprising at least one image unit, wherein said at least one image unit is decoded according to the method of claim 2.
7. A computer program comprising instructions that, when executed by a computer, cause the computer to carry out the steps of the method of claim 1.
8. A computer program comprising instructions that, when executed by a computer, cause the computer to carry out the steps of the method of claim 2.
Citation Information
Patent Citations
Transformation in video coding
JP2014509160A
JPP7100582B