Mesh decoder, mesh decoding method, and program
By introducing a displacement decoding unit into the mesh decoding device, performing arithmetic decoding, inverse quantization and prediction compensation, the problem that two-dimensional videos in the prior art are not suitable for encoding is solved, and the encoding efficiency is improved.
Patent Information
- Application Number
- JP2023171969
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-10-03
- Publication Date
- 2025-04-15
AI Technical Summary
In the prior art, the generated two-dimensional video is not suitable for encoding using a video encoder, resulting in a decrease in encoding efficiency.
By introducing a displacement decoding unit into the mesh decoding device, arithmetic decoding, inverse quantization and prediction compensation are performed to generate two-dimensional video suitable for encoding.
The encoding efficiency is improved, and the performance of the encoder is enhanced by optimizing the displacement decoding process.
Smart Images

Figure 2025062747000001_ABST
Abstract
Description
[Technical field]
[0001] The present invention relates to a mesh decoding device, a mesh decoding method, and a program. [Background technology]
[0002] Non-Patent Document 1 discloses a technique in which a mesh is divided into a rough basic mesh and a detailed displacement amount, and the mesh is decoded, and the displacement amount is converted into a two-dimensional image and then decoded by a video codec. [Prior art documents] [Non-patent literature]
[0003] [Non-Patent Document 1] Khaled Mammou, Jungsun Kim, Alexis Tourapis, Dimitri Podborski, Krasimir Kolarov, “[V-CG] Apple's Dynamic Mesh Coding CfP Response,” ISO / IEC JTC 1 / SC 29 / WG 7 m5928, April 2022. Summary of the Invention [Problem to be solved by the invention]
[0004] Here, the technique disclosed in Non-Patent Document 1 has a problem in that the generated two-dimensional video is not suitable for encoding by a video codec, resulting in reduced encoding efficiency.
[0005] Therefore, the present invention has been made in consideration of the above-mentioned problems, and has an object to provide a mesh decoding device, a mesh decoding method, and a program capable of improving coding efficiency. [Means for solving the problem]
[0006] A first feature of the present invention is a mesh decoding device, comprising: a displacement amount decoding unit configured to generate and output a displacement amount by decoding a displacement amount bit stream, wherein the displacement amount decoding unit comprises: an arithmetic decoding unit configured to generate a first coefficient level value by performing arithmetic decoding on the displacement amount bit stream; a first inverse quantization unit configured to generate a prediction residual by performing inverse quantization on the first coefficient level value; an adder configured to generate a second coefficient level value by adding a prediction coefficient level value and the prediction residual; a frame buffer configured to acquire and accumulate the second coefficient level value output from the adder; an inter prediction unit configured to generate the prediction coefficient level value by performing inter prediction using the second coefficient level value of a reference frame read from the frame buffer; a second inverse quantization unit configured to generate a transform coefficient by performing inverse quantization on the second coefficient level value; and an inverse transform unit configured to generate a decoded displacement amount by performing inverse transform on the transform coefficient, wherein the displacement amount bit stream represents an end position of a non-zero coefficient level value by adding 1 to an end position of an actual non-zero coefficient level value.
[0007] A second feature of the present invention is a mesh decoding method, comprising the steps of decoding a displacement bitstream to generate and output a displacement, the steps including: a step A of generating a first coefficient level value by performing arithmetic decoding on the displacement bitstream; a step B of generating a prediction residual by performing inverse quantization on the first coefficient level value; a step C of generating a second coefficient level value by adding a prediction transform coefficient and a prediction residual; a step D of acquiring the second coefficient level value generated by the step C and storing it in a frame buffer; a step E of generating the prediction coefficient level value by performing inter prediction using the second coefficient level value of a reference frame read from the frame buffer; a step F of generating a transform coefficient by performing inverse quantization on the second coefficient level value; and a step G of generating a decoded displacement by performing inverse transform on the transform coefficient, and the gist of the displacement bitstream is that it represents the end position of a non-zero coefficient level value by adding 1 to the end position of an actual non-zero coefficient level value.
[0008] A third aspect of the present invention is a program for causing a computer to function as a mesh decoding device, the mesh decoding device comprising a displacement amount decoding unit configured to decode a displacement amount bit stream to generate and output a displacement amount, the displacement amount decoding unit including a bypass arithmetic decoding unit configured to generate a first coefficient level value by performing arithmetic decoding on the displacement amount bit stream, an inverse quantization unit configured to generate a prediction residual by performing inverse quantization on the coefficient first level value, an adder configured to generate a second coefficient level value by adding a prediction coefficient level value and the prediction residual, and a coefficient level value output from the adder. the second coefficient level value of a reference frame read from the frame buffer; an inter prediction unit configured to generate the predicted coefficient level value by performing inter prediction using the second coefficient level value of a reference frame read from the frame buffer; a second inverse quantization unit configured to generate transform coefficients by performing inverse quantization on the second coefficient level value; and an inverse transform unit configured to generate a decoding displacement amount by performing inverse transform on the transform coefficient, wherein the displacement amount bitstream represents an end position of the non-zero coefficient level value by adding 1 to an end position of an actual non-zero coefficient level value. Effect of the Invention
[0009] According to the present invention, it is possible to provide a mesh decoding device, a mesh decoding method, and a program capable of improving the encoding efficiency. [Brief description of the drawings]
[0010] [Figure 1] FIG. 1 is a diagram showing an example of the configuration of a mesh processing system 1 according to an embodiment. [Diagram 2] FIG. 2 is a diagram illustrating an example of functional blocks of a mesh decoding device 200 according to an embodiment. [Diagram 3]FIG. 3 is a diagram showing an example of functional blocks of the displacement amount decoding unit 205 of the mesh decoding device 200 according to an embodiment. [Figure 4] FIG. 4 is a diagram showing an example of the configuration of a displacement amount bit stream. [Diagram 5] FIG. 5 is a diagram showing an example of a syntax configuration of a DPS. [Figure 6] FIG. 6 is a diagram showing an example of a syntax configuration of the DFH. [Figure 7] FIG. 7 is a diagram showing an example of a syntax configuration of the DDU. [Figure 8] FIG. 8 is a diagram illustrating an example of last_sig_coeff. [Figure 9] FIG. 9 is a diagram showing an example of a prefix code string and a suffix code string when the maximum value is 32. In FIG. [Figure 10] FIG. 10 is a flowchart showing an example of the operation of the displacement amount decoding unit 205 of the mesh decoding device 200 according to an embodiment. [Figure 11] FIG. 11 is a flowchart showing an example of the operation of the arithmetic decoding unit 205A of the displacement amount decoding unit 205 of the mesh decoding device 200 according to an embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0011] Hereinafter, the embodiments of the present invention will be described with reference to the drawings. Note that the components in the following embodiments can be appropriately replaced with existing components, and various variations including combinations with other existing components are possible. Therefore, the description of the following embodiments does not limit the content of the invention described in the claims.
[0012] First Embodiment Hereinafter, a mesh processing system 1 according to this embodiment will be described with reference to FIGS.
[0013] 1 is a diagram showing an example of the configuration of a mesh processing system 1 according to this embodiment. As shown in FIG.
[0014] FIG. 2 is a diagram showing an example of functional blocks of the mesh decoding device 200 according to this embodiment.
[0015] As shown in FIG. 2, the mesh decoding device 200 includes a demultiplexing unit 201 , a basic mesh decoding unit 202 , a subdivision unit 203 , a mesh decoding unit 204 , a displacement amount decoding unit 205 , and a video decoding unit 206 .
[0016] The demultiplexing unit 201 is configured to separate the multiplexed bit stream into a base mesh bit stream, a displacement amount bit stream, and a texture bit stream.
[0017] The base mesh decoding unit 202 is configured to decode the base mesh bitstream and generate and output a base mesh.
[0018] The subdivision unit 203 is configured to generate and output added subdivision vertices and their connection information from the basic mesh decoded by the basic mesh decoding unit 202 using a subdivision method indicated by the control information.
[0019] Here, the basic mesh, the added subdivision vertices, and their connection information are collectively referred to as a "subdivision mesh."
[0020] The mesh decoding unit 204 is configured to generate and output a decoded mesh using the subdivision mesh generated by the subdivision unit 203 and the amount of displacement decoded by the displacement amount decoding unit 205 .
[0021] The displacement amount decoding unit 205 is configured to decode the displacement amount bitstream to generate and output the displacement amount.
[0022] The video decoding unit 206 is configured to decode the texture bitstream using a video codec to generate textures. For example, the video decoding unit 206 may use HEVC.
[0023] (Displacement amount decoding unit 205) As shown in FIG. 3, the displacement amount decoding unit 205 includes an arithmetic decoding unit 205A, a first inverse quantization unit 205B, an adder 205C, a frame buffer 205D, an inter prediction unit 205E, a video codec decoding unit 205F, ... an image expansion unit 205G, a second inverse quantization unit 205H, and an inverse transformation unit 205I.
[0024] The arithmetic decoding unit 205A is configured to generate a first coefficient level value by performing arithmetic decoding on the received displacement amount bitstream.
[0025] The arithmetic decoding unit 205A may efficiently generate the first coefficient level value by using a syntax as shown in FIG. 7, which will be described later.
[0026] The first coefficient level value generated by the arithmetic decoding unit 205A is represented in each frame by a matrix of size 3×N. Here, 3 indicates the number of dimensions, and N indicates the total number of subdivision vertices. A subdivision level is defined for each subdivision vertex.
[0027] The arithmetic decoding unit 205A decodes the original value depending on which section on the number line the input binary decimal falls within.
[0028] The arithmetic decoding unit 205A defines a number line from 0 to 1, and divides the interval according to the occurrence probability of two values (hereinafter, referred to as a context value) for use.
[0029] The arithmetic decoding unit 205A may bypass updating the context value by always fixing the context value to 0.5. By bypassing updating the context value in this manner, high-speed decoding is possible.
[0030] The arithmetic decoding unit 205A may set, for each syntax element, whether or not to bypass updating of the context value.
[0031] The arithmetic decoding unit 205A may update the context value every time one bit is decoded.
[0032] The arithmetic decoding unit 205A may use an update table that updates the context value slightly when a symbol with a high probability of occurrence of either 0 or 1 occurs, and updates the context value significantly when a symbol with a low probability of occurrence occurs.
[0033] Furthermore, the arithmetic decoding unit 205A may perform arithmetic decoding using a plurality of types of context values. Here, the arithmetic decoding unit 205A may define the context values by dividing them for each dimension, by each subdivision level, or by each syntax.
[0034] As described above, the arithmetic decoding unit 205A may generate the first coefficient level value based on binary arithmetic decoding, or may generate the first coefficient level value based on multi-value arithmetic decoding such as RangeCoder.
[0035] The first inverse quantization unit 205B is configured to perform inverse quantization on the received first coefficient level values to generate prediction residuals, where the prediction residuals correspond to second coefficient level values as described below.
[0036] By performing inter prediction after inverse quantization in this way, it becomes possible to perform inter prediction before quantization during encoding, which is expected to improve encoding efficiency.
[0037] The adder 205C is configured to obtain a prediction coefficient level value from the inter prediction unit 205D and a prediction residual from the first inverse quantization unit 205B, and to add the two to generate a second coefficient level value. The generated second coefficient level value is output to the second inverse quantization unit 205H and the frame buffer 205D.
[0038] The frame buffer 205D is configured to obtain and store the second coefficient level values from the first inverse quantization unit 205B or the adder 205C.
[0039] The frame buffer 205D is configured to output the second coefficient level value at the corresponding vertex in the reference frame in response to control information (not shown).
[0040] The inter prediction unit 205E is configured to generate prediction coefficient level values by performing inter prediction using the second coefficient level values of the reference frame read from the frame buffer 205D.
[0041] For example, the inter prediction unit 205E may determine the prediction coefficient level value of each frequency in the current frame by directly referring to the second coefficient level value of the corresponding frequency in the reference frame.
[0042] The video codec decoding unit 205F is configured to generate an image by decoding the received displacement bitstream using a video codec.
[0043] The image development unit 205G is configured to generate second coefficient level values by developing the image.
[0044] The second inverse quantization unit 205H is configured to generate transform coefficients by performing inverse quantization on the received second coefficient level values.
[0045] The second inverse quantization unit 205H is a common functional block in both cases where the video codec decoding unit 205F and the arithmetic decoding unit 205A are used, and it is expected to have the effect of maintaining compatibility between the two.
[0046] The inverse transform unit 205I is configured to generate a decoded displacement by performing an inverse transform on the received transform coefficients. For the inverse transform, for example, an inverse DCT or an inverse wavelet transform may be used.
[0047] (Structure of Displacement Bit Stream) Hereinafter, an example of the configuration of a displacement amount bit stream will be described with reference to FIGS.
[0048] FIG. 4 is a diagram showing an example of the configuration of a displacement amount bit stream.
[0049] In Figures 5 to 7, u(n) means an n-bit code, ue(v) means an unsigned variable-length zeroth-order exponential Golomb code, and ae(v) means a variable-length code by arithmetic coding.
[0050] First, as shown in FIG. 4, the displacement bit stream may include a Displacement Parameter Set (DPS), which is a set of control information related to decoding of the displacement.
[0051] FIG. 5 is a diagram showing an example of a syntax configuration of a DPS.
[0052] As shown in FIG. 5, the DPS may include an ID (displacement_codec_id) indicating whether arithmetic decoding or video codec decoding is to be performed.
[0053] For example, it may be defined that when displacement_codec_id is 1, arithmetic coding is performed, and when displacement_codec_id is 0, decoding using a video codec is performed.
[0054] Secondly, as shown in FIG. 4, the displacement bit stream may include a Displacement Frame Header (DFH), which is a collection of control information corresponding to a frame.
[0055] FIG. 6 is a diagram showing an example of a syntax configuration of the DFH.
[0056] As shown in FIG. 6, the DFH may include a frame type (displacement_frame_type).
[0057] For example, when displacement_frame_type is 1, it may be defined that inter prediction is performed in the corresponding frame, and when displacement_frame_type is 0, it may be defined that inter prediction is not performed in the corresponding frame.
[0058] Thirdly, as shown in FIG. 4, the displacement bitstream may include, following the DFH, a Displacement Data Unit (DDU), which is an encoded displacement corresponding to a frame.
[0059] FIG. 7 is a diagram showing an example of a syntax configuration of the DDU.
[0060] As shown in FIG. 7, the DDU may include the end position of the non-zero coefficient level value (last_sig_coeff), a flag indicating whether the coefficient level value is significant (sig_coeff_flag), a flag indicating whether the absolute value of the coefficient level value is 2 or greater (coeff_abs_level_greater1_flag), a flag indicating the positive or negative sign of the coefficient level value (coeff_sign_flag), and the absolute value of the coefficient level value (coeff_abs_level_remaining).
[0061] FIG. 8 is a diagram illustrating an example of last_sig_coeff.
[0062] The end position of the non-zero coefficient level value is expressed by adding 1 to the end position of the actual non-zero coefficient level value. Coefficient level values are defined on the x-axis, y-axis, and z-axis.
[0063] In addition, if there is no non-zero coefficient level value, the displacement bit stream is expressed as having the end position of the non-zero coefficient level value as 0. In the example of Fig. 8, the end position of the non-zero coefficient level values is 4 on the x-axis and 6 on the y-axis. On the other hand, since the coefficient level values on the z-axis are all 0, the end position of the non-zero coefficient level values is 0.
[0064] This makes it possible to express the end position of the non-zero coefficient level values even when the non-zero coefficient level values do not exist, and is expected to improve the coding efficiency.
[0065] For example, the end position of the non-zero coefficient level value may be coded separately into a prefix and a suffix.
[0066] Also, for example, the prefix may be represented by Truncated Rice binarization and the suffix may be represented with a fixed length.
[0067] FIG. 9 is a diagram showing an example of a prefix code string and a suffix code string when the maximum value is 32. In FIG.
[0068] (Operation of the Displacement Amount Decoding Unit 205) An example of the operation of the displacement amount decoding unit 205 will be described below with reference to Fig. 10. Fig. 10 is a flowchart showing an example of the operation of the displacement amount decoding unit 205.
[0069] 10, in step S101, the displacement amount decoding unit 205 determines whether or not the displacement_codec_id is 1. If Yes, the operation proceeds to step S102, and if No, the operation proceeds to step S110.
[0070] In step S102, the arithmetic decoding unit 205A generates a first coefficient level value by performing arithmetic decoding.
[0071] In step S103, the first inverse quantization unit 205B generates a prediction residual (a second coefficient level value) by performing inverse quantization.
[0072] In step S104, the inter prediction unit 205E determines whether or not displacement_frame_type is 1. If Yes, the operation proceeds to step S105, and if No, the operation proceeds to step S106.
[0073] In step S105, the inter prediction unit 205E generates a predictive transform coefficient by performing inter prediction, and then the adder 205C generates a second coefficient level value by adding the predictive transform coefficient level value and the predictive residual (second coefficient level value).
[0074] In step S106, the second inverse quantization unit 205H generates transform coefficients by performing inverse quantization on the second coefficient level values.
[0075] In step S107, the inverse transform unit 205I generates a decoding displacement amount by performing an inverse transform on the transform coefficients.
[0076] In step S108, the arithmetic decoding unit 205A determines whether the currently processed frame is the final frame or not If Yes, the operation ends, and if No, the operation proceeds to step S109.
[0077] In step S109, the arithmetic decoding unit 205A proceeds to processing of the next frame.
[0078] In step S110, the video codec decoding unit 205F generates an image by performing decoding using a video codec.
[0079] In step S111, the image development unit 205G generates second coefficient level values by performing image development.
[0080] (Operation of the arithmetic decoding unit 205A) An example of the operation of the arithmetic decoding unit 205A will be described below with reference to Fig. 11. Fig. 11 is a flowchart showing an example of the operation of the arithmetic decoding unit.
[0081] As shown in FIG. 11, in step S201, the arithmetic decoding unit 205A decodes last_sig_coeff.
[0082] In step S202, the arithmetic decoding unit 205A subtracts 1 from last_sig_coeff.
[0083] In step S203, the arithmetic decoding unit 205A determines whether or not last_sig_coeff is −1. If last_sig_coeff=−1, the operation proceeds to step S204, and if not, the operation proceeds to step S205.
[0084] In step S204, the arithmetic decoding unit 205A determines all coefficient level values to be zero.
[0085] In step S205, the arithmetic decoding unit 205A determines all coefficient level values after the position indicated by last_sig_coeff to be 0.
[0086] In step S206, the arithmetic decoding unit 205A decodes sig_coeff_flag.
[0087] In step S207, the arithmetic decoding unit 205A determines whether sig_coeff_flag is 0 or 1. If sig_coeff_flag=0, the operation proceeds to step S208, and if sig_coeff_flag=1, the operation proceeds to step S209.
[0088] In step S208, the arithmetic decoding unit 205A determines the coefficient level value to be 0, and the operation proceeds to step S217.
[0089] In step S209, the arithmetic decoding unit 205A decodes coeff_abs_level_greater1_flag.
[0090] In step S210, the arithmetic decoding unit 205A determines whether coeff_abs_level_greater1_flag is 0 or 1. If coeff_abs_level_greater1_flag=0, the operation proceeds to step S211, and if coeff_abs_level_greater1_flag=1, the operation proceeds to step S212.
[0091] In step S211, the arithmetic decoding unit 205A determines the absolute value of the coefficient level value to be 1, and proceeds to step S213.
[0092] In step S212, the arithmetic decoding unit 205A decodes coeff_abs_level_remaining, and determines the absolute value of the coefficient level value as coeff_abs_level_remaining.
[0093] In step S213, the arithmetic decoding unit 205A decodes coeff_sign_flag.
[0094] In step S214, the arithmetic decoding unit 205A determines whether coeff_sign_flag is 0 or 1. If coeff_sign_flag=0, the operation proceeds to step S215, and if coeff_sign_flag=1, the operation proceeds to step S216.
[0095] In step S215, the arithmetic decoding unit 205A determines the coefficient level value using the absolute value as it is, and the operation proceeds to step S217.
[0096] In step S216, the arithmetic decoding unit 205A determines the coefficient level value to be a value obtained by making the absolute value negative, and the operation proceeds to step S217.
[0097] In step S217, the arithmetic decoding unit 205A determines whether the coefficient level value currently being processed is the last one. If Yes, the operation ends, and if No, the operation proceeds to step S218.
[0098] In step S218, the arithmetic decoding unit 205A proceeds to processing the next coefficient level value.
[0099] According to the mesh decoding device 200 of this embodiment, the second inverse quantization unit 205H can be a common functional block regardless of whether video codec decoding or arithmetic decoding is used, thereby maintaining compatibility between the two.
[0100] Furthermore, according to the mesh decoding device 200 according to this embodiment, when there is no nonzero coefficient level value, the end position of the nonzero coefficient level value is expressed as 0, so that improvement in coding efficiency can be expected.
[0101] The above-mentioned mesh encoding device 100 and mesh decoding device 200 may be realized as a program that causes a computer to execute each function (each step). [Industrial Applicability]
[0102] According to this embodiment, for example, it is possible to improve the overall service quality in video communication, which makes it possible to contribute to Goal 9 of the Sustainable Development Goals (SDGs) led by the United Nations, which is to "build resilient infrastructure, promote sustainable industrialization and foster innovation." [Explanation of symbols]
[0103] 1…Mesh processing system 100...Mesh coding device 200…Mesh decoding unit 201…Demultiplexer 202...Basic mesh decoding unit 203…Subdivision part 204...Mesh decoding unit 205...Displacement amount decoding unit 205A...arithmetic decoding unit 205B...first inverse quantization section 205C…Adder 205D…Frame buffer 205E…Inter prediction section 205F…Video codec decoding section 205G…Image development section 205H...Second inverse quantization section 205I…Inverse conversion unit 206...Video decoding section
Claims
1. A mesh decoding device, comprising: a displacement amount decoding unit configured to decode the displacement amount bitstream to generate and output a displacement amount; The displacement amount decoding unit an arithmetic decoding unit configured to generate a first coefficient level value by performing arithmetic decoding on the displacement bitstream; a first inverse quantization unit configured to generate a prediction residual by performing inverse quantization on the first coefficient level value; an adder configured to generate a second coefficient level value by adding a prediction coefficient level value and the prediction residual; a frame buffer configured to receive and store the second coefficient level value output from the adder; an inter prediction unit configured to generate the prediction coefficient level value by performing inter prediction using the second coefficient level value of a reference frame read from the frame buffer; a second inverse quantization unit configured to generate transform coefficients by performing inverse quantization on the second coefficient level values; an inverse transform unit configured to generate decoded displacements by performing an inverse transform on the transform coefficients, The mesh decoding device according to claim 1, wherein the displacement bit stream expresses an end position of a non-zero coefficient level value by adding 1 to an end position of an actual non-zero coefficient level value.
2. 2. The mesh decoding device according to claim 1, wherein the displacement bit stream represents the non-zero coefficient level value as having an end position of 0 when the non-zero coefficient level value does not exist.
3. A mesh decoding method, comprising: Decoding the displacement bitstream to generate and output a displacement, The process comprises: A step A of generating a first coefficient level value by performing arithmetic decoding on the displacement bitstream; a step B of generating a prediction residual by performing inverse quantization on the first coefficient level value; a step C of generating a second coefficient level value by adding the predicted transform coefficients and the prediction residual; a step D of acquiring the second coefficient level values generated by the step C and storing them in a frame buffer; a step E of generating the predicted coefficient level value by performing inter prediction using the second coefficient level value of the reference frame read from the frame buffer; a step F of performing inverse quantization on the second coefficient level values to generate transform coefficients; and G generating a decoded displacement by performing an inverse transform on the transform coefficients, The mesh decoding method according to claim 1, wherein the displacement bit stream expresses an end position of a non-zero coefficient level value by adding 1 to an end position of an actual non-zero coefficient level value.
4. A program for causing a computer to function as a mesh decoding device, comprising: The mesh decoding device comprises a displacement decoding unit configured to decode a displacement bitstream to generate and output a displacement, The displacement amount decoding unit a bypass arithmetic decoding unit configured to perform arithmetic decoding on the displacement bitstream to generate a first coefficient level value; an inverse quantization unit configured to perform inverse quantization on the coefficient first number-level value to generate a prediction residual; an adder configured to generate a second coefficient level value by adding a prediction coefficient level value and the prediction residual; a frame buffer configured to receive and store the second coefficient level value output from the adder; an inter prediction unit configured to generate the prediction coefficient level value by performing inter prediction using the second coefficient level value of a reference frame read from the frame buffer; a second inverse quantization unit configured to generate transform coefficients by performing inverse quantization on the second coefficient level values; an inverse transform unit configured to generate decoded displacements by performing an inverse transform on the transform coefficients, The displacement amount bit stream expresses an end position of a non-zero coefficient level value by adding 1 to an end position of an actual non-zero coefficient level value.