Method and apparatus for encoding / decoding image unit

By splitting the luminance and chrominance channels of image units, the similarity of the concurrent signal notification coding tree is determined, thus optimizing the coding process, improving coding efficiency, and reducing signaling costs.

CN115052152BActive Publication Date: 2025-11-25INTERDIGITAL VC HOLDINGS INC
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202210747507.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2016-02-11
Filing Date
2017-02-03
Publication Date
2025-11-25
Estimated Expiration
2037-02-03

AI Technical Summary

Technical Problem

Existing technologies fail to effectively improve the coding efficiency of luminance and chrominance channels when encoding image units, resulting in low coding efficiency.

Method used

By splitting the luminance channel units and chroma channel units that represent image units, it is determined whether the chroma coding tree and luminance coding tree are the same, and a signal is sent to notify this information in order to optimize the coding process.

Benefits of technology

It improves the coding efficiency of image units and reduces the additional signaling cost between the chroma coding tree and the luminance coding tree.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115052152B_ABST
    Figure CN115052152B_ABST
Patent Text Reader

Abstract

The present principles relate to a method for encoding a picture unit comprising image data represented by a luminance channel and at least one chrominance channel, the method comprising obtaining a luminance coding tree by splitting luminance units representative of the luminance channel of the picture unit, and obtaining a chrominance coding tree by splitting chrominance units representative of the at least one chrominance channel of the picture unit. The method is characterized in that, when a size of a sub-unit of the chrominance coding tree at a given level of decomposition is greater than a maximum size, information data indicative that the sub-unit of the chrominance coding tree at the given level of decomposition is not split is signaled when a sub-unit of the luminance coding tree at the given level of decomposition co-located with the sub-unit of the chrominance coding tree is split.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] This application is a divisional application of the invention patent application with international application date of 3 February 2017, Chinese application number 201780010687.9, and invention title "Method and apparatus for encoding / decoding of image units". TECHNICAL FIELD

[0002] The present principles relate generally to image / video encoding and decoding. BACKGROUND

[0003] This section is intended to introduce the reader to various aspects of art that can be related to various aspects of the present principles that are 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. Accordingly, it should be understood that these statements are to be read in this light, and not as admissions of prior art.

[0004] In the following, image data comprises one or several arrays of samples (pixel data) in a specific image / video format, e.g. specifying all information related to pixel values of an image (or video) and all information that can be used by a display and / or any other device to visualize and / or decode the image (or video).

[0005] Image data comprises at least one component in the shape of a first array of samples, typically a luma (or light intensity) component, and possibly at least one other component in the shape of at least one other array of samples, typically a color component. Alternatively, equivalently, the same image data can also be represented by a set of color arrays of samples, such as the traditional three-color RGB representation.

[0006] Pixel data related to a pixel is represented by a vector of C values, where C is the number of components. Each value of the vector is represented with a number of bits defining a maximum dynamic range of the pixel value.

[0007] An image unit comprises image data represented by a luma channel and at least one chroma channel. Typically, the image data can be represented in the well-known YCbCr, YUV, RGB color spaces, but the present principles are not limited to a specific color space. Thus, an image unit comprises a luma unit representing the luma channel of the image unit and at least one chroma unit representing the chroma channel of the image unit.

[0008] A non-limiting example of an image unit is a coding unit or a transform unit as defined in HEVC, or a block or macroblock as defined in most MPEG standards. An image unit can be any square or rectangular portion of an image.

[0009] In some video compression standards, such as H.265 / HEVC (High Efficiency Video Coding (HEVC), ITU-T H.265 Recommendation | International Standard ISO / IEC 23008-2, 10 / 2014), the images of an image sequence (video) are divided into so-called coding tree units (CTU) of typically 64x64, 128x128 or 256x256 pixels.

[0010] In the compressed domain, each CTU is represented by a coding tree, as shown in Figure 1 Fig. 1. As illustrated, this can be a quad-tree partitioning of the CTU, where each leaf is called a coding unit (CU). The coding unit (CU) contains the main information for encoding the image unit and can be further split into prediction units (PU) and transform units (TU). The prediction unit (PU) contains the information for predicting the pixel values within the image unit and the transform unit (TU) represents the pixels of the image unit on which a transform is applied and thus the remaining part of the encoding process.

[0011] In the HEVC standard, then two geometrical structures coexist: the prediction partitioning and the transform partitioning, and two main cases occur in intra prediction:

[0012] 1) the current transform unit (TU) and prediction unit (PU) have the same size;

[0013] 2) the prediction unit PU is composed of 4 transform units TUs, each of which can be split.

[0014] In the second case, the luma channel and the chroma channels (if YUV video) follow the same partitioning (quad-tree) (except for small blocks in 4:2:0 or 4:2:2 sampling, where chroma TUs cannot be split).

[0015] The prediction relies on pixels previously decoded from the same or other images, then the residual is transformed following a transform unit TU quad-tree. The PU can contain several smaller TUs, which can be further split in a quad-tree fashion into smaller TUs. In this case, the chroma TUs follow the luma TU quad-tree. For small blocks, the chroma TUs cannot be split when not in 4:4:4 sampling.

[0016] Figure 2 An example of segmentation into TUs using a quad-tree (residual quad-tree (RQT)) is shown. The partitioning into TUs is signaled and the maximum transform size and the minimum transform size are signaled in the slice header. For quad-tree nodes between these boundaries, a subdivision flag is coded. The same RQT is used for both the luma component and the chroma components of each CU.

[0017] In H.265 / HEVC, only one RQT is transmitted for both the luma and chroma components of each CU. When the TU coding tree is deep, this generates a signaling cost for the chroma units which can advantageously be replaced by the coding coefficients.

[0018] Conversely, it has been proposed to separate the partitioning of the luma and chroma components (in MediaTek Inc, "Block partitioning structure for next generation video coding", ITU-T SG16, COM 16-C 966R3-E, Geneva, October 2015), in which for each picture unit, two different coding trees are defined: one for the luma, one for the chroma. According to a non-limiting example, the coding trees can be quaternary, binary or ternary trees for coding the picture unit.

[0019] This solution leads to a fully separated luma coding tree and chroma coding tree, obtained by splitting the luma and chroma units related to the picture unit, respectively, but leads to an additional signaling cost.

[0020] The problem addressed by the present principle is to improve the coding efficiency of a picture unit when using separate coding trees for coding the luma and chroma units related to said picture unit.

[0021] More generally, the problem addressed is how to efficiently compress a picture unit comprising image data represented by a plurality of channels. SUMMARY

[0022] 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 provided below.

[0023] The present principle proceeds to remedy at least one drawback of the prior art by a method comprising obtaining a luma coding tree by splitting luma units representative of a luma channel of said picture unit, and obtaining a chroma coding tree by splitting chroma units representative of at least one chroma channel of said picture unit, wherein obtaining said chroma coding tree comprises:

[0024] - determining whether said chroma coding tree and said luma coding tree are identical; and

[0025] - signaling information data indicative of whether said chroma coding tree and said luma coding tree are identical.

[0026] According to another aspect of the present principles, the present principles relate to a method comprising obtaining a luma coding tree by splitting luma units representative of luma channels of said image unit, and obtaining a chroma coding tree by splitting chroma units representative of at least one chroma channel of said image unit, wherein obtaining said chroma coding tree comprises:

[0027] - determining whether said chroma coding tree and said luma coding tree are identical; and

[0028] - signaling information data indicative of whether said chroma coding tree and said luma coding tree are identical.

[0029] According to other aspects of the present principles, the present principles relate to a device comprising a processor configured to implement the above method.

[0030] The particular nature of the present principles, as well as other objects, advantages, features and uses of the present principles, will become apparent from the following description, by way of example, with reference to the accompanying drawings. BRIEF DESCRIPTION OF DRAWINGS

[0031] Examples of the present principles are illustrated in the accompanying drawings. The drawings show:

[0032] - Figure 1 The overall video structure of prediction and transform partitioning is illustrated;

[0033] - Figure 2 An example of the use of quad-tree segmentation into TUs is shown;

[0034] - Figure 3 An example of luma and chroma coding tree splitting depending on the independantChromaTuFlag syntax element according to an example of the present principles is shown;

[0035] - Figure 4 An example of the syntax of the transform tree according to an example of the present principles is shown;

[0036] - Figure 5 An example of the syntax of the transform unit according to an example of the present principles is shown;

[0037] - Figure 6 Another example of luma and chroma coding tree splitting depending on the independantChromaTuFlag syntax element according to an example of the present principles is shown;

[0038] - Figure 7 An example of the architecture of a device according to an example of the present principles is shown;

[0039] - Figure 8 Two remote devices communicating over a communication network according to an example of the present principles are shown; and

[0040] - Figure 9 Syntax of a signal is shown for an example according to the present principles.

[0041] Like or similar elements are denoted by like reference numerals. DETAILED DESCRIPTION

[0042] The present principles will be described more fully hereinafter with reference to the accompanying drawings, in which examples of the present principles are shown. The present principles may, however, be embodied in many alternate 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 thereof are shown by way of example in the drawings and will herein be described in detail. It should be understood, however, that there is no intent to limit the present principles to the particular forms disclosed, but on the contrary, the disclosure is to cover all modifications, equivalents, and alternatives falling within the spirit and scope of the present principles as defined by the claims.

[0043] The terminology used herein is for the purpose of describing particular examples only and is not intended to be limiting of the present principles. As used herein, the singular forms "a", "an" and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms "comprises", "comprising", "includes" and / or "including" when used herein, specify the presence of stated features, integers, steps, operations, elements, and / or components but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and / or groups thereof. Additionally, when an element is referred to as being "responsive" or "connected" to another element, it can be directly responsive or connected to the other element, or indirectly responsive or connected to the other element through one or more other elements. In contrast, when an element is referred to as being "directly responsive" 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 can be abbreviated as " / ".

[0044] It will be understood that, although the terms first, second, etc. can be used herein to describe various elements, these elements should not be limited by these terms. These terms are only used to distinguish one element from another. For example, a first element could be termed a second element, and, similarly, a second element could be termed a first element, without departing from the teachings of the present principles.

[0045] While some of the drawings include arrows to show a primary direction of communication, it is understood that communication can occur in the opposite direction of the shown arrows.

[0046] Some embodiments are described with reference to block diagrams and operational flowcharts, in which each block represents a circuit element, a module, or a portion of code including one or more executable instructions for implementing the specified logical function(s). It should also be noted that in other implementations, the function(s) noted in the blocks can occur out of the order noted in the block diagrams. For example, two blocks shown in succession can in fact be executed substantially concurrently or the blocks can sometimes be executed in reverse order, depending on the functionality involved.

[0047] Reference to "one embodiment" or "an embodiment" means that a particular feature, structure, or characteristic described in connection with the embodiment can be included in at least one implementation of the present principles. The appearances of the phrase "in one embodiment" or "in an embodiment" in various places in the specification are not necessarily all referring to the same embodiment, nor are separate or alternative embodiments mutually exclusive of other embodiments.

[0048] Reference signs in the claims are provided merely for the sake of reference and do not limit the scope of the claims.

[0049] Although not explicitly described, the present examples and variations can be used in any combination or sub-combination.

[0050] The present principles are described with respect to encoding / decoding image units of an image, but extend to encoding / decoding image units of a sequence of images (video), since each image unit of each image of the sequence is sequentially encoded / decoded as described below.

[0051] The present principles relate to a method for encoding an image unit comprising image data represented by a luminance channel and at least one chrominance channel.

[0052] The method obtains a luminance coding tree LUMAQ by splitting a luminance unit representative of the luminance channel of the image unit, and a chrominance coding tree CHROQ by splitting a chrominance unit representative of the at least one chrominance channel of the image unit.

[0053] Obtaining the chrominance coding tree CHROQ comprises determining whether the chrominance coding tree CHROQ and the luminance coding tree LUMAQ are identical, and signaling in a signal S information data INFO indicative of whether the chrominance coding tree CHROQ and the luminance coding tree LUMAQ are identical.

[0054] This improves coding efficiency compared to the prior art, since the additional syntax used to encode the chrominance coding tree and the luminance coding tree is limited compared to separate encoding of the two coding trees.

[0055] According to an embodiment, the information data INFO is a flag equal to a first value when the chrominance coding tree CHROQ and the luminance coding tree LUMAQ are identical, and equal to a second value otherwise.

[0056] According to an embodiment, when the information data INFO is equal to said second value, the information data INFO also indicates that the chroma unit is not split.

[0057] Figure 3 An example of luma coding tree and chroma coding tree is shown when the image unit is a residual transform unit (TU) as defined in HEVC and the information data INFO is a flag denoted as independantChromaTuFlag.

[0058] When independantChromaTuFlag = 0, the luma coding tree and the chroma coding tree are identical (bottom in Figure 3 ) and when independantChromaTuFlag = 1, the luma coding tree and the chroma coding tree are not identical (top in Figure 3 ).

[0059] According to a variant, the flag independantChromaTuFlag is coded as an additional syntax element included in the "transform_tree" syntax element of the HEVC specification, as shown in Figure 4 (HEVC, section 7.3.8.8 Transform tree syntax).

[0060] Figure 5 An example of the syntax of a transform unit is shown.

[0061] According to the embodiment shown in Figure 3 , when the chroma coding tree and the luma coding tree are determined to be different, if the size of at least one leaf L of the chroma coding tree CHROQ is greater than a maximum size MS (for example MS 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 leaves of the chroma coding tree CHROQ reaches the maximum size MS.

[0062] In Figure 3 , the leaf of the chroma coding tree CHROQ (top in Figure 3 ) is not split because the size of the current leaf is equal to the maximum size (MS) of the TU size.

[0063] The result is that the size of the leaf of the chroma coding tree CHROQ is as large as possible (within the limit of the given maximum size MS).

[0064] The splitting strategy can be best decided by a rate / distortion optimization whether to keep the size of the current leaf of the chroma coding tree CHROQ as large as possible or to split them. As an example, for each picture unit to be coded, the distortion and the bit rate are computed for independantChromaTuFlag = 0 as well as for independantChromaTuFlag = 1 (i.e. split or not the chroma channel according to the luma coding tree LUMAQ), and the best rate / distortion trade-off is kept, i.e. the flag value J = D + lambda*rateCost that gives the lowest rate / distortion, where D is the L2 norm between the source (original picture unit) and the reconstructed block (decoded picture unit), rateCost is the bit count of the encoding of the bitstream, and lambda is an encoding parameter. This technique is well known and used in the Joint Model of MPEG / ITU H.264 / AVC, in the reference software of H.265 / HEVC and in the Joint Exploration Model coding method ("High Efficiency Video Coding (HEVC) Test Model 16 (HM 16) Encoder Description, JCTVC-R1002, Sapporo, Japan, 30th June - 7th July 2014").

[0065] According to an embodiment, the chroma coding tree and the luma coding tree are identical up to a given decomposition level, and for higher decomposition levels, the splitting of the leaves of the chroma coding tree CHROQ is stopped.

[0066] According to an embodiment, when splitting at least one decomposition level of the chroma coding tree CHROQ, information data INFO is signaled for said at least one decomposition level, said information data INFO indicating whether said at least one decomposition level of the chroma coding tree follows the splitting of the luma coding tree of the same level.

[0067] According to a variant, said information data INFO further indicates when to stop the splitting of the leaves of the chroma coding tree CHROQ.

[0068] Figure 6 An example of a split CU coding tree per channel type or per component is shown for an example according to the present principles.

[0069] Here, for example, when the picture unit is a residual transform unit (TU) as defined in HEVC and the information data INFO is a flag denoted independantChromaTuFlag, the optimal luma and chroma coding trees are obtained.

[0070] Following the best split, at a first decomposition level of a CU of a CTU, a chroma unit related to the CU is split into 4 sub-units 1-4. At a second decomposition level, chroma sub-units 1-3 are not further split and for the chroma sub-unit 1, independantChromaTuFlag = 1 is signaled. For sub-units 2 and 3, independantChromaTuFlag is not transmitted (as the corresponding luma sub-units are not split). Chroma sub-unit 4 is further split into 4 other sub-units 41-44 and for the sub-unit 4, independantChromaTuFlag = 0 is signaled. Finally, sub-units 41-44 are not further split and for the chroma sub-unit 41, independantChromaTuFlag = 1 is signaled (for sub-units 2-4, independantChromaTuFlag is not transmitted).

[0071] This leads to more syntax to be transmitted than in the above embodiment, but allows to determine the optimal size for 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.

[0072] Note that each embodiment and variant can be performed on a per chroma channel basis, i.e. for each chroma channel, a chroma coding tree is computed. Then, for each chroma channel, information data INFO is signaled.

[0073] The present principles also relate to a method for encoding an image, the image comprising at least one image unit encoded according to the encoding method described above in accordance with the present principles.

[0074] The present principles also relate to a method for decoding an image unit, the image unit comprising image data represented by a luma channel and at least one chroma channel. The method obtains a luma coding tree by splitting a luma unit representative of the luma channel of the image unit, and obtains a chroma coding tree by splitting a chroma unit representative of the at least one chroma channel of the image unit.

[0075] Obtaining the chroma coding tree comprises determining whether the chroma coding tree and the luma coding tree are identical. The method also signals information data indicative of whether the chroma coding tree and the luma coding tree are identical.

[0076] Various embodiments and variants of the decoding method can be easily deduced from the above description of the encoding method, in particular from the description of Figures 1-6

[0077] ​For example, the decoding method comprises obtaining, from the signal or from a memory, information data INFO indicative of whether the chroma coding tree CHROQ and the luminance coding tree LUMQ are identical. Said information data INFO can be a flag equal to a first value when the chroma coding tree and the luminance coding tree are identical, and equal to a second value otherwise. Said information data INFO can also indicate, when equal to said second value (i.e. when the chroma coding tree and the luminance coding tree are not identical), that the chroma unit is not split.

[0078] The present principles also relate to a method for decoding an image comprising at least one image unit encoded according to the encoding method described above in accordance with the present principles.

[0079] In Figures 1-6 Above, a module is a functional unit, which can or not be related to a distinguishable physical unit. For example, these modules or some of them can be grouped in a unique component or circuit, or contribute to the functioning of software. Conversely, some modules can possibly comprise separate physical entities. The apparatuses compatible with the present principles are implemented using pure hardware, for example using dedicated hardware such as ASIC or FPGA or VLSI (respectively "Application-Specific Integrated Circuit", "Field-Programmable Gate Array", "Very Large Scale Integration"), or from several integrated electronic components embedded in a device, or from a mix of hardware and software components.

[0080] Figure 7 representations can be configured to implement the method described above in relation to Figures 1-6 An exemplary architecture of the device 120 described above.

[0081] The device 120 comprises the following elements linked together by a data and address bus 121:

[0082] - a microprocessor 122 (or CPU), which is for example a DSP (or Digital Signal Processor);

[0083] - a ROM (or Read Only Memory) 123;

[0084] - a RAM (or Random Access Memory) 124;

[0085] - an I / O interface 125 for receiving data to be transmitted from an application; and

[0086] - a battery 126.

[0087] According to an example, the battery 126 is external to the device. In each of the mentioned memories, the word "register" used in the description can correspond to a small capacity area (a few bits) or to a very large area (for example the entire program or a large amount of received or decoded data). The ROM 123 comprises at least the program and the parameters. The ROM 123 can store algorithms and instructions to perform the techniques according to the present principles. When switched on, the CPU 122 uploads the program into the RAM and executes the corresponding instructions.

[0088] The RAM 124 comprises in registers the program executed by the CPU 122 and uploaded after the device 120 is switched on, the input data in registers, the intermediate data in registers in the different states of the method, and other variables used to perform the method in registers.

[0089] The implementations described herein can be implemented in, for example, a method or a process, an apparatus, a software program, a data stream, or a signal. Even if only discussed in the context of a single form of implementation (for example, discussed only as a method or device), the implementation discussed can also be implemented in other forms (for example, a program). An apparatus can be implemented in, for example, appropriate hardware, software, and firmware. The methods can be implemented in, for example, an apparatus such as, for example, a processor (which is generally referred to as processing device, including for example a computer, a

[0090] According to an example of encoding or encoder, an image comprising image units or an image unit to be encoded is obtained from a source. The source belongs for example to the set comprising:

[0091] - a local memory (123 or 124), for example a video memory or a RAM (or Random Access Memory), a flash memory, a ROM (or Read Only Memory), a hard disk;

[0092] - a storage interface (125), for example an interface with a mass storage, a RAM, a flash memory, a ROM, an optical disk or a magnetic support;

[0093] - a communication interface (125), for example a wired interface (for example a bus interface, a wide area network interface, a local area network interface) or a wireless interface (such as an IEEE 802.11 interface or a Bluetooth® interface); - a communication interface (125), for example a wired interface (for example a bus interface, a wide area network interface, a local area network interface) or a wireless interface (such as an IEEE 802.11 interface or a Bluetooth® interface);

[0094] - an image capture circuit (for example a sensor such as for example a CCD (or Charge-Coupled Device) or a CMOS (or Complementary Metal-Oxide-Semiconductor)).

[0095] According to an example of decoding or decoder, a decoded picture unit or a decoded picture comprising decoded picture units is transmitted to a destination; in particular, the destination belongs to the set comprising:

[0096] - a local memory (123 or 124), for example a video memory or a RAM, a flash memory, a hard disk;

[0097] - a storage interface (125), for example an interface with a mass storage, a RAM, a flash memory, a ROM, an optical or magnetic support;

[0098] - a communication interface (125), for example a wired interface (for example a bus interface (for example USB (or Universal Serial Bus)), a wide area network interface, a local area network interface, an HDMI (High Definition Multimedia Interface) interface) or a wireless interface (such as an IEEE 802.11 interface, or an interface); and

[0099] - a display.

[0100] According to an example of encoding or encoder, a signal S is generated.

[0101] The signal S has syntax elements related to a picture unit comprising picture data represented by a luma channel and at least one chroma channel. The syntax elements define a luma coding tree obtained by splitting luma units representative of the luma channel of the picture unit, and a chroma coding tree obtained by splitting chroma units representative of the at least one chroma channel of the picture unit. The signal is formatted to include information data INFO indicating whether the chroma coding tree and the luma coding tree are identical, and when the chroma coding tree and luma coding tree are not identical, the information data INFO further indicates that a chroma unit is not split.

[0102] According to a variant, the information data further indicates whether the at least one decomposition level of the chroma coding tree follows the splitting of the luma coding tree of identical level.

[0103] The signal S is transmitted to a destination. As an example, the signal S is stored in a local or remote memory, for example a video memory (124) or a RAM (124), a hard disk (123). In a variant, the signal S is transmitted to a storage interface (125) (for example an interface with a mass storage, a flash memory, a ROM, an optical or magnetic support) and / or conveyed through a communication interface (125) (for example an interface to a point-to-point link, a communication bus, a point-to-multipoint link or a broadcast network).

[0104] According to examples of decoding or decoder, the signal S is obtained from a source. Exemplarily, the signal S is read from a local memory (e.g. a video memory (124), a RAM (124), a ROM (123), a flash memory (123) or a hard disk (123)). In variants, the bitstream is received from a storage interface (125) (e.g. an interface to a mass storage, a RAM, a ROM, a flash memory, an optical disk or a magnetic support) and / or from a communication interface (125) (e.g. an interface to a point-to-point link, a bus, a point-to-multipoint link or a broadcast network).

[0105] According to examples, the device 120 configured to implement the encoding method described above with respect to Figures 1-6 The device 120 described for the encoding method belongs to the set comprising:

[0106] - a mobile device;

[0107] - a communication device;

[0108] - a game device;

[0109] - a tablet (or tablet computer);

[0110] - a laptop;

[0111] - a still image camera;

[0112] - a video camera;

[0113] - an encoding chip;

[0114] - a still image server; and

[0115] - a video server (e.g. a broadcast server, a video on demand server or a web server).

[0116] According to examples, the device 120 configured to implement the decoding method described above with respect to

[0117] - a mobile device;

[0118] - a communication device;

[0119] - a game device;

[0120] - a set-top box;

[0121] - a TV set;

[0122] - a tablet (or tablet computer);

[0123] - a laptop;

[0124] - a display; and

[0125] - a decoding chip.

[0126] According to Figure 8 In the context of the transmission between two remote devices A and B over a communication network NET, according to the example of the present principles illustrated in the above, the device A comprises a processor in relation with memories RAM and ROM configured to implement the method for encoding an image or image unit comprising at least one image unit as described above, and the device B comprises a processor in relation with memories RAM and ROM configured to implement the method for decoding as described above.

[0127] According to an example, the network is a broadcast network adapted to broadcast still images or video images from the device A to decoding devices including the device B.

[0128] The signal S is intended to be transmitted by the device A and received by the device B.

[0129] Figure 9 An example of the syntax of such a signal is illustrated when the data is transmitted through a packet-based transmission protocol. Each transmitted packet P comprises a header H and a payload PAYLOAD. For example, bits of the header H are dedicated to represent the information data carried by the signal S. In a variant, a plurality of flags can be used to represent the information data INFO as described above and carried by the signal S.

[0130] Implementations of the various processes and features described herein can be embodied in a variety of different equipment or applications. Examples of such equipment include an encoder, a decoder, a post-processor processing output from a decoder, a pre-processor providing input to an encoder, a video coder, a video decoder, a video codec, a web server, a set-top box, a laptop, a personal computer, a cell phone, a PDA, and any other device for processing image or video, or other communication devices. As should be apparent, the equipment can be mobile and even installed in a mobile vehicle.

[0131] Additionally, this method can be implemented by instructions being executed by a processor, and such instructions (and / or data values ​​generated by the implementation) can be stored on a computer-readable storage medium. The computer-readable storage medium can take the form of a computer-readable program product implemented on one or more computer-readable media and having computer-executable computer-readable program code embodied thereon. The computer-readable storage medium used herein is considered a non-transitory storage medium that inherently provides the ability to store information therein and to provide the ability to retrieve information from there. The computer-readable storage medium can be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination thereof. It should be understood that while more specific examples of computer-readable storage media to which this principle can be applied are provided below, they are merely illustrative and not exhaustive lists, as will be readily understood by those skilled in the art: portable computer disks; hard disks; read-only memory (ROM); erasable programmable read-only memory (EPROM or flash memory); portable compact disc read-only memory (CD-ROM); optical storage devices; magnetic storage devices; or any suitable combination thereof.

[0132] Instructions can form applications that are tangibly implemented on processor-readable media.

[0133] Instructions can reside, for example, in hardware, firmware, software, or a combination thereof. Instructions can also exist, for example, in an operating system, a standalone application, or a combination of both. Therefore, a processor can be characterized as, for example, a device configured to perform processing and a device comprising a processor-readable medium (such as a storage device) having instructions for performing processing. Furthermore, in addition to instructions or alternatives to instructions, the processor-readable medium can store data values ​​generated by the implementation.

[0134] As will be apparent to those skilled in the art, implementations can generate various signals formatted to carry information, such as information that can be stored or transmitted. The information may include, for example, instructions for performing a method or data generated by one of the described implementations. For example, a signal may be formatted to carry as data rules a syntax for writing or reading examples of the described principles, or as data actual syntax values ​​written in examples of the described principles. Such a signal may be formatted, for example, as an electromagnetic wave (e.g., using the radio frequency portion of the spectrum) or a baseband signal. Formatting may include, for example, encoding a data stream and modulating a carrier wave with the encoded data stream. The information carried by the signal may be, for example, analog or digital information. As is known, signals can be transmitted via various wired or wireless links. Signals may be stored on a processor-readable medium.

[0135] A number of implementations have been described. Nevertheless, it will be understood that various modifications can be made. For example, elements of different implementations can be combined, supplemented, modified, or removed to produce other implementations. Additionally, one of ordinary skill in the art will understand that other structures and processes can be substituted for those disclosed and the resulting implementations will perform at least substantially the same function(s) in at least substantially the same way(s) to achieve at least substantially the same result(s) as those disclosed. Accordingly, these and other implementations are contemplated by this application.

Claims

1. A method comprising obtaining a luminance coding tree by splitting luminance units representing luminance channels of an image unit, and obtaining a chroma coding tree by splitting chroma units representing at least one chroma channel of the image unit, wherein, provided that the size of a sub-unit of the chroma coding tree at the obtained decomposition level is greater than a maximum size, when a sub-unit of the luminance coding tree at the decomposition level that is in the same position as a sub-unit of the chroma coding tree is split, signaling information data indicating that the sub-unit of the chroma coding tree at the decomposition level is not to be split.

2. The method as described in claim 1, wherein, The method further includes the step of encoding the image unit according to the luminance coding tree and the chrominance coding tree.

3. A method comprising obtaining a luminance coding tree by splitting luminance units representing luminance channels of an image unit, and obtaining a chroma coding tree by splitting chroma units representing at least one chroma channel of the image unit, wherein, provided that the size of a sub-unit of the chroma coding tree at the obtained decomposition level is greater than a maximum size, when a sub-unit of the luminance coding tree at the decomposition level that coexists with a sub-unit of the chroma coding tree is split, the information data indicating that the sub-unit of the chroma coding tree at the decomposition level is not split.

4. The method of claim 3, wherein, The method further includes the step of decoding the image unit according to the luminance coding tree and the chrominance coding tree.

5. An apparatus comprising a processor configured to: obtain a luminance coding tree by splitting luminance units representing luminance channels of an image unit; and obtain a chroma coding tree by splitting chroma units representing at least one chroma channel of the image unit, wherein, provided that the size of a sub-unit of the chroma coding tree at the obtained decomposition level is greater than a maximum size, when a sub-unit of the luminance coding tree at the decomposition level that is in the same position as a sub-unit of the chroma coding tree is split, signaling information data indicating that the sub-unit of the chroma coding tree at the decomposition level is not split.

6. The device as claimed in claim 5, wherein, The processor is also configured to encode the image units according to the luminance coding tree and the chrominance coding tree.

7. An apparatus comprising a processor configured to: obtain a luminance coding tree by splitting luminance units representing luminance channels of an image unit; and obtain a chroma coding tree by splitting chroma units representing at least one chroma channel of the image unit, wherein, provided that the size of a sub-unit of the chroma coding tree at the obtained decomposition level is greater than a maximum size, when a sub-unit of the luminance coding tree at the decomposition level that coexists with a sub-unit of the chroma coding tree is split, the information data indicating that the sub-unit of the chroma coding tree at the decomposition level is not split.

8. The device as claimed in claim 7, wherein, The processor is also configured to decode the image unit according to the luminance coding tree and the chrominance coding tree.

9. A method for encoding an image comprising at least one image unit, wherein the at least one image unit is encoded according to the method of claim 1 or 2.

10. A method for decoding an image comprising at least one image unit, wherein the at least one image unit is decoded according to claim 3 or 4.

11. A system for encoding an image comprising at least one image unit, the system comprising the apparatus according to claim 5 or 6.

12. A system for decoding an image comprising at least one image unit, the system comprising the device according to claim 7 or 8.

13. A non-transitory information storage medium storing program code instructions that, when executed by a processor, cause the processor to perform the method according to claim 1 or 3.

Citation Information

Patent Citations

  • Transforms in video coding

    US20120230421A1

  • Residual quad tree (RQT) coding for video coding

    US20130195199A1

  • Coded block flag coding

    US20130266074A1