Image processing apparatus and method
Patent Information
- Application Number
- AU2024278434
- Authority / Receiving Office
- AU · AU
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-12-16
- Publication Date
- 2026-08-06
AI Technical Summary
Current image decoding technologies face challenges in maintaining parallelism and processing efficiency, particularly in decoding coded data across lines of coding tree units, leading to increased processing time due to dependencies between transformation blocks.
The image decoding apparatus employs a method where the decoding section decodes coded data in each line of coding tree units, delaying processing by one CTU line and using occurrence probabilities derived from preceding blocks to entropy-decode transformation blocks, while restricting intra and inter prediction references to manage dependencies and maintain parallelism.
This approach effectively suppresses the decrease in parallelism and processing time by optimizing the decoding process across lines of coding tree units, ensuring efficient image decoding.
Smart Images

Figure 00000162_0000 
Figure 00000162_0001 
Figure 00000163_0000
Abstract
Description
2024278434 16 Dec 2024 location of the color difference component (chroma_sample_loc_info()).
[0211] The color difference MPM identifier (chroma_mpm_idx) is an identifier that represents which prediction mode candidate in a color difference intra prediction candidate list (IntraPredModeCandListC) is to be specified as a color difference intra prediction mode.
[0212] The motion prediction information MVinfo includes, for example, information such as merge_idx, merge_flag, inter_pred_idc, ref_idx_LX, mvp_lX_flag, X={0,l}, and mvd (see, for example, JCTVC-W1005, 7.3.8.6 Prediction Unit Syntax).
[0213] Needless to say, information included in the prediction mode information Pinfo is optional, and information other than that described above may be included.
[0214] CTransformation information Tinfo> The transformation information Tinfo includes, for example, information described below. Needless to say, information included in the transformation information 2024278434 16 Dec 2024 Tinfo is optional, and information other than the following may be included.
[0215] The horizontal width size TBWSize and vertical width TBHSize of a transformation block to be processed (or logarithmic values log2TBWSize and log2TBHSize of the TBWSize and TBHSize to base 2). Transformation skip flag (ts_flag): a flag indicating whether or not to skip (inverse) primary transformation and (inverse) secondary transformation . Scan identifier (scanldx) Quantization parameter (qp) Quantization matrix (scaling_matrix (for example, JCTVC-W1005, 7.3.4 Scaling list data syntax))
[0216] <Residual information Rinfo > The residual information Rinfo (see, for example, 7.3.8.11 Residual Coding syntax in JCTVC-W1005) includes, for example, the following syntaxes.
[0217] cbf (coded_block_flag): residual data presence / absence flag last_sig_coeff_x_pos: last non-zero coefficient X coordinate 2024278434 16 Dec 2024 last_sig_coeff_y_pos: last non-zero coefficient Y coordinate coded_sub_block_flag: subblock non-zero coefficient presence / absence flag sig_coeff_flag: non-zero coefficient presence / absence flag grl_flag: a flag indicating whether the level of a non-zero coefficient is greater than 1 (also referred to as a GR1 flag) gr2_flag: a flag indicating whether the level of the non-zero coefficient is greater than 2 (also referred to as a GR2 flag) sign_flag: code indicating whether the non-zero coefficient is positive or negative (also referred to as sign code) coeff_abs_level_remaining: the remaining level of the non-zero coefficient (also referred to as a non-zero coefficient remaining level) etc .
[0218] Needless to say, information included in the residual information Rinfo is optional, and information other than that described above may be included. 2024278434 16 Dec 2024 <Filter information Finfo> The filter information Finfo includes, for example, control information related to respective types of filter processing described below.
[0220] Control information related to a deblocking filter (DBF) Control information related to an adaptive offset filter (SAO) Control information related to an adaptive loop filter (ALF) Control information related to any other linear or nonlinear filter
[0221] More specifically, the filter information Finfo includes, for example, pictures to which each filter is applied, information specifying regions within a picture, filter on / off control information in CU units, slices, filter on / off control information related to boundaries between tiles, and the like. Needless to say, information included in the filter information Finfo is optional, and information other than that described above may be included. 2024278434 16 Dec 2024 Returning to the description of the decoding section 612, the decoding section 612 derives the quantization transformation coefficient level qcoef in each coefficient position within each transformation block with reference to the residual information Rinfo. The decoding section 612 feeds the quantization transformation coefficient level qcoef to the dequantization section 613.
[0223] Additionally, the decoding section 612 feeds each block with the header information Hinfo, prediction mode information Pinfo, quantization transformation coefficient level qcoef, transformation information Tinfo, and filter information Finfo that have been parsed. Specifically, the information is fed as described below.
[0224] The header information Hinfo is fed to the dequantization section 613, the inverse orthogonal transformation section 614, the prediction section 619, and the in-loop filter section 616. The prediction mode information Pinfo is fed to the dequantization section 613 and the prediction section 619. The transformation information Tinfo is fed to the dequantization section 2024278434 16 Dec 2024 613 and the inverse orthogonal transformation section 614. The filter information Finfo is fed to the in-loop filter section 616.
[0225] Needless to say, the above-described example is illustrative and not restrictive. For example, each of the coding parameters may be fed to any processing section. Additionally, other information may be fed to any processing section.
[0226] <Dequantization section> The dequantization section 613 executes processing related to dequantization. For example, the dequantization section 613 receives, as inputs, the transformation information Tinfo and the quantization transformation coefficient level qcoef that are fed from the decoding section 612, and scales (dequantizes) the value of the quantization transformation coefficient level qcoef on the basis of the transformation information Tinfo, thereby deriving a dequantized transformation coefficient coefI.
[0227] Note that the dequantization is executed as inverse processing of the quantization executed by the 2024278434 16 Dec 2024 quantization section 514. Additionally, the dequantization is processing similar to the dequantization executed by the dequantization section 517. In other words, the dequantization section 517 executes processing (dequantization) similar to the processing executed by the dequantization section 613.
[0228] The dequantization section 613 feeds the derived transformation coefficient coefl to the inverse orthogonal transformation section 614.
[0229] cinverse orthogonal transformation section> The inverse orthogonal transformation section 614 executes processing related to inverse orthogonal transformation. For example, the inverse orthogonal transformation section 614 receives, as inputs, the transformation coefficient coefl fed from the dequantization section 613 and the transformation information Tinfo fed from the decoding section 612, and executes inverse orthogonal transformation on the transformation coefficient coefl on the basis of the transformation information Tinfo, thereby deriving prediction residual resil.
[0230] 2024278434 16 Dec 2024 Note that the inverse orthogonal transformation is executed as inverse processing of the orthogonal transformation executed by the orthogonal transformation section 513. Additionally, the inverse orthogonal transformation is processing similar to the inverse orthogonal transformation executed by the inverse orthogonal transformation section 518. In other words, the inverse orthogonal transformation section 518 executes processing (inverse orthogonal transformation) similar to the processing executed by the inverse orthogonal transformation section 614.
[0231] The inverse orthogonal transformation section 614 feeds the derived prediction residual resil to the calculation section 615.
[0232] CGalculation section> The calculation section 615 executes processing related to addition of information regarding an image. For example, the calculation section 615 receives, as inputs, the prediction residual resil fed from the inverse orthogonal transformation section 614 and the prediction image P fed from the prediction section 619. The calculation section 615 adds the prediction residual 2024278434 16 Dec 2024 resil and the prediction image P (prediction signal) corresponding to the prediction residual resil to derive a local decoded image Rlocal, as indicated by the Equation (5) below.
[0233] [Math. 5] Rlocal = resil + P ... (5)
[0234] The calculation section 615 feeds the derived local decoded image Rlocal to the in-loop filter section 616 and the frame memory 618.
[0235] <In-loop filter section> The in-loop filter section 616 executes processing related to in-loop filter processing. For example, the in-loop filter section 616 receives, as inputs, the local decoded image Rlocal fed from the calculation section 615 and the filter information Finfo fed from the decoding section 612. Note that information input to the in-loop filter section 616 is optional and that information other than that described above may be input.
[0236] The in-loop filter section 616 executes filter processing on the local decoded image Rlocal as 2024278434 16 Dec 2024 appropriate on the basis of the filter information Finfo.
[0237] For example, the in-loop filter section 616 applies four in-loop filters including a bilateral filter, a deblocking filter (DBF), an adaptive offset filter (SAO (Sample Adaptive Offset)), and an adaptive loop filter (ALF) in this order. Note that which filter is applied and in which order the filters are applied are optional and can be determined through appropriate selection.
[0238] The in-loop filter section 616 executes filter processing corresponding to the filter processing executed on the coding side (for example, the in-loop filter section 520 of the image coding apparatus 500). Needless to say, the filter processing executed by the in-loop filter section 616 is optional and is not limited to the above-described example. For example, the in-loop filter section 616 may apply a Wiener filter or the like.
[0239] The in-loop filter section 616 feeds the filtered local decoded image Rlocal to the sorting buffer 617 and the frame memory 618.
[0240] <Sorting buffer> 2024278434 16 Dec 2024 The sorting buffer 617 receives, as an input, the local decoded image Rlocal fed from the in-loop filter section 616 and holds (stores) the local decoded image Rlocal. The sorting buffer 617 uses the local decoded image Rlocal to reconstruct decoded images R in picture units and holds the decoded images R (stores the decoded image R in the buffer). The sorting buffer 617 sorts the obtained decoded images R to change the order of the decoded images R from the order of decoding to the order of reproduction. The sorting buffer 617 outputs the group of sorted decoded images R to the outside of the image decoding apparatus 600 as moving image data.
[0241] <Frame memory> The frame memory 618 executes processing related to storage of data regarding an image. For example, the frame memory 618 receives, as an input, the local decoded image Rlocal fed from the calculation section 615, reconstructs decoded images R in picture units, and stores the decoded images R in the buffer in the frame memory 618.
[0242] Additionally, the frame memory 618 receives, as an input, the local decoded image Rlocal subjected to in- 2024278434 16 Dec 2024 loop filtering and fed from the in-loop filter section 616, reconstructs decoded images R in picture units, and stores the decoded images R in the buffer in the frame memory 618. The frame memory 618 feeds any of the decoded images R stored in the frame memory 618 (or a part of the decoded image R) to the prediction section 619 as a reference image, as appropriate.
[0243] Note that the frame memory 618 may store the header information Hinfo, the prediction mode information Pinfo, the transformation information Tinfo, the filter information Finfo, and the like which are related to generation of decoded images.
[0244] <Prediction section> The prediction section 619 executes processing related to generation of a prediction image. For example, the prediction section 619 receives, as an input, the prediction mode information Pinfo fed from the decoding section 612 and performs prediction by using a prediction method specified by the prediction mode information Pinfo, thus deriving a prediction image P. During the derivation, the prediction section 619 uses, as a reference image, the filtered or unfiltered decoded 2024278434 16 Dec 2024 images R (or a part of the decoded images R) stored in the frame memory 618 and specified by the prediction mode information Pinfo. The prediction section 619 feeds the derived prediction image P to the calculation section 615.
[0245] <Application of the present technique> The present technique described above in <3. Concepts> and <4. Method 1> is applied to the image decoding apparatus 600 configured as described above. For example, the "method 1-1" is applied to the image decoding apparatus 600. For example, the decoding section 612 may set VPDUs 121 in the CTU 111 and decode coded data in parallel in each line of the CTUs 111 including the VPDUs 121. Additionally, the decoding section 612 may perform processing of each CTU line so as to delay the processing by an amount corresponding to one CTU with respect to a CTU line immediately above the CTU line.
[0246] For example, the decoding section 612 may decode coded data obtained by coding coefficient data related to an image, in parallel in each line of coding tree units each including a single or a plurality of transformation blocks and corresponding to the topmost coding block in 2024278434 16 Dec 2024 the tree structure, and may perform decoding of each line so as to delay the decoding by an amount corresponding to one coding tree unit with respect to decoding of a line immediately above the line.
[0247] Additionally, for example, the decoding section 612 may decode the coded data in each line of coding tree units of the coefficient data related to the image such that the coding tree units are sequentially decoded one by one from the leftmost coding tree unit.
[0248] In addition, for example, the decoding section 612 may decode the coded data of each coding tree unit for each of the transformation blocks.
[0249] Additionally, for example, the decoding section 612 may entropy-decode the coded data of each transformation block by using an occurrence probability derived from entropy decoding of the coded data of a preceding transformation block.
[0250] In addition, for example, the decoding section 612 may use an initial value of the occurrence probability to entropy-decode the coded data of the first transformation 2024278434 16 Dec 2024 block in the leftmost coding tree unit in the uppermost line of coding tree units in the image. Additionally, for example, the decoding section 612 may entropy-decode the coded data of the first transformation block in each of the leftmost coding tree units in the second uppermost and subsequent lines of coding tree units in the image, by using an occurrence probability derived from entropy decoding of the coded data of the last transformation block in the leftmost coding tree unit in a line of coding tree units immediately above the line.
[0251] Additionally, the "method 1-2" may be applied to the image decoding apparatus 600. Specifically, the prediction section 619 may restrict some modes in the intra prediction. For example, the "method 1-2-1" may be applied to the image decoding apparatus 600. Specifically, in the intra prediction of an upper right VPDU in a CTU, the prediction section 619 may perform the intra prediction while referencing of a VPDU at the upper right of the upper right VPDU is made unavailable.
[0252] For example, in the intra prediction of an upper right transformation block in a coding tree unit, the prediction section 619 may make referencing of a 2024278434 16 Dec 2024 transformation block at the upper right of the upper right transformation block unavailable.
[0253] Additionally, the "method 1-3" may be applied to the image decoding apparatus 600. Specifically, the prediction section 619 may restrict the inter prediction. For example, the "method 1-3-1" may be applied to the image decoding apparatus 600. Specifically, in the inter prediction in which an upper right VPDU in a CTU is used as the current prediction block, the prediction section 619 may perform the inter prediction while referencing of the inter prediction mode and motion vector of a VPDU at the upper right of the upper right VPDU is made unavailable .
[0254] For example, in the inter prediction of an upper right transformation block in a coding tree unit, the prediction section 619 may make referencing of a transformation block at the upper right of the upper right transformation block unavailable.
[0255] Additionally, for example, the "method 1-3-2" may be applied to the image decoding apparatus 600. Specifically, in the inter prediction of a prediction 2024278434 16 Dec 2024 block with a block size of 128><N, the prediction section 619 may perform the inter prediction while referencing of the inter prediction mode and motion vector of a block at the upper right of the prediction block is made unavailable .
[0256] For example, in the inter prediction of a prediction block corresponding to a processing unit of the inter prediction and having the same horizontal length as that of the coding tree unit, the prediction section 619 may make referencing of a transformation block at the upper right of the prediction block unavailable .
[0257] Such a configuration enables the image decoding apparatus 600 to suppress a decrease in the parallelism of decoding, allowing suppression of an increase in processing time.
[0258] <5-4: Flow of processing> <Flow of image decoding processing> Next, a flow of each type of processing executed by the image decoding apparatus 600 as described above will be described below. First, an example of a flow of image 2024278434 16 Dec 2024 decoding processing will be described with reference to a flowchart in FIG. 20.
[0259] When the image decoding processing is started, in step S301, the store buffer 611 acquires coded data (bit stream) fed from the outside of the image decoding apparatus 600 and holds (stores) the coded data.
[0260] In step S302, the decoding section 612 executes decoding processing to decode the coded data (bit stream), obtaining a quantization transformation coefficient level qcoef. Additionally, the decoding section 612 executes the decoding to parse (analyze and acquire) various types of coding parameters from the coded data (bit stream). The details of the decoding processing will be described below.
[0261] In step S303, the dequantization section 613 executes dequantization corresponding to the inverse processing of the quantization executed on the coding side, on the quantization transformation coefficient level qcoef obtained by the processing in step S302, thus obtaining a transformation coefficient coefI.
[0262] 2024278434 16 Dec 2024 In step S304, the inverse orthogonal transformation section 614 executes inverse orthogonal transformation processing corresponding to the inverse processing of the orthogonal transformation processing executed on the coding side, on the transformation coefficient coefl obtained by the processing in step S303, thus obtaining a prediction residual resil.
[0263] In step S305, the prediction section 619 executes prediction processing by using a prediction method specified by the coding side, on the basis of the information parsed in step S302, and generates a prediction image P by, for example, referencing the reference image stored in the frame memory 618.
[0264] In step S306, the calculation section 615 adds the prediction residual resil obtained by the processing in step S304 and the prediction image P obtained by the processing in step S305, to derive a local decoded image Rlocal.
[0265] In step S307, the in-loop filter section 616 executes in-loop filter processing on the local decoded image Rlocal obtained by the processing in step S306. 2024278434 16 Dec 2024
[0266] Additionally, in step S308, the frame memory 618 stores at least either the local decoded image Rlocal obtained by the processing in step S306 or the filtered local decoded image Rlocal obtained by the processing in step S307.
[0267] In step S309, the sorting buffer 617 uses the filtered local decoded image Rlocal obtained by the processing in step S307 to derive decoded images R, and sorts the group of decoded images R to change the order of the decoded images R from the order of decoding to the order of reproduction.
[0268] In step S310, the sorting buffer 617 outputs the group of decoded images R sorted into the order of reproduction, to the outside of the image decoding apparatus 600 as moving images. When the processing in step S310 ends, the image decoding processing ends.
[0269] In the decoding processing executed in step S302 of the image decoding processing as described above, the decoding section 612 decodes coded data obtained by coding coefficient data related to an image, in parallel 2024278434 16 Dec 2024 in each line of coding tree units each including a single or a plurality of transformation blocks and corresponding to the topmost coding block in the tree structure, and performs decoding of each line so as to delay the decoding by an amount corresponding to one coding tree unit with respect to decoding of a line immediately above the line. This enables the image decoding apparatus 600 to suppress a decrease in the parallelism of decoding, allowing suppression of an increase in processing time.
[0270] <Flow of decoding processing> Next, an example of a flow of decoding processing executed in step S302 in FIG. 20 will be described with reference to a flowchart in FIG. 21.
[0271] When the decoding processing is started, in step S331, the decoding section 612 sets, to an initial value (= 1), the variable T indicating the position of the CTU line to be processed (a line number in order starting from the uppermost line in the image).
[0272] In step S332, the decoding section 612 executes CTU processing on the CTU line 1 corresponding to the uppermost line in the image. The details of the in 2024278434 16 Dec 2024 processing will be described below. When the processing on the CTU line 1 ends, the processing proceeds to step S333.
[0273] In step S333, the decoding section 612 determines whether or not there is any unprocessed CTU line. In a case where the decoding section 612 determines that the processing has not been executed down to the lowermost CTU line and that there is an unprocessed CTU line, the processing proceeds to step S334.
[0274] In step S334, the decoding section 612 adds 1 to the value of the variable T (T = T + 1) . When the value of the variable T is incremented, the processing proceeds to step S335.
[0275] In step S335, the decoding section 612 executes CTU processing on a CTU line T corresponding to the T-th line from the uppermost line in the image. The details of the processing will be described below. When the processing on the CTU line T ends, the processing returns to step S333.
[0276] In other words, the processing in steps S333 to 2024278434 16 Dec 2024 S335 is repeated until all the CTU lines are processed. Then, in step S333, in a case where the decoding section 612 determines that there is no unprocessed CTU line (all the CTU lines have been processed), the decoding processing ends, and the processing returns to FIG. 20.
[0277] <Flow of VPDU processing on CTU line 1> Next, an example of a flow of the CTU processing on the CTU line 1 executed in step S332 in FIG. 21 will be described With reference to a flowchart in FIG. 22.
[0278] When the CTU processing is started, in step S351, the decoding section 612 sets, to an initial value (= 1), the variable i indicating the position of the current CTU (a CTU number in order starting from the leftmost CTU in the image). Additionally, the decoding section 612 sets the value N to the number of CTUs in the horizontal direction .
[0279] In step S352, the decoding section 612 initializes the CABAC context (occurrence probability).
[0280] In step S353, the decoding section 612 determines whether or not the variable i is equal to or less than N 2024278434 16 Dec 2024 (i <= N) . In a case where the decoding section 612 determines that the variable i is equal to or less than N and that the CTU line 1 includes an unprocessed CTU, the processing proceeds to step S354.
[0281] In step S354, the decoding section 612 decodes the coded data of the i-th CTU from the leftmost end.
[0282] In step S355, the decoding section 612 determines whether or not the value of the variable i is 1 (i == 1). In a case where the value of the variable i is determined to be 1 (that is, in step S354, the leftmost CTU in the image is processed), the processing proceeds to step S356.
[0283] In step S356, the decoding section 612 saves a CABAC context (occurrence probability) of the last VPDU in the leftmost CTU in the image, the CABAC context having been generated in step S354. When the context is saved, the processing proceeds to step S357.
[0284] Additionally, in step S355, in a case where the value of the variable i is determined not to be 1 (in step S354, a CTU other than the leftmost CTU in the image 2024278434 16 Dec 2024 is processed or the processing of the leftmost CTU in the image has not been finished), step S356 of processing is skipped, and the processing proceeds to step S357.
[0285] In step S357, the decoding section 612 determines whether or not the value of the variable i is equal to or greater than 1 (i >= 1) . In a case where the value of the variable i is determined to be equal to or greater than 1, the processing proceeds to step S358.
[0286] In step S358, the decoding section 612 notifies completion of the CTU processing to the CTU line 2 processing thread corresponding to a thread that processes the CTU line 2. When the completion of the CTU processing is notified, the processing proceeds to step S359.
[0287] Additionally, in step S357, in a case where the value of the variable i is determined to be less than 1 (the processing of the leftmost CTU has not been finished), step S358 of processing is skipped, and the processing proceeds to step S359.
[0288] In step S359, the decoding section 612 adds 1 to 2024278434 16 Dec 2024 the value of the variable i (i = i + 1) . When the value of the variable i is incremented, the processing returns to step S353.
[0289] In other words, the processing in steps S353 to S359 is repeated until all the CTUs in the CTU line 1 are processed. Then, in step S353, in a case where the decoding section 612 determines that there is no unprocessed CTU (all the CTUs in the CTU line 1 have been processed), the CTU processing ends, and the processing returns to FIG. 21.
[0290] <Flow of CTU processing on CTU line T> Next, an example of a flow of CTU processing on the CTU line T executed in step S335 in FIG. 21 will be described with reference to flowcharts in FIG. 23 and FIG. 24.
[0291] When the CTU processing in such a case is started, in step S371, the decoding section 612 waits until the decoding section 612 receives notification of completion of CTU processing from the CTU line T-l processing thread corresponding to a thread that processes the CTU line T-l immediately above the CTU line T. When the notification 2024278434 16 Dec 2024 of completion of the CTU processing is received from the CTU line T-l processing thread, the processing proceeds to step S372.
[0292] In step S372, the decoding section 612 sets the variable i to the initial value (= 1). Additionally, the decoding section 612 sets the value N to the number of CTUs in the horizontal direction.
[0293] In step S373, the decoding section 612 takes over a CABAC context (occurrence probability) saved when the CTU processing is executed on the CTU line T-l immediately above the CTU line T, and initializes the CABAC.
[0294] In step S374, the decoding section 612 determines whether or not the variable i is equal to or less than N (i <= N) . In a case where the decoding section 612 determines that the variable i is equal to or less than N and that the CTU line T includes an unprocessed CTU, the processing proceeds to step S375.
[0295] In step S375, in order to control processing timings, the decoding section 612 waits until the decoding section 612 receives notification of completion 2024278434 16 Dec 2024 of CTU processing from the CTU line T-l processing thread. When the notification of completion of CTU processing is received from the CTU line T-l processing thread, the processing proceeds to step S376.
[0296] In step S376, the decoding section 612 makes referencing of a CTU at the upper right of the current CTU unavailable. Accordingly, in a case where the prediction processing (step S305 in FIG. 20) includes the inter prediction in which the upper right VPDU in the CTU is used as the current prediction block, the prediction section 619 can perform the inter prediction while referencing of the inter prediction mode and motion vector of a VPDU at the upper right of the current prediction block (that is, a CTU at the upper right of the current CTU) is made unavailable.
[0297] In step S377, the decoding section 612 decodes the coded data of the i-th CTU from the leftmost end. When the decoding ends, the processing proceeds to step S381 in FIG. 24.
[0298] In step S381, the decoding section 612 determines whether or not the i-th CTU is in an Interl28xN mode 2024278434 16 Dec 2024 (that is, whether or not the i-th CTU is included in the prediction block of 128><N in which the inter prediction has been performed). In a case where the decoding section 612 determines that the i-th CTU is in the Interl28*N mode, the processing proceeds to step S382.
[0299] In step S382, in such a case, the current CTU is included in the prediction block with a block size of 128*N in which the inter prediction has been performed, and thus, the decoding section 612 makes referencing of a block at the upper right of the prediction block unavailable. When the processing in step S382 ends, the processing proceeds to step S383.
[0300] Additionally, in step S381, in a case where the i-th CTU is determined not to be in the Interl28*N mode, step S382 of processing is skipped (omitted), and the processing proceeds to step S383.
[0301] In step S383, the decoding section 612 determines whether or not the value of the variable i is 1 (i == 1). In a case where the value of the variable i is determined to be 1, the processing proceeds to step S384.
[0302] 2024278434 16 Dec 2024 In step S384, the decoding section 612 saves the CABAC context (occurrence probability) of the current VPDU (last VPDU in the leftmost CTU in the image), the CABAC coding having been generated in step S377 in FIG. 23. When the context is saved, the processing proceeds to step S385.
[0303] Additionally, in step S383, in a case where the value of the variable i is determined not to be 1 (the leftmost CTU in the image is not the processing target), step S384 of processing is skipped, and the processing proceeds to step S385.
[0304] In step S385, the decoding section 612 determines whether or not the value of the variable i is equal to or greater than 1 (i >= 1) . In a case where the value of the variable i is determined to be equal to or greater than 1, the processing proceeds to step S386.
[0305] In step S386, the decoding section 612 notifies completion of the CTU processing to the CTU line T+l processing thread corresponding to a thread that processes the CTU line T+l immediately below the CTU line T. When the completion of the CTU processing is notified, 2024278434 16 Dec 2024 the processing proceeds to step S387.
[0306] Additionally, in step S385, in a case where the value of the variable i is determined to be less than 1 (the leftmost CTU in the image as a processing target has not completely been processed), step S386 of processing is skipped, and the processing proceeds to step S387.
[0307] In step S387, the decoding section 612 adds 1 to the value of the variable i (i = i + 1) . When the value of the variable i is incremented, the processing returns to step S374 in FIG. 23.
[0308] In other words, the processing in steps S374 to S377 in FIG. 23 and the processing in steps S381 to S387 in FIG. 24 are repeated until all the CTUs in the CTU line T are processed. Then, the decoding section 612 determines that there is no unprocessed CTU (all the CTUs in the CTU line T have been processed) in step S374, the CTU processing ends, and the processing returns to FIG. 21.
[0309] By executing the processing as described above, the image decoding apparatus 600 can suppress a decrease in 2024278434 16 Dec 2024 the parallelism of decoding.
[0310] <6. Supplementary feature> <Computer> The sequence of steps of processing can be executed by hardware or software. In a case where the sequence of steps of processing is executed by software, a program included in the software is installed in the computer. Here, examples of the computer include a computer integrated in dedicated hardware and, for example, a general-purpose computer that can execute various types of functions by installing various types of programs.
[0311] FIG. 25 is a block diagram illustrating a configuration example of hardware of a computer that executes the sequence of steps of processing described above according to a program.
[0312] In a computer 800 illustrated in FIG. 25, a CPU (Central Processing Uni) 801, a ROM (Read Only Memory) 802, and a RAM (Random Access Memory) 803 are connected together via a bus 804.
[0313] An input / output interface 810 is also connected to 2024278434 16 Dec 2024 the bus 804. The input / output interface 810 is connected to an input section 811, an output section 812, a storage section 813, a communication section 814, and a drive 815.
[0314] The input section 811 includes, for example, a keyboard, a mouse, a microphone, a touch panel, an input terminal, and the like. The output section 812 includes, for example, a display, a speaker, an output terminal, and the like. The storage section 813 includes, for example, a hard disk, a RAM disk, a nonvolatile memory, and the like. The communication section 814 includes, for example, a network interface. The drive 815 drives a removable medium 821 such as a magnetic medium, an optical disk, a magneto-optical disc, or a semiconductor memory.
[0315] In the computer configured as described above, the CPU 801, for example, loads a program stored in the storage section 813 into the RAM 803 via the input / output interface 810 and the bus 804 and executes the program, thus performing the sequence of steps of processing described above. The RAM 803 also stores, for example, data required for the CPU 801 to execute various steps of 2024278434 16 Dec 2024 processing, as necessary.
[0316] The program executed by a computer (CPU 801) can be, for example, recorded in the removable medium 821 used as a package medium or the like for application. In such a case, the program can be installed in the storage section 813 via the input / output interface 810 by mounting the removable medium 821 to the drive 815.
[0317] Additionally, the program can be provided via a wired or wireless transmission medium such as a local area network, the Internet, or digital satellite broadcasting. In such a case, the program can be received by the communication section 814 and installed in the storage section 813.
[0318] Otherwise, the program can be installed in the ROM 802 or the storage section 813 in advance.
[0319] <Units of information and processing> The data units in which the various types of information described above are set, and the data units corresponding to the targets of various types of processing are optional and are not limited to the 2024278434 16 Dec 2024 examples described above. For example, the information and processing described above may be set for each of TUs (Transform Units), TBs (Transform Blocks), PUs (Prediction Units), PBs (Prediction Blocks), CUs (Coding Units), LCUs (Largest Coding Units), subblocks, blocks, tiles, slices, pictures, sequences, or components, or data in such data units may be processed. Needless to say, the data unit can be set for each piece of information and for each step of processing, and a common data unit need not be used for all the information and the processing. Note that these pieces of information are stored in any locations and may be stored in headers, parameter sets, and the like in the data units described above. Additionally, the information may be stored in a plurality of locations.
[0320] CGontrol information> Control information related to the present technique and described in the embodiments described above may be transmitted from the coding side to the decoding side. For example, control information (for example, enabled_flag) may be transmitted that is used to control whether or not to permit (or prohibit) application of the present technique described above. 2024278434 16 Dec 2024 Additionally, for example, control information may be transmitted that indicates a target to which the present technique described above is applied (or a target to which the present technique described above is not applied). For example, control information may be transmitted that specifies the block size (upper or lower limit or both), frames, components, layers, or the like to which the present technique is applied (or for which the application is permitted or prohibited).
[0321] <Application target of present technique> The present technique can be applied to any image coding and decoding schemes. Specifically, insofar as consistent with the present technique described above, specifications of various types of processing related to image coding and decoding, such as transformation (inverse transformation), quantization (dequantization), coding (decoding), and prediction, are optional, and the specifications are not limited to the above-described examples. Additionally, insofar as consistent with the present technique described above, some of these types of processing may be omitted.
[0322] In addition, the present technique can be applied 2024278434 16 Dec 2024 to multi-view image coding and decoding system for coding and decoding a multi-view image including images in a plurality of views. In such a case, it is sufficient to apply the present technique to coding and decoding in each view.
[0323] Further, the present technique can be applied to a layered image coding (scalable coding) and decoding system for coding and decoding a layered image that has a plurality of layers (has a hierarchical structure) to provide a scalability function for certain parameters. In such a case, it is sufficient to apply the present technique to coding and decoding of each layer.
[0324] The image processing apparatus, the image coding apparatus, and the image decoding apparatus according to the embodiments described above may be applied to various types of electronic equipment including, for example, transmitters and receivers (for example, television receivers and cellular phones) in satellite broadcasting, in wired broadcasting such as cable TV, in distribution on the Internet, and in distribution to terminals through cellular communication, or apparatuses (for example, hard disk recorders and cameras) that record images in media 2024278434 16 Dec 2024 such as an optical disc, a magnetic disk, and a flash memory and that reproduce the images from these storage media .
[0325] Additionally, the present technique can be implemented as any configurations mounted in any apparatus or an apparatus included in a system, such as a processor used as a system LSI (Large Scale Integration) or the like (for example, a video processor), a module using a plurality of processors or the like (for example, a video module), a unit using a plurality of modules or the like (for example, a video unit), a set including the unit to which any other function is added (for example, video set), and the like (that is, as a configuration corresponding to a part of the apparatus).
[0326] Further, the present technique can be applied to a network system including a plurality of apparatuses. For example, the present technique can be applied to cloud services that provide services related to images (moving images) to any terminal such as a computer, AV (Audio Visual) equipment, a portable information processing terminal, or an loT (Internet of Things) device. 2024278434 16 Dec 2024 Note that the system, apparatus, processing section, and the like to which the present technique is applied can be utilized in any field such as traffic, medical care, crime prevention, agriculture, the livestock industry, the mining industry, beauty care, factories, home electrical appliances, weather service, and nature surveillance. Additionally, they can be used for any purposes.
[0328] For example, the present technique can be applied to systems and devices used to provide content for viewing and the like. Additionally, the present technique can be applied to systems and devices used for traffic purposes such as administration of traffic conditions and automatic operation control. Further, for example, the present technique can be applied to systems and devices used for security purposes. Additionally, for example, the present technique can be applied to systems and devices used for automatic control of machines and the like. Further, for example, the present technique can be applied to systems and devices used for agriculture and the livestock industry. Additionally, the present technique can be applied to systems and devices that monitor, for example, the conditions of nature such as 2024278434 16 Dec 2024 volcanoes, forests, and seas, wildlife, and the like. Furthermore, for example, the present technique can be applied to systems and devices used for sport purposes.
[0329] <Others> Note that the "flag" as used herein refers to information used to distinguish a plurality of states from one another and includes information used to distinguish three or more states from one another as well as two states of true (1) and false (0). Consequently, values that may be taken by the "flag" may be a binary value of 1 / 0 or three or more values. Specifically, the number of bits included in the "flag" is optional, and the "flag" includes one or more bits. Additionally, identification information (including the flag) is assumed to be in a form in which difference information between the identification information and information used as a reference is included in a bit stream, as well as in a form in which the identification information is included in the bit stream. The "flag" and "identification information" as used herein include not only the information itself but also the difference information with respect to the reference information. 2024278434 16 Dec 2024 Additionally, various types of information (metadata and the like) related to coded data (bit stream) may be transmitted or recorded in any form as long as the information is associated with the coded data. Here, the term "associate" means that two pieces of data are configured such that, for example, when one piece of the data is processed, the other piece of the data can be used for (linked to) the processing. In other words, pieces of data associated with each other may be compiled into one data or used as individual data. For example, the information associated with the coded data (image) may be transmitted through a transmission path different from a transmission path through which the coded data (image) is transmitted. Additionally, for example, the information associated with the coded data (image) may be recorded in a recording medium different from a recording medium in which the coded data (image) is recorded (or may be recorded in a different recording area in the same recording medium). Note that the "association" may be performed on part of the data rather than the entire data. For example, an image and information corresponding to the image may be associated with each other in any unit such as a plurality of frames, one frame, or a portion within the frame. 2024278434 16 Dec 2024
[0331] Note that the terms "synthesize," "multiplex," "add," "integrate," "include," "store," "put into," "plug into," "insert," and the like mean that multiple objects are brought together and that, for example, coded data and metadata are compiled into one data, and represent one method for the above-described "association."
[0332] Additionally, embodiments of the present technique are not limited to the above-described embodiments and can be variously modified without departing from the scope of the present technique.
[0333] In addition, for example, a configuration described as one apparatus (or processing section) may be divided into a plurality of apparatuses (or processing sections). In contrast, a configuration described above as a plurality of apparatuses (or processing sections) may be brought together into one apparatus (or processing section). Further, needless to say, the configuration of each apparatus (or each processing section) may include additional components other than the components described above. Furthermore, a part of the configuration of one apparatus (or processing section) may be included in the 2024278434 16 Dec 2024 configuration of another apparatus (or another processing section) as long as the apparatuses are substantially the same in the configuration or operation of the overall system.
[0334] Note that the system as used herein means a set of a plurality of components (apparatuses, modules (parts), or the like) regardless of whether or not all the components are located in the same housing. Consequently, a plurality of apparatuses housed in separate housings and connected together via a network and one apparatus with a plurality of modules housed in one housing are both systems.
[0335] Additionally, for example, the present technique can take a configuration of cloud computing in which one function is shared and cooperatively processed by a plurality of apparatuses via a network.
[0336] Additionally, for example, the above-described program can be executed in any apparatus. In such a case, it is sufficient to provide the apparatus with required functions (functional blocks or the like) and enable the apparatus to obtain required information. 2024278434 16 Dec 2024
[0337] Additionally, for example, each of the steps described above in the flowcharts can be shared by a plurality of apparatuses, instead of being executed by one apparatus. Further, in a case where one step includes a plurality of types of processing, the plurality of types of processing included in the one step can be shared by a plurality of apparatuses, instead of being executed by one apparatus. In other words, the plurality of types of processing included in the one step can be executed as a plurality of steps of processing. In contrast, processing described as a plurality of steps can be brought together into one step.
[0338] Note that, for the program executed by the computer, the steps of processing of describing the program may be chronologically executed according to the order described herein, may be executed in parallel, or may be individually executed at required timings such as a timing when the program is invoked. In other words, insofar as consistent with the present technique, the processing of the steps may be executed in an order different from the above-described order. Further, the processing of the steps of describing the program may be 2024278434 16 Dec 2024 executed in parallel or combination with processing of another program.
[0339] Note that a plurality of the present techniques described herein can be implemented independently as a single technique, insofar as consistent with the present techniques. Needless to say, any plurality of the present techniques can be implemented together. For example, a part or all of the present technique described in any one of the embodiments can be combined with a part or all of the present technique described in another embodiment and can be implemented. Additionally, a part or all of any of the above-described present techniques can be implemented along with another technique not described above.
[0340] Note that the present technique can also take the following configurations. (1) An image processing apparatus including: a coding section that codes coefficient data related to an image in parallel in each line of transformation blocks each used as a unit in which image data is transformed into the coefficient data. 2024278434 16 Dec 2024 The image processing apparatus according to (1), in which the coding section codes each line of the transformation blocks of the coefficient data related to the image such that the transformation blocks are sequentially coded one by one from a leftmost transformation block, and entropy-codes each of the transformation blocks by using an occurrence probability derived from preceding entropy coding. (3) The image processing apparatus according to (2), in which the coding section entropy-codes a leftmost transformation block in an uppermost line of the transformation blocks in the image by using an initial value of the occurrence probability, and entropy-codes a leftmost transformation block in each of second uppermost and subsequent lines of the transformation blocks in the image by using the occurrence probability derived from entropy coding of a second leftmost transformation block in a line of the transformation blocks immediately above the line to be coded. 2024278434 16 Dec 2024 The image processing apparatus according to (2), in which the coding section entropy-codes a leftmost transformation block in an uppermost line of the transformation blocks in the image by using an initial value of the occurrence probability, entropy-codes a leftmost transformation block in a line of transformation blocks belonging to a same coding tree unit as a coding tree unit of the transformation blocks immediately above the transformation blocks to be coded, the line corresponding to one of second uppermost and subsequent lines of the transformation blocks in the image, the coding tree unit corresponding to a topmost coding block in a tree structure, by using the occurrence probability derived from entropy coding of a second leftmost transformation block in a line of the transformation blocks immediately above the line to be coded, and entropy-codes a leftmost transformation block in a line of transformation blocks belonging to a coding tree unit different from a coding tree unit of the transformation blocks immediately above the transformation blocks to be coded, the line corresponding to one of second uppermost and subsequent lines of the 2024278434 16 Dec 2024 transformation blocks in the image, by using the occurrence probability derived from entropy coding of a third leftmost transformation block in a line of the transformation blocks immediately above the line to be coded. (5) The image processing apparatus according to (1), in which the transformation block is a VPDU (Virtual Pipeline Data Unit). (6) The image processing apparatus according to (1), further including: a prediction section that performs intra prediction on the image, in which, in the intra prediction of an upper left transformation block in a coding tree unit corresponding to a topmost coding block in a tree structure, the prediction section makes referencing of a lower right transformation block in a preceding coded coding tree unit unavailable. (7) The image processing apparatus according to (1), further including: a prediction section that performs inter prediction 2024278434 16 Dec 2024 on the image, in which, in the inter prediction of an upper left transformation block in a coding tree unit corresponding to a topmost coding block in a tree structure, the prediction section makes referencing of a motion vector of a lower right transformation block in a preceding coded coding tree unit unavailable. (8) The image processing apparatus according to (1), further including: a prediction section that performs inter prediction on the image, in which, in the inter prediction of a prediction block corresponding to a processing unit of the inter prediction and having a horizontal length identical to a horizontal length of a coding tree unit that corresponds to a topmost coding block in a tree structure, the prediction section makes referencing of a motion vector of a transformation block at upper right of the prediction block unavailable. (9) The image processing apparatus according to (1), in which, for a prediction block corresponding to a processing unit of the inter prediction and having a 2024278434 16 Dec 2024 vertical length identical to a vertical length of a coding tree unit that corresponds to a topmost coding block in a tree structure, the coding section codes, for each of the prediction blocks, mode information indicating a mode of the inter prediction and codes a residual data between the image and a prediction image for each of transformation blocks included in the prediction block. (10) An image processing method including: coding coefficient data related to an image in parallel in each line of transformation blocks each corresponding to a unit in which image data is transformed into the coefficient data.
[0341] (11) An image processing apparatus including: a decoding section that decodes coded data obtained by coding coefficient data related to an image, in parallel in each line of transformation blocks each corresponding to a unit in which image data is transformed into the coefficient data. The image processing apparatus according to (11), 2024278434 16 Dec 2024 in which the decoding section decodes the coded data in each line of the transformation blocks of the coefficient data related to the image such that the transformation blocks are sequentially decoded one by one from a leftmost transformation block, and entropy-decodes the coded data of each transformation block by using an occurrence probability derived from preceding entropy decoding. (13) The image processing apparatus according to (12), in which the decoding section entropy-decodes the coded data of a leftmost transformation block in an uppermost line of the transformation blocks in the image by using an initial value of the occurrence probability, and entropy-decodes the coded data of a leftmost transformation block in each of second uppermost and subsequent lines of the transformation blocks in the image by using the occurrence probability derived from entropy decoding of the coded data of a second leftmost transformation block in a line of the transformation blocks immediately above the line to be decoded. 2024278434 16 Dec 2024 The image processing apparatus according to (12), in which the decoding section entropy-decodes the coded data of a leftmost transformation block in an uppermost line of the transformation blocks in the image by using an initial value of the occurrence probability, entropy-decodes the coded data of a leftmost transformation block in a line of transformation blocks belonging to a same coding tree unit as a coding tree unit of the transformation blocks immediately above the transformation blocks to be decoded, the line corresponding to one of second uppermost and subsequent lines of the transformation blocks in the image, the coding tree unit corresponding to a topmost coding block in a tree structure, by using the occurrence probability derived from entropy decoding of the coded data of a second leftmost transformation block in a line of the transformation blocks immediately above the line to be decoded, and entropy-decodes the coded data of a leftmost transformation block in a line of transformation blocks belonging to a coding tree unit different from a coding tree unit of the transformation blocks immediately above the transformation blocks to be decoded, the line 2024278434 16 Dec 2024 corresponding to one of second uppermost and subsequent lines of the transformation blocks in the image, by using the occurrence probability derived from entropy decoding of the coded data of a third leftmost transformation block in a line of the transformation blocks immediately above the line to be decoded. (15) The image processing apparatus according to (11), in which the transformation block is a VPDU (Virtual Pipeline Data Unit). (16) The image processing apparatus according to (11), further including: a prediction section that performs intra prediction on the image, in which, in the intra prediction of an upper left transformation block in a coding tree unit corresponding to a topmost coding block in a tree structure, the prediction section makes referencing of a lower right transformation block in a preceding decoded coding tree unit unavailable. (17) The image processing apparatus according to (11), further including: 2024278434 16 Dec 2024 a prediction section that performs inter prediction on the image, in which, in the inter prediction of an upper left transformation block in a coding tree unit corresponding to a topmost coding block in a tree structure, the prediction section makes referencing of a motion vector of a lower right transformation block in a preceding decoded coding tree unit unavailable. (18) The image processing apparatus according to (11), further including: a prediction section that performs inter prediction on the image, in which, in the inter prediction of a prediction block corresponding to a processing unit of the inter prediction and having a horizontal length identical to a horizontal length of a coding tree unit that corresponds to a topmost coding block in a tree structure, the prediction section makes referencing of a motion vector of a transformation block at upper right of the prediction block unavailable. (19) The image processing apparatus according to (11), in which, for a prediction block corresponding to a 2024278434 16 Dec 2024 processing unit of the inter prediction and having a vertical length identical to a vertical length of a coding tree unit that corresponds to a topmost coding block in a tree structure, the decoding section decodes, for each of the prediction blocks, the coded data of mode information indicating a mode of the inter prediction and decodes the coded data of a residual data between the image and a prediction image for each of transformation blocks included in the prediction block. (20) An image processing method including: decoding coded data obtained by coding coefficient data related to an image, in parallel in each line of transformation blocks each corresponding to a unit in which image data is transformed into the coefficient data . [Reference Signs List]
[0342] 500: Image coding apparatus 501: Control section 515: Coding section 522: Prediction section 600: Image decoding apparatus 612: Decoding section 2024278434 16 Dec 2024 619: Prediction section
Claims
2024278434 16 Dec 2024[CLAIMS]1. An image encoding apparatus comprising:circuitry configured to:divide an image into a plurality of Coding Tree Units (CTUs), the divided image comprising a plurality of CTU lines in parallel;divide each CTU of the plurality of CTUs into a plurality of quadtree blocks, wherein each block of the plurality of quadtree blocks is a processing unit having a size smaller than that of the CTU;determine whether Wavefront Parallel Processing (WPP) is applied to code the plurality of CTUs, wherein the WPP has a delay of one CTU between adjacent CTU lines of the plurality of CTU lines;upon determining that the WPP is not applied to code the plurality of CTUs, perform intra prediction from an upper right quadtree block of a current CTU of a current CTU line of the plurality of CTU lines to a lower left quadtree block of a non-adjacent upper right CTU of the adjacent upper CTU line; andupon determining that the WPP is applied to code the plurality of CTUs, not perform the intra prediction of the upper right quadtree block of the current CTU to the lower left quadtree block of the non-adjacent upper right CTU.2024278434 16 Dec 20242. The image encoding apparatus according to claim 1, wherein the circuitry is configured to:based on determining that the WPP is applied to code the plurality of CTUs, code each CTU line of the plurality of CTU lines such that the plurality of CTUs are sequentially coded one by one from a leftmost CTU in each CTU line.
3. The image encoding apparatus according to claim 2, wherein the circuitry is configured to code each of the plurality of CTUs for each of the plurality of quadtree blocks .
4. The image encoding apparatus according to claim 3,wherein the circuitry is configured to entropy-code each of the plurality of quadtree blocks by using an occurrence probability derived from entropy coding of a corresponding preceding quadtree block.
5. The image encoding apparatus according to claim 4, wherein the circuitry is configured to:entropy-code a first quadtree block in a leftmost CTU of the plurality of CTUs in an uppermost line of the coding2024278434 16 Dec 2024tree units in the image by using an initial value of an occurrence probability, andentropy-code a first quadtree block in a leftmost CTU of the plurality of CTUs in each of second uppermost and subsequent lines of the coding tree units in the image, by using an occurrence probability derived from entropy coding of a last quadtree block in a leftmost coding tree unit in a line of the coding tree units immediately above the line to be coded.
6. An image processing method performed by an electronic device, the method comprising:dividing an image into a plurality of Coding Tree Units (CTUs), the divided image comprising a plurality of CTU lines in parallel;dividing each CTU of the plurality of CTUs into a plurality of quadtree blocks, wherein each block of the plurality of quadtree blocks is a processing unit having a size smaller than that of the CTU;determining whether Wavefront Parallel Processing (WPP) is applied to code the plurality of CTUs, wherein the WPP has a delay of one CTU between adjacent CTU lines of the plurality of CTU lines;upon determining that the WPP is not applied to code2024278434 16 Dec 2024the plurality of CTUs, performing intra prediction from an upper right quadtree block of a current CTU of a current CTU line of the plurality of CTU lines to a lower left quadtree block of a non-adjacent upper right CTU of the adjacent upper CTU line; andupon determining that the WPP is applied to code the plurality of CTUs, not performing the intra prediction of the upper right quadtree block of the current CTU to the lower left quadtree block of the non-adjacent upper right CTU.
7. An image encoding apparatus comprising:circuitry configured to:perform decoding on an image that has been divided into a plurality of Coding Tree Units (CTUs), the divided image comprising a plurality of CTU lines in parallel, each CTU of the plurality of CTUs divided into a plurality of quadtree blocks, wherein each block of the plurality of quadtree blocks is a processing unit having a size smaller than that of the CTU;determine whether Wavefront Parallel Processing (WPP) is applied to code the plurality of CTUs, wherein the WPP has a delay of one CTU between adjacent CTU lines of the plurality of CTU lines;2024278434 16 Dec 2024upon determining that the WPP is not applied to code the plurality of CTUs, perform intra prediction from an upper right quadtree block of a current CTU of a current CTU line of the plurality of CTU lines to a lower left quadtree block of a non-adjacent upper right CTU of the adjacent upper CTU line; andupon determining that the WPP is applied to code the plurality of CTUs, not perform the intra prediction of the upper right quadtree block of the current CTU to the lower left quadtree block of the non-adjacent upper right CTU.
8. The image encoding apparatus according to claim 7, wherein the circuitry is configured to:based on determining that the WPP is applied to code the plurality of CTUs, decode each CTU line of the plurality of CTU lines such that the plurality of CTUs are sequentially decoded one by one from a leftmost CTU in each CTU line.
9. The image encoding apparatus according to claim 8, wherein the circuitry is configured to decode each of the plurality of CTUs for each of the plurality of quadtreeblocks .2024278434 16 Dec 202410. The image encoding apparatus according to claim 9,wherein the circuitry is configured to entropy-decode each of the plurality of quadtree blocks by using an occurrence probability derived from entropy decoding of a corresponding preceding quadtree block.
11. The image encoding apparatus according to claim 10, wherein the circuitry is configured to:entropy-decode a first quadtree block in a leftmost CTU of the plurality of CTUs in an uppermost line of the coding tree units in the image by using an initial value of an occurrence probability, andentropy-decode a first quadtree block in a leftmost CTU of the plurality of CTUs in each of second uppermost and subsequent lines of the coding tree units in the image, by using an occurrence probability derived from entropy coding of a last quadtree block in a leftmost coding tree unit in a line of the coding tree units immediately above the line to be coded.
12. An image processing method performed by an electronic device, the method comprising:performing decoding on an image that has been divided into a plurality of Coding Tree Units (CTUs) , the divided2024278434 16 Dec 2024image comprising a plurality of CTU lines in parallel, each CTU of the plurality of CTUs divided into a plurality of quadtree blocks, wherein each block of the plurality of quadtree blocks is a processing unit having a size smaller than that of the CTU;determining whether Wavefront Parallel Processing (WPP) is applied to code the plurality of CTUs, wherein the WPP has a delay of one CTU between adjacent CTU lines of the plurality of CTU lines;upon determining that the WPP is not applied to code the plurality of CTUs, performing intra prediction from an upper right quadtree block of a current CTU of a current CTU line of the plurality of CTU lines to a lower left quadtree block of a non-adjacent upper right CTU of the adjacent upper CTU line; andupon determining that the WPP is applied to code the plurality of CTUs, not performing the intra prediction of the upper right quadtree block of the current CTU to the lower left quadtree block of the non-adjacent upper right CTU.Sony Group CorporationPatent Attorneys for the ApplicantSPRUSON & FERGUSON
Citation Information
Patent Citations
Method and apparatus for vector encoding in video coding and decoding
GB2531001A
Method of Coding and Decoding Images, Coding and Decoding Device and Computer Programs Corresponding Thereto
US20150010088A1
