Methods, apparatus, and computer programs for decryption
By utilizing an 8-bit main transform core matrix of 64 points or more with selectable smaller cores, the inefficiencies of large conversion cores in VVC are addressed, enhancing video encoding and decoding efficiency and reducing costs.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- TENCENT AMERICA LLC
- Filing Date
- 2025-02-12
- Publication Date
- 2026-07-22
AI Technical Summary
Existing video coding technologies like VVC require large 8-bit conversion cores, which increase complexity, memory requirements, and operational costs due to the inability to extract smaller cores from larger ones, leading to inefficiencies in video encoding and decoding processes.
Implementing an 8-bit main transform core matrix of 64 points or more, allowing for the selection and extraction of smaller transform core matrices as needed for encoding or decoding, reducing complexity and memory requirements.
This approach reduces complexity and memory needs, lowering costs and improving efficiency in video encoding and decoding processes, particularly in applications like video conferencing and digital TV, while maintaining effective compression capabilities.
Smart Images

Figure 0007893923000014 
Figure 0007893923000015 
Figure 0007893923000016
Abstract
Description
Priority Information
[0001] This application claims priority under U.S. Provisional Application No. 62 / 692, 658, filed with the U.S. Patent and Trademark Office on 29 June 2018, the entire contents of which are incorporated herein by reference. [Technical Field]
[0002] This disclosure relates to video compression technology. Specifically, this disclosure relates to next-generation video coding technology, including video coding / decoding technologies beyond High Efficiency Video Coding (HEVC), such as Multipurpose Video Coding (VVC). More specifically, one aspect of this disclosure relates to a VVC primary conversion method, apparatus, and computer media using an 8-bit conversion core having a size of 64x64 or larger. [Background technology]
[0003] Video encoding and decoding using interpicture prediction with motion compensation has been known for decades. Uncompressed digital video consists of a series of pictures, each picture having spatial dimensions of, for example, 1920 x 1080 luminance samples and associated chromaticity samples. This series of pictures can have a fixed or variable picture rate (informally also called frame rate), such as 60 pictures per second or 60 hertz (Hz). Uncompressed video has high bitrate requirements. For example, 1080p60 4:2:0 video with 8 bits per sample (resolution of 1920 x 1080 luminance samples at a 60 Hz frame rate) requires a bandwidth of nearly 1.5 Gbit / s. Using such video for one hour requires more than 600 GB of storage capacity.
[0004] One purpose of video encoding and decoding may be to reduce the redundancy of video input signals through compression. In some cases, compression can contribute to reducing bandwidth or storage space requirements by more than two orders of magnitude. Lossless compression, lossy compression, and combinations thereof can be employed. Lossless compression refers to a technique that allows for the reconstruction of an accurate replica of the original signal from the compressed original signal. When using lossy compression, the reconstructed signal may differ from the original signal, but the distortion between the original and reconstructed signals is small enough to make the reconstructed signal useful in the intended application. In the case of video, lossy compression is widely adopted. The amount of distortion that can be tolerated varies depending on the application; for example, users of certain consumer streaming applications may tolerate higher distortion than users of television-contributing applications. The achievable compression ratio can reflect that the higher the allowed / acceptable distortion, the higher the achievable compression ratio.
[0005] Those skilled in the art generally understand video compression / decompression techniques. Generally, a compressed video or image file is produced by performing a series of functional steps to compress video or image data. Images such as 360° images (e.g., images captured with a 360° camera) are suitable for compression, but for ease of reading, we will describe the compression of video files. To produce a compressed video file, common standards (e.g., H.264, H.265) obtain sample blocks of two or more reference pictures by splitting or parsing an uncompressed video sample stream received from a video source.
[0006] Bidirectional prediction involves the technique of predicting prediction units (PUs) that resemble predicted sample blocks from two motion-compensated sample blocks of two or more reference pictures. Bidirectional prediction was first introduced in the MPEG-1 video coding standard and is also included in other video coding technologies and standards such as MPEG-2 Part 2 (or H.262), H.264, and H.265.
[0007] When decompressing a compressed video file, during the reconstruction of samples in a bidirectional prediction PU, the reconstructed samples can be generated by multiplying the motion-compensated and interpolated input samples from each reference block by a different weighting coefficient for each reference block, and then adding these weighted sample values from two reference blocks. Such samples can also be further processed through mechanisms such as loop filtering.
[0008] In MPEG-1 and MPEG-2, weight coefficients can be determined based on the relative time distance between the picture to which the PU being reconstructed belongs and the two reference pictures. This is possible because, in MPEG-1 and MPEG-2, one of the two reference I or P pictures is in the "past" of the B picture being reconstructed (in display order), and the other is in the "future" of the B picture being reconstructed. Furthermore, in MPEG-1 and MPEG-2, a clearly defined timing relationship is established for all pictures being reconstructed with respect to their reference pictures.
[0009] In H.264 and later, the concept of selecting a reference picture for bidirectional prediction pictures is relaxed; the reference picture only needs to be in the decoding order, not in the display order. Furthermore, both H.264 and H.265 do not require time-domain constraints / fixed picture intervals, thus relaxing the concept of time. Consequently, the decoder can no longer calculate weight coefficients based on timing information available in the bitstream. Instead, H.264 and H.265 include a "default value" of 0.5 as the weight coefficient for the reference sample of a bidirectional prediction picture. This default value can be overwritten by a syntax available in the slice header called pred_weight_table(). The default value of 0.5 or the information in pred_weight_table can be applied to all bidirectional predictions in a given slice.
[0010] Non-patent document 1 presents the H.265 / HEVC standard. However, the inventors have already considered the need to standardize future video coding technologies that have compression capabilities far exceeding those of the HEVC standard (including its extensions).
[0011] Non-patent document 2 discloses a recently published standardized format for next-generation video coding beyond HEVC, which is called the Versatile Video Coding (VVC) (VVC Test Model) with a VTM version. VVC can typically use a 10-bit integer matrix to provide a large (e.g., 64 points or more) conversion core. [Prior art documents] [Non-patent literature]
[0012] [Non-Patent Document 1] "Transform design for HEVC with 16-bit intermediate data representation"; published by ITU-T SG16 WP3 and ISO / IEC JTC1 / SC29 / WG11 Joint Cooperative Group on Video Coding (JCT-VC), 5th meeting: Geneva, Switzerland, March 16-23, 2011 (file: JCTVC-E243). The H.265 / HEVC (High Efficiency Video Coding) standard may include versions 1 (2013), 2 (2014), 3 (2015), and 4 (2016) published by ITU-T VCEG (Q6 / 16) and ISO / IEC MPEG (JTC1 / SC 29 / WG 11).
[0013] [Non-Patent Document 2] "Algorithm description for Versatile Video Coding and Test Model 1 (VTM 1)"; published by ITU-T SG 16 WP 3 and ISO / IEC JTC l / SC 29 / WG 11 Joint Video Expert Group (JVET), 10th meeting: San Diego, USA, April 10-20, 2018 (file: JVET-Jl002-v2). [Overview of the project] [Problems that the invention aims to solve]
[0014] However, a large 8-bit (e.g., 64 points or more) core is needed in VVC to reduce complexity, reduce the memory required to store the conversion core, and / or reduce the input bit width for multiplier / addition / subtraction operations. Generally, for example, it is not possible to extract 8-bit 2-point, 4-point, 8-point, 16-point, and 32-point DCT-2 conversion cores from a 10-bit 64-point DCT-2 conversion core in a conventional VVC. Therefore, a single 64-point conversion core requires additional memory and logic to implement, inevitably increasing the cost of applying the main conversion. An 8-bit main conversion core reduces complexity compared to a 10-bit main conversion core because it reduces the memory required to store the conversion core and reduces the input bit width for multiplier / addition / subtraction operations. [Means for solving the problem]
[0015] According to one aspect of the present disclosure, a method for decoding compressed video or image data or encoding uncompressed video or image data using an 8-bit main transform core matrix includes the steps of: receiving information about a target file for encoding or decoding, wherein the target file for encoding or decoding is one of a compressed video or image data file and an uncompressed video and image data file; and determining whether to use a first transform core matrix having a first size type or a second transform core matrix having a second size type smaller than the first size type for encoding or decoding the target file, wherein the first transform core matrix having the first size type is an 8-bit main transform core matrix, and the 8-bit main transform core matrix has a core matrix that is represented by 8 bits and has a size of 64 points or more. The method according to the foregoing aspects of the present disclosure may further include the steps of: encoding or decoding the target file for encoding or decoding using the 8-bit main transform core matrix having a size of 64 points or more, if the result of the determination is to use a first transform core matrix having the first size type; and, if the result of the determination is to use a second transform core matrix having the second size type which is smaller than the first size type, extracting a second transform core matrix having the second size type from the 8-bit main transform core matrix having a size of 64 points or more, and encoding or decoding the target file for encoding or decoding using the extracted second transform core matrix having the second size type.
[0016] According to one aspect of the present disclosure, there is provided an apparatus for decoding compressed video or image data or decoding uncompressed video or image data using an 8-bit main conversion core matrix, the apparatus including at least one memory arranged to store computer program code, and at least one processor arranged to access the at least one memory and operate based on the computer program code. The computer program code can include a first application code, a second application code, a third application code, and a fourth application code.
[0017] The first application code can be arranged to cause the at least one processor to receive information regarding a target file for encoding or decoding. The target file for encoding or decoding is one of a file of compressed video or image data and a file of uncompressed video or image data. The second application code can be arranged to cause the at least one processor to determine whether to use a first conversion core matrix having a first size type or a second conversion core matrix having a second size type smaller than the first size type for the encoding or decoding of the target file. The first size type is an 8-bit main conversion core matrix, and the 8-bit main conversion core matrix has a core matrix represented by 8 bits and having a size of 64 points or more.
[0018] The third application code is configured to cause the at least one processor to generate or transmit information for encoding or decoding a target file for the encoding or decoding by using the 8-bit main conversion core matrix having a size of 64 points or more when the result of the determination is to use the first conversion core matrix having the first size type. The fourth application code is configured to cause the at least one processor to generate or transmit information for encoding or decoding a target file for the encoding or decoding by using the second conversion core matrix having the second size type smaller than the first size type when the result of the determination is to use the second conversion core matrix having the second size type. When the result of the determination is to use the second conversion core matrix having the second size type, the second conversion core matrix having the second size type is extracted from the 8-bit main conversion core matrix having a size of 64 points or more, and the target file for the encoding or decoding is encoded or decoded by using the extracted second conversion core matrix having the second size type.
[0019] According to one aspect of the present disclosure, a non-temporary computer-readable storage medium stores instructions for causing one or more computers to perform the following operations, that is, receiving information regarding a target file for encoding or decoding, the target file for the encoding or decoding being one of a file of compressed video or image data and a file of uncompressed video or image data, and determining whether to use a first conversion core matrix having a first size type or a second conversion core matrix having a second size type smaller than the first size type for the encoding or decoding of the target file, the first size type being an 8-bit main conversion core matrix, and the 8-bit main conversion core matrix having a core matrix represented by 8 bits and having a size of 64 points or more.
[0020] Instructions stored in a non-temporary computer-readable storage medium may further cause one or more processors to perform the following operations: if the result of the decision is to use a first transformation core matrix having the first size type, generate or transmit information to encode or decode the target file for encoding or decode using the 8-bit main transformation core matrix having a size of 64 points or more; and if the result of the decision is to use a second transformation core matrix having the second size type which is smaller than the first size type, extract a second transformation core matrix having the second size type from the 8-bit main transformation core matrix having a size of 64 points or more, and generate or transmit information to encode or decode the target file for encoding or decode using the extracted second transformation core matrix having the second size type. [Brief explanation of the drawing]
[0021] Further features, properties, and various advantages of the disclosed topic will become clearer from the detailed description and drawings below. In the drawings, [Figure 1] This is a schematic diagram of a simplified block diagram of a communication system according to one embodiment. [Figure 2] This is a schematic diagram of a simplified block diagram of a streaming system according to one embodiment. [Figure 3] This is a schematic diagram of a simplified block diagram of a decoder according to one embodiment. [Figure 4] This is a schematic diagram of a simplified block diagram of an encoder according to one embodiment. [Figure 5] This is a schematic diagram illustrating an exemplary method of encoding or decoding according to one embodiment. [Figure 6] This is a schematic diagram showing the output of the transformation core matrix according to one embodiment. [Figure 7] This is a schematic diagram of a computer system according to one embodiment. [Modes for carrying out the invention]
[0022] Figure 1 shows a simplified block diagram of a communication system (100) according to one embodiment of the present disclosure. The system (100) may include at least two terminals (110, 120) connected to each other via a network (150). For one-way data transmission, the first terminal (110) can encode video data at its local location and transmit it to another terminal (120) via the network (150). The second terminal (120) can receive the encoded video data from the other terminal via the network (150), decode the encoded data, and display the restored video data. One-way data transmission is common in media service applications and the like.
[0023] Figure 1 shows a second pair of terminals (130, 140) provided to support the bidirectional transmission of encoded video, which may occur, for example, during a video conference. For bidirectional data transmission, each terminal (130, 140) can encode video data captured at its local location and transmit it to the other terminal via the network (150). Each terminal (130, 140) can further receive encoded video data transmitted from the other terminal, decode the encoded data, and display the restored video data on a local display device.
[0024] In Figure 1, terminals (110-140) are exemplified as a laptop computer 110, a server 120, and smartphones 130 and 140, but the principles of the Disclosure are not limited thereto. Embodiments of the Disclosure can be applied to other devices, including but not limited to laptop computers, tablets, media players, and / or dedicated video conferencing equipment. Network (150) represents any number of networks that transmit encoded video data between terminals (110-440), including, for example, wired and / or wireless communication networks. Communication network (150) can exchange data over circuit-switched and / or packet-switched channels. Typical networks include telecommunications networks, local area networks, wide area networks, and / or the Internet. For purposes described in this application, the architecture and topology of network (150) may not be important to the operation of the Disclosure unless otherwise interpreted below.
[0025] As an example of the application of the disclosed theme, Figure 2 shows the arrangement of video encoders and decoders in a streaming environment. The disclosed theme can be equivalently applied to other video-supporting applications, such as video conferencing and digital TV, and for storing compressed video on digital media, such as CDs, DVDs, and memory sticks.
[0026] The streaming system may include a capture subsystem (213) which may include a video source (201) capable of creating an uncompressed video sample stream (202), such as a digital camera. The sample stream (202) is drawn as a thick line to highlight a larger amount of data compared to the encoded video bitstream. The sample stream (202) may be processed by an encoder (203) coupled to the camera (201). The encoder (203) may include hardware (e.g., a processor, or circuitry and memory), software, or a combination thereof to realize or implement aspects of the disclosed themes, which are described in detail below. The encoded video bitstream (204) is drawn as a thin line to highlight a smaller amount of data compared to the sample stream. The encoded video bitstream (204) may be stored in a streaming server (205) for future use. One or more streaming clients (206, 208) can access a streaming server (205) to retrieve replicas (207, 209) of an encoded video bitstream (204). A client (206) may include a video decoder (210) which decodes an incoming replica (207) of the encoded video bitstream and creates an outgoing video sample stream (211) that can be rendered on a display (212) or other rendering equipment (not shown).
[0027] Figure 3 shows a functional block diagram of a video decoder (210) according to one embodiment of the present disclosure. As shown in Figure 3, a receiver (310) can receive one or more codec video sequences to be decoded by the decoder (210), and in the same or other embodiments, it can receive one encoded video sequence at a time, and the decoding of each encoded video sequence is independent of other encoded video sequences. Encoded video sequences can be received from a channel (312), which may be a hardware / software link to a storage device for storing the encoded video data. The receiver (310) can receive encoded video data and other data, such as encoded audio data and / or auxiliary data streams that can be transferred to their respective user entities (not shown). The receiver (310) can isolate the encoded video sequence from other data. To prevent network jitter, a buffer memory (315) can be connected between the receiver (310) and an entropy decoder / parser (320) (hereinafter referred to as the "parser"). The receiver (310) may not require a buffer (315) or the buffer (315) may be small when receiving data from a storage / transfer device or an isochronous real-time network with sufficient bandwidth and controllability. For example, when used in a best-effort packet network such as the Internet, a buffer (315) may be required, and the buffer (315) may be relatively large and have an advantageously adaptable size.
[0028] The video decoder (310) may include a parser (320) to reconstruct symbols (321) based on the entropy-encoded video sequence. As shown in Figures 2 and 3, these symbol categories include information for managing the operation of the decoder (210) and latent information for controlling display devices, such as a display (212), which are not components of the decoder but can be linked to the decoder. The control information for (one or more) display devices may take the form of auxiliary extension information (SEI messages) or video usability information (VUI) parameter set fragments (not shown). The parser (320) can parse / entropy-decode the received, encoded video sequence. The encoding of the encoded video sequence may be performed according to video coding techniques or standards and may follow principles known to those skilled in the art, including variable-length coding, Huffman coding, and arithmetic coding with or without context. The parser (320) can extract from the encoded video sequence a subgroup parameter set for at least one subgroup of pixels in the video decoder, based on at least one parameter corresponding to a group. Subgroups may include picture groups (GOP), pictures, tiles, slices, macroblocks, coding units (CU), blocks, transform units (TU), and prediction units (PU). The entropy decoder / parser may further extract information from the encoded video sequence such as transform coefficients, quantizer parameter values, and motion vectors.
[0029] The parser (320) can create a symbol (321) by performing an entropy decoding / analysis operation on the video sequence received from the buffer (315). The reconstruction of the symbol (321) involves several different units, depending on the type of the encoded video picture or part thereof (e.g., interpicture and intrapicture, interblock and intrablock) and other factors. The units and modes of involvement are controlled by subgroup control information analyzed by the parser (320) from the encoded video sequence. For simplicity, the flow of such subgroup control information between the parser (320) and the following multiple units is not illustrated.
[0030] In addition to the functional blocks already mentioned, the decoder 210 can be conceptually subdivided into several functional units. In actual implementations operating under business constraints, several of these units can interact closely with each other and, at least partially, integrate with each other. However, for the purpose of illustrating the disclosed theme, it is appropriate to conceptually subdivide it into the following functional units.
[0031] The first unit is the scaler / inverse unit (351). The scaler / inverse unit (351) receives quantization transformation coefficients and control information as symbols (321) (one or more) from the parser (320), including the transformation scheme to be used, block size, quantization factor, quantization scaling matrix, etc. The scaler / inverse unit (351) can output a block containing sample values that are input to the aggregator (355).
[0032] In some cases, the output samples of the scaler / inverse unit (351) belong to intra-coded blocks, i.e., blocks that do not use prediction information from a previously reconstructed picture, but can use prediction information from a previously reconstructed portion of the picture. Such prediction information can be provided by the intra-picture prediction unit (352). In some cases, the intra-picture prediction unit (352) generates a block of the same size and shape as the block being reconstructed, using the surrounding reconstructed information extracted from the currently (partially reconstructed) picture (356). In other cases, the aggregator (355) adds the prediction information generated by the intra-prediction unit (352) to the output sample information provided by the scaler / inverse unit (351) for each sample.
[0033] In other cases, the output samples of the scaler / inverse unit (351) may belong to an intercoded, potentially motion-compensated block. In such cases, the motion-compensated prediction unit (353) can access the reference picture memory (357) to extract samples for prediction. After motion compensation is performed on the extracted samples based on the symbols (321) belonging to the block, these samples are added to the output of the scaler / inverse unit by the aggregator (355) (in this case, called residual samples or residual signals) to generate output sample information. The addresses in the reference picture memory from which the motion-compensated unit extracts prediction samples are controlled by a motion vector, which is used by the motion-compensated unit in the form of a symbol (321), which may have, for example, X, Y, and reference picture components. Motion compensation may further include interpolation of sample values extracted from the reference picture memory when the motion vector is accurately executed by subsamples, a motion vector prediction mechanism, and so on.
[0034] In the loop filter unit (356), various loop filtering techniques can be employed on the output samples of the aggregator (355). The video compression technique may include an in-loop filtering technique, which is controlled by parameters applicable to the loop filter unit (356) as symbols (321) from the parser (320) contained in the encoded video sequence. However, the video compression technique may also respond to metadata acquired during the decoding period of the earlier portion (in the decoding order) of the encoded picture or encoded video sequence, and to previously reconstructed and loop-filtered sample values.
[0035] The output of the loop filter unit (356) may be a sample stream, which can be output to a display device (212) and stored in a reference picture memory (356) for use in future interpicture prediction.
[0036] Once an encoded picture is fully reconstructed, it is used as a reference picture for future predictions. For example, once an encoded picture is fully reconstructed and recognized as a reference picture (e.g., via a parser (320)), the current reference picture (356) is changed to part of the reference picture buffer (357) and reallocated as new current picture memory before starting the subsequent reconstruction of the encoded picture.
[0037] The video decoder 320 can perform decoding operations according to a specified video compression technique, for example, in the ITU-T H.265 Recommendation standard. The encoded video sequence conforms to the syntax specified by the video compression technique or standard used, in the sense that the encoded video sequence conforms to the video compression technique or standard document and the syntax of the video compression technique or standard submitted in its profile. For compliance, it is further required that the complexity of the encoded video sequence is within the limits imposed by the level of the video compression technique or standard. In some cases, the level limits the maximum picture size, maximum frame rate, maximum reconstruction sampling rate (e.g., measured in megasamples / second), and / or the maximum reference picture size, etc. In some cases, the limitations imposed by the level are further limited by the specifications of the virtual reference decoder (HRD) and the metadata managed by the HRD buffer signaled in the encoded video sequence.
[0038] In one embodiment, the receiver (310) can receive the encoded video along with additional (redundant) data. The additional data may be included as part of one or more encoded video sequences. The additional data is used by the video decoder (320) to accurately decode the data and / or more accurately reconstruct the original video data. The additional data may take the form of, for example, time, space, or SNR extension layers, redundant slices, redundant pictures, forward error correction codes, etc.
[0039] Figure 4 is a functional block diagram of a video encoder (203) according to one embodiment of the present disclosure.
[0040] The encoder (203) can receive video samples from a video source (201) (which is not part of the encoder) that can capture (one or more) video images to be encoded by the encoder (203).
[0041] The video source (201) can provide a source video sequence in the form of a digital video sample stream encoded by an encoder (203), the digital video sample stream may have any suitable bit depth (e.g., 8 bits, 10 bits, 12 bits, etc.), any color space (e.g., BT.601 Y CrCB, RGB, etc.), and any suitable sampling configuration (e.g., Y CrCb 4:2:0, Y CrCb 4:4:4). In a media service system, the video source (201) may also be a storage device for storing previously prepared video, the storage device may include memory and a processor. In a video conferencing system, the video source (203) may include a camera for capturing local image information as a video sequence. The video data can be provided as a series of separate pictures to which motion is implied when viewed sequentially. The pictures themselves are edited as spatial pixel arrays, and each pixel may contain one or more samples depending on the sampling configuration, color space, etc., used. The relationship between pixels and samples is easily understood by those skilled in the art. The following explanation will focus on examples.
[0042] According to one embodiment, the video encoder (203) can encode and compress the pictures of a source video sequence into an encoded video sequence (443) in real time or under any other time constraints required by the application. Performing this at an appropriate encoding speed is one of the functions of the controller (450). The controller (450) controls and is functionally coupled to other functional units, which are described below. For brevity, the couplings are not shown. Parameters set by the controller may include rate control-related parameters (such as picture skip, quantizer, λ value of rate distortion optimization technique), picture size, picture group (GOP) placement, and maximum motion vector search range. Those skilled in the art can easily determine other functions of the controller (450), which belong to the video encoder (203) optimized for a particular system design.
[0043] A video encoder operates in a manner readily recognizable to those skilled in the art as an "encoding loop." In very simple terms, the encoding loop may include an encoding portion (430) of an encoder (hereinafter referred to as the "source encoder") responsible for creating a symbol stream based on the input picture to be encoded and one or more reference pictures, and a (local) decoder (433) embedded in the encoder (203). The decoder (433) reconstructs the symbols to create sample data that the (remote) decoder also attempts to create (because any compression between the symbols and the encoded video bitstream is reversible in the video compression techniques considered in the disclosed topic). The reconstructed sample stream is input to the reference picture memory (434). Decoding the symbol stream produces a bit-exact result that is independent of the decoder location (local or remote), so the contents of the reference picture buffer are bit-exact between the local encoder and the remote encoder. In other words, the reference picture sample "seen" by the predictive portion of the encoder is exactly the same as the sample value "seen" by the decoder when using the prediction during decoding. The basic principles of the synchronization of the reference picture (and the drift that occurs when synchronization cannot be maintained, for example, due to channel errors) are known to those skilled in the art.
[0044] The operation of the “local” decoder (433) may be the same as the operation of the “remote” decoder (210) as described in detail above in relation to Figure 3, for example. However, referring further briefly to Figure 3, if the symbols are available and the entropy encoder (445) and parser (320) losslessly encode / decode the symbols into the encoded video sequence, the entropy decoding portion of the decoder (210) (including the channel (312), receiver (310), buffer (315), and parser (320) may not be fully realized by the local decoder (433).
[0045] At present, in addition to the parsing / entropy decoding present in the decoder, it can be observed that any arbitrary decoding technique also necessarily exists in the corresponding encoder in essentially the same functional form. The description of coding techniques is the inverse of the fully described decoding techniques. A more detailed explanation is necessary only for specific areas and is provided below.
[0046] As part of its operation, the source encoder (430) can perform motion-compensated predictive coding, which predictively codes the input frame by referencing one or more previously coded frames from the video sequence, designated as “reference frames”. In this way, the coding engine (432) codes the difference between the pixel blocks of the input frame and the pixel blocks of one or more reference frames selected as the predictive references of the input frame.
[0047] A local video decoder (433) can decode encoded video data of a frame that can be designated as a reference frame, based on symbols created by the source encoder (430). The operation of the encoding engine (432) may, advantageously, be lossy. When encoded video data is decoded by a video decoder (not shown in Figure 4), the reconstructed video sequence may generally be a replica of the source video sequence with some error. The local video decoder (433) can replicate the decoding process performed by the video decoder on the reference frame and store the reconstructed reference frame in a reference picture cache (434). In this way, the video encoder (203) locally stores a replica of the reconstructed reference frame, which has the same content (no transmission error) as the reconstructed reference frame obtained by the remote video decoder.
[0048] The predictor (435) performs a predictive search on the encoding engine (432). That is, for a new frame to be encoded, the predictor (435) can search the reference picture memory (434) for sample data (referred to as candidate reference pixel blocks) that are appropriate predictive references for the new frame, or metadata such as reference picture motion vectors and block shapes. Based on the sample blocks, the predictor (435) can find appropriate predictive references by operating on a pixel block-by-pixel basis. In some situations, the input picture has predictive references obtained from multiple reference pictures stored in the reference picture memory (434), as determined by the search results obtained by the predictor (435).
[0049] The controller (450) can manage the encoding operations of the video encoder (430), including, for example, setting parameters and subgroup parameters for encoding video data.
[0050] In the entropy encoder (445), entropy coding can be performed on the outputs of all the functional units mentioned above. The entropy encoder converts these symbols into an encoded video sequence by performing lossless compression on the symbols generated from each functional unit according to techniques known to those skilled in the art, such as Huffman coding, variable-length coding, and arithmetic coding.
[0051] The transmitter (440) may buffer (one or more) encoded video sequences created by the entropy encoder (445) in preparation for transmission over the communication channel (460), which may be a hardware / software link to a storage device for storing the encoded video data. The transmitter (440) may merge the encoded video data from the video encoder (430) with other data to be transmitted, such as encoded audio data and / or auxiliary data streams (source not shown).
[0052] The controller (450) can manage the operation of the video encoder (203). During encoding, the controller (450) assigns each encoded picture a specific encoded picture type that may affect the encoding technique applied to the corresponding picture. For example, a picture is typically assigned as one of the following picture types:
[0053] An intra-picture (I-picture) may be a picture that is encoded and decoded without using any other frame in the sequence as a source for prediction. Some video codecs allow different types of intra-pictures, including, for example, independent decoder refresh ("IDR") pictures. Those skilled in the art will know of their variations of I-pictures and their corresponding uses and characteristics.
[0054] A prediction picture (P-picture) may be a picture that is encoded and decoded using intra-prediction or inter-prediction, where the sample value of each block is predicted using at most one motion vector and a reference index.
[0055] A bidirectional predictive picture (B-picture) may be a picture that uses intra-prediction or inter-prediction to encode and decode, predicting the sample values of each block using at most two motion vectors and a reference index. Similarly, multiple predictive pictures apply two or more reference pictures and associated metadata to the reconstruction of a single block.
[0056] A source picture can generally be subdivided spatially into multiple sample blocks (e.g., blocks of 4x4, 8x8, 4x8, or 16x16 samples each), and each block can be encoded. These blocks can be predictively encoded by referencing other (encoded) blocks, the other blocks being determined by the encoding assignment applied to the corresponding picture of the block. For example, a block of an I-picture may be encoded non-predictively, or it may be predictively encoded (spatial or intra-predictively) by referencing an already encoded block of the same picture. A pixel block of a P-picture may be predictively encoded via spatial or temporal prediction by referencing one previously encoded reference picture. A block of a B-picture may be predictively encoded via spatial or temporal prediction by referencing one or two previously encoded reference pictures.
[0057] The video encoder (203) can perform encoding operations based on, for example, a specified video encoding technique or standard in the ITU-T H.265 Recommendation. In this operation, the video encoder (203) can perform various compression operations, including predictive encoding operations using temporal and spatial redundancy in the input video sequence. Thus, the encoded video data can conform to the syntax specified by the video encoding technique or standard being used.
[0058] In one embodiment, the transmitter (440) can transmit the encoded video along with additional data. The source encoder (430) may include such data as part of the encoded video sequence. The additional data may include time / space / SNR extension layers, other forms of redundant data such as redundant pictures and slices, supplemental extension information (SEI) messages, video usability information (VUI) parameter set fragments, and the like.
[0059] As described above, the encoding of an encoded video sequence can be performed according to video encoding techniques or standards, and can follow principles known to those skilled in the art, including variable-length encoding, Huffman coding, and arithmetic coding with or without context. In certain streaming systems, video bitstreams (204, 207, 209) can be encoded according to certain video encoding / compression standards. Examples of such standards include the ITU-T HEVC Recommendation for H.265.
[0060] In HEVC, the main transformation has a 4-point, 8-point, 16-point, or 32-point DCT-2 transformation core matrix, and the transformation core matrix may also be represented by an 8-bit integer (i.e., an 8-bit transformation core matrix). The HEVC transformation core matrix of the small DCT-2 is part of the large DCT-2, as shown below.
[0061] 4x4 DCT-2 converter JPEG0007893923000001.jpg51166
[0062] 8x8 DCT-2 converter TIFF0007893923000002.tif44140
[0063] 16x16 DCT-2 conversion JPEG0007893923000003.jpg83140
[0064] 32x32 DCT-2 converter JPEG0007893923000004.jpg78152
[0065] As described above, each DCT-2 core exhibits symmetry / antisymmetry properties. Therefore, it supports the implementation of so-called "partial butterfly" operations, reducing the number of operation counts (multiplication, addition / subtraction, shift), and allowing the same result of matrix multiplication to be obtained through partial butterfly. For more detailed information on HEVC conversion design, please refer to Non-Patent Document 1.
[0066] A video coding standard, informally called Multipurpose Video Coding (VVC), is under development. The disclosed themes can be used in the context of VVC.
[0067] For the main transformation in VVC, in addition to the 4-point, 8-point, l6-point, and 32-point DCT-2 transformations similar to those in HEVC, it may also include additional 2-point, 64-point, and l28-point DCT-2 transformations. The 2-point DCT-2 core may be an 8-bit integer matrix matching the HEVC main transformation design, while the 64-point and l28-point DCT-2 use a 10-bit transformation core, indicating that the 2-point, 4-point, 8-point, l6-point, and 32-point DCT-2 transformations cannot be extracted from the 64-point or l28-point DCT-2 core in VVC.
[0068] Below is an example of the 64-point DCT-2 core portion defined in VVC, where {aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb,bc,bd,be,bf,bg,bh,bi,bj,bk,bl,bm,bn,bo,bp,bq,br,bs,bt,bu,bv,bw,bx,by,bz,ca,cb,cc,cd,ce,cf,cg,ch,ci,cj,ck}={256, 334,139,355,301,201,71,360,346,319,280,230,171,105,35,362,358,351,341,327,311,291,268,243,216,186,155,122,88,53,18,362,361,359,357,353,349,344,338,331,323,315,306,296,285,274,262,250,236,223,208,194,178,163,147,130,114,97,79,62,44,27,9}, {Aa,aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoahahaaaaaaaaaaaaaaaaaaaaaaaaaaa Bytha set aaaaaaasasaaasasaaaasaaaaaasaaaaaaaaaaaaaaaaaaastingaa ,aa,aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa,aaaaaaaaaaaaaaaaaaaaaaaughaaaa,aa,aaaaaaaaaaaaaaaaaaaaaaaaaaaa,aaaaaaaaaaaaaaaaaah,aaaaaaaaaaaaaaaaaaaaaaaaaaaa,aaaaaaaaaaaaaaaaah,aaaaaaaaaaaaaaaaaaaaa,aaaaaaaaaaaaaaaah,aa,aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa,aaaaaaaaaaaaaaaah,aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa {bf,bg,bh,bi,bj,bk,bl,bm,bn,bo,bp,bq,br,bz,bt,bu,bv,bw,bx,bx,ca,cb,cc,cd,ce,cf,cg,ch,ci,cj,ck,-ck,-chj,-ci ,-cg,-cf,-ce,-cd,-cc,-cb,-ca,-bz,-by,-bx,-bw,-bv,-bu,-bt,-bs,-br,-bq,-bp,-bo,-bn,-bm,-bl,-bk,-bj,-fg,-bi,-bh {ap,aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb,bc,bd,be,-be,-bd,-bc,-bb,-ba,-az,-ay,-ax,-aw,-av,-au,-at,-as,-ar,-aq,-ap ,-ap,-aq,-ar,-as,-at,-au,-av,-aw,-ax,-ay,-az,-ba,-bb,-bc,-bd,-be,be,bd,bc,bb,ba,az,ay,ax,aw,av,au,at,as,ar,aq,ap} {bg,bj,bm,bp,bs,bv,by,cb,ce,ch,ck,-ci,-cf,-cc,-bz,-bw,-bt,-bq,-bn,-bk,-bh,-bf,-bi,-bl,-bo,-br,-bu,-cd,-ca,- g,-cj,cj,cg,cd,ca,bx,bu,br,bo,bl,bi,bf,bh,bk,bn,bq,bt,bw,bz,cc,cf,ci,-ck,-ch,-ce,-cb,-by,-bv,-bs,-bp,-bm,-bj {ah,ai,aj,ak,al,am,an,ao,-ao,-an,-am,-al,-ak,-aj,-ai,-ah,-ah,-ai,-aj,-ak,-al,-am,-an,-ao,ao,an,am,al,ak,aj,ai,ah ,ah,ai,aj,ak,al,am,an,ao,-ao,-an,-am,-al,-ak,-aj,-ai,-ah,-ah,-ai,-aj,-ak,-al,-am,-an,-ao,ao,an,am,al,ak,aj,ai,ah} {bh,bm,br,bw,cb,cg,-ck,-cf,-ca,-bv,-bq,-bl,-bg,-bi,-bn,-bs,-bx,-cc,-ch,cj,ce,bz,bu,bp,bk,bf,bj,bo,bt,by,cd,ci,-c i,-cd,-by,-bt,-bo,-bj,-bf,-bk,-bp,-bu,-bz,-ce,-cj,ch,cc,bx,bs,bn,bi,bg,bl,bq,bv,ca,cf,ck,-cg,-cb,-bw,-br,-bm,-bh}} {aq,at,aw,az,bc,-be,-bb,-ay,-av,-as,-ap,-ar,-au,-ax,-ba,-bd,bd,ba,ax,au,ar,ap,av,av,ay,bb,be,-bc,-az,-aw,-at,-aq ,-aq,-at,-aw,-az,-bc,be,bb,ay,av,as,ap,ar,au,ax,ba,bd,-bd,-ba,-ax,-au,-ar,-ap,-as,-av,-ay,-bb,-be,bc,az,aw,at,aq} {bi,bp,bw,cd,ck,-ce,-bx,-bq,-bj,-bh,-bo,-bv,-cc,-cj,cf,by,br,bk,bg,bn,bu,cb,ci,-cg,-bz,-bs,-bl,-bf,-bm,-bt,-ca ch,ch,ca,bt,bm,bf,bl,bs,bz,cg,-ci,-cb,-bu,-bn,-bg,-bk,-br,-by,-cf,cj,cc,bv,bo,bh,bj,bq,bx,ce,-ck,-cd,-bw,-bp,-bi} {ad,ae,af,ag,-ag,-af,-ae,-ad,-ad,-ae,-af,-ag,ag,af,ae,ad,ad,ae,af,ag,-ag,-af,-ae,-ad,-ad,-ae,-af,-ag,ag,af,ae,ad ,ad,ae,af,ag,-ag,-af,-ae,-ad,-ad,-ae,-af,-ag,ag,af,ae,ad,ad,ae,af,ag,-ag,-af,-ae,-ad,-ad,-ae,-af,-ag,ag,af,ae,ad} {bj,bs,cb,ck,-cc,-bt,-bk,-bi,-br,-ca,-cj,cd,bu,bl,bh,bq,bz,ci,-ce,-bv,-bm,-bg,-bp,-by,-ch,cf,bw,bn,bf,bg,bo,-bx cg,-bx,-bo,-bf,-bn,-bw,-cf,ch,by,bp,bg,bm,bv,ce,-ci,-bz,-bq,-bh,-bl,-bu,-cd,cj,ca,br,bi,bk,bt,cc,-ck,-bj,-bs {ar,aw,bb,-bd,-ay,-at,-ap,-au,-az,-be,ba,av,aq,as,ax,bc,-bc,-ax,-as,-aq,-av,-ba,be,az,au,ap,at,ay,bd,-bb,-aw,-ar ,-ar,-aw,-bb,b,bd,ay,at,ap,au,az,be,-ba,-av,-aq,-as,-ax,-bc,bc,ax,as,aq,av,ba,-be,-az,-au,-ap,-at,-ay,-bd,bb,aw,ar} {bk,bv,cg,-ce,-bt,-bi,-bm,-bx,-ci,cc,br,bg,bo,bz,ck,-ca,-bp,-bf,-bq,-cb,cj,by,bn,bh,bs,cd,-ch,-bw,-bl,-bj, f,cf,bu,bj,bl,bw,ch,-cd,-bs,-bh,-bn,-by,-cj,cb,bq,bf,bp,ca,-ck,-bz,-bo,-bg,-br,-cc,ci,bx,bm,bi,bt,ce,-cg,-bv {ai,al,ao,-am,-aj,-ah,-ak,-an,an,ak,ah,aj,am,-ao,-al,-ai,-ai,-al,-ao,am,aj,ah,ak,an,-ak,-ah,-aj,-am,ao,al,ai ,ai,al,ao,-am,-aj,-ah,-ak,-an,an,ak,ah,aj,am,-ao,-al,-ai,-ai,-al,-ao,am,aj,ah,ak,an,-ak,-ah,-aj,-am,ao,al,ai} {bl,by,-ck,-bx,-bk,-bm,-bz,cj,bw,bj,bn,ca,-ci,-bv,-bi,-bo,-cb,ch,bu,bh,bp,cc,-cg,-bt,-bg,-bq,-cd,cf,bs,bf,b,ce,b -ce,-br,-bf,-bs,-cf,cd,bq,bg,bt,cg,-cc,-bp,-bh,-bu,-ch,cb,bo,bi,bv,ci,-ca,-bn,-bj,-bw,-cj,bz,bm,bk,bx,ck,-bl} {as,az,-bd,-aw,-ap,-av,-bc,ba,at,ar,ay,-be,-ax,-aq,-au,-bb,bb,au,aq,ax,be,-ay,-ar,-at,-ba,bc,av,ap,aw,bd,-az,-as ,-as,-az,bd,aw,ap,av,bc,-ba,-at,-ar,-ay,be,ax,aq,au,bb,-bb,-au,-aq,-ax,-be,ay,ar,at,ba,-bc,-av,-ap,-aw,-bd,az,as} {bm,cb,-cf,-bq,-bi,-bx,cj,bu,bf,bt,ci,-by,-bj,-bp,-ce,cc,bn,bl,ca,-cg,-br,-bh,-bw,ck,bv,bg,ch,-bz,-bk,-bo,-cd ,cd,bo,bk,bz,-ch,-bs,-bg,-bv,-ck,bw,bh,br,cg,-ca,-bl,-bn,-cc,ce,bp,bj,by,-ci,-bt,-bf,-bu,-cj,bx,bi,bq,cf,-cb} {ab,ac,-ac,-ab,-ab,-ac,ac,ab,ab,ac,-ab,-ab,-ac,ac,ab,ab,ac,-ac,-ab,-ab,-ac,ab,ab,ac,-ac,-ab,-ab,-ac,ac,ab ,ab,ac,-ac,-ab,-ab,-ac,ac,ab,ab,ac,-ab,-ab,-ac,ac,ab,ab,ac,-ac,-ab,-ab,-ac,ac,ab,ab,ac,-ac,-ab,-ab,-ac,ac,ab} {bn,ce,-ca,-bj,-br,-ci,bw,bf,bv,-cj,-bs,-bi,-bz,cf,bo,bm,cd,-cb,-bk,-bq,-ch,bx,bg,bu,-ck,-bt,-bh,-by,bcg,ccbp ,-cc,-bl,-bp,-cg,by,bh,bt,ck,-bu,-bg,-bx,ch,bq,bk,cb,-cd,-bm,-bo,-cf,bz,bi,bs,cj,-bv,-bf,-bw,ci,br,bj,bn,}- {at,bc,-ay,-ap,-ax,bd,au,as,bb,-az,-aq,-aw,be,av,ar,ba,-ba,-ar,-av,-be,aw,aq,az,-bb,-as,-au,-bd,ax,ap,ay,-bc,-at ,-at,-au,-as,-bb,az,aq,aw,-be,-av,-ar,-ba,ba,ar,av,be,-aw,-aq,-az,bb,as,au,bd,-ax,-ap,-ay,bc,at} {bo,ch,-bv,-bh,-ca,cc,bj,bt,-cj,-bq,-bm,-cf,bx,bf,by,-ce,-bl,-br,-ck,bs,bk,cd,-bz,-bg,-bw,cg,bn,bp,bi,-c,-bu, b,cb,bi,bu,-ci,-bp,-bn,-cg,bw,bg,bz,-cd,-bk,-bs,ck,br,bl,ce,-by,-bf,-bx,cf,bm,bq,cj,-bt,-bj,-cc,ca,bh,-bov}- {aj,ao,-ak,-ai,-an,al,ah,am,-am,-ah,-al,an,ai,ak,-ao,-aj,-aj,-ao,ak,ai,an,-ah,-am,am,ah,al,-an,-ai,-ak,ao,aj ,aj,ao,-ak,-ai,-an,al,ah,am,-am,-ah,-al,an,ai,ak,-ao,-aj,-aj,-ao,ak,ai,an,-ah,-am,am,ah,al,-an,-ai,-ak,ao,aj} {bp,ck,-bq,-bo,-cj,br,bn,ci,-bs,-bm,-ch,bt,bl,cg,-bu,-bk,-cf,bv,bj,ce,-bw,-bi,-cd,bx,bh,cc,-by,-bg,-cb,bz,bf,ca -ca,-bf,-bz,cb,bg,by,-cc,-bh,-bx,cd,bi,bw,-ce,-bj,-bv,cf,bk,bu,-cg,-bl,-bt,ch,bm,bs,-ci,-bn,-br,cj,bo,bq,-bp}} {au,-be,-at,-av,bd,as,aw,-bc,-ar,-ax,bb,aq,ay,-ba,-ap,-az,az,ap,ba,-ay,-aq,-bb,ax,ar,bc,-aw,-as,-bd,av,at,be,-au ,-au,be,at,av,-bd,-as,-aw,bc,ar,ax,-bb,-aq,-ay,ba,ap,az,-az,-ap,-ba,ay,aq,bb,-ax,-ar,-bc,aw,as,bd,-av,-at,-be,au} {bq,-ci,-bl,-bv,cd,bg,ca,-by,-bi,-cf,bt,bn,ck,-bo,-bs,cg,bj,bx,-cb,-bf,-cc,bw,bk,ch,-br,-bp,cj,bm,bu,-ce,-bz,-bz ,bz,bh,ce,-bu,-bm,-cj,bp,br,-ch,-bk,-bw,cc,bf,cb,-bx,-bj,-cg,bs,bo,-ck,-bn,-bt,cf,bi,by,-ca,-bg,-cd,bv,bl,ci,-bq}} {ae,-ag,-ad,-af,af,ad,ag,-ae,-ae,ag,ad,af,-af,-ad,-ag,ae,ae,-ag,-ad,-af,af,ad,ag,-ae,-ae,ag,ad,af,-af,-ad,-ag,ae ,ae,-ag,-ad,-af,af,ad,ag,-ae,-ae,ag,ad,af,-af,-ad,-ag,ae,ae,-ag,-ad,-af,af,ad,ag,-ae,-ae,ag,ad,af,-af,-ad,-ag,ae} {br,-cf,-bg,-cc,bu,bo,-ci,-bj,-bz,bx,bl,ck,-bm,-bw,ca,bi,ch,-bp,-bt,cd,bf,ce,-bs,-bq,cg,bh,cb,-bv,-bkn,bycj-b by,-bk,-cj,bn,bv,-cb,-bh,-cg,bq,bs,-ce,-bf,-cd,bt,bp,-ch,-bi,-ca,bj,bm,-ck,-bl,-bx,bz,bj,ci,-bo,-bu,cc,bg,bg,cf {av,-bb,-ap,-bc,au,aw,-ba,-aq,-bd,at,ax,-az,-ar,-be,as,ay,-ay,-as,be,ar,az,-ax,-at,bd,aq,ba,-aw,-au,bc,ap,bb,-av ,-av,bb,ap,bc,-au,-aw,ba,aq,bd,-at,-ax,az,ar,be,-as,-ay,ay,as,-be,-ar,-az,ax,at,-bd,-aq,-ba,aw,au,-bc,-ap,-bb,av} {bs,-cc,-bi,-cj,bl,bz,-bv,-bp,cf,bf,cg,-bo,-bw,by,bm,-ci,-bh,-cd,br,bt,-cb,-bj,-ck,bk,ca,-bu,-bq,ce,bng,-ch-, x,bx,bn,-ch,-bg,-ce,bq,bu,-ca,-bk,ck,bj,cb,-bt,-br,cd,bh,ci,-bm,-by,bw,bo,-cg,-bf,-cf,bp,bv,-bz,-bl,cc,-cj,bi,bi, {ak,-am,-ai,ao,ah,an,-aj,-al,al,aj,-an,-ah,-ao,ai,am,-ak,-ak,am,ai,-ao,-ah,-an,aj,al,-al,-aj,an,ah,ao,-ai,-am,ak ,ak,-am,-ai,ao,ah,an,-aj,-al,al,aj,-an,-ah,-ao,ai,am,-ak,-ak,am,ai,-ao,-ah,-an,aj,al,-al,-aj,an,ah,ao,-ai,-am,ak} {bt,-bz,-bn,cf,bh,ck,-bi,-ce,bo,by,-bu,-bs,ca,bm,-cg,-bg,-cj,bj,cd,-bp,-bx,bv,br,-cb,-bl,ch,bf,ci,-bk,-cc,bq,bw, -bw,-bq,cc,bk,-ci,-bf,-ch,bl,cb,-br,-bv,bx,bp,-cd,-bj,cj,bg,cg,-bm,-ca,bs,bu,-by,-bo,ce,bi,-ck,-bh,-cf,bn,bz,-bt}} {aw,-ay,-au,ba,as,-bc,-aq,be,ap,bd,-ar,-bb,at,az,-av,-ax,ax,av,-az,-at,bb,ar,-bd,-ap,-be,aq,bc,-as,-ba,au,ay,-aw ,-aw,ay,au,-ba,-as,bc,aq,-be,-ap,-bd,ar,bb,-at,-az,av,ax,-ax,-av,az,at,-bb,-ar,bd,ap,be,-aq,-bc,as,ba,-au,-ay,aw} {bu,-bw,-bs,by,bq,-ca,-bo,cc,bm,-ce,-bk,cg,bi,-ci,-bg,ck,bf,cj,-bh,-ch,bj,cf,-bl,-cd,bn,cb,-bp,-bz,br,bx,-bv,-bv ,bv,bt,-bx,-br,bz,bp,-cb,-bn,cd,bl,-cf,-bj,ch,bh,-cj,-bf,-ck,bg,ci,-bi,-cg,bk,ce,-bm,-cc,bo,ca,-bq,-by,bw,b,bu} {Ah,-aa,-aa,aa,aa,aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa being being ,aa,-aa,-aa,aa,aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa being being {bv,-bt,-bx,br,bz,-bp,-cb,bn,cd,-bl,-cf,bj,ch,-bh,-cj,bf,-ck,-bg,ci,bi,-cg,-bk,ce,bm,-cc,-bo,ca,bq,bq,-wby,bu,-bs ,-bu,-bw,bs,by,-bq,-ca,bo,cc,-bm,-ce,bk,cg,-bi,-ci,bg,ck,-bf,cj,bh,-ch,-bj,cf,bl,-cd,-bn,cb,bp,-bz,-br,,bx,}b {ax,-av,-az,at,bb,-ar,-bd,ap,-be,-aq,bc,as,-ba,-au,ay,aw,-aw,-ay,au,ba,-as,-bc,aq,be,-ap,bd,ar,-bb,-at,az,av,-ax ,-ax,av,az,-at,-bb,ar,bd,-ap,be,aq,-bc,-as,ba,au,-ay,-aw,aw,ay,-au,-ba,as,bc,-aq,-be,ap,-bd,-ar,bb,at,-az,-av,ax} {bw,-bq,-cc,bk,ci,-bf,ch,bl,-cb,-br,bv,bx,-bp,-cd,bj,cj,-bg,cg,bm,-ca,-bs,bu,by,-bo,-ce,bi,ck,-bh,cf,bn-bt,-bz bt,bz,-bn,-cf,bh,-ck,-bi,ce,bo,-by,-bu,bs,ca,-bm,-cg,bg,-cj,-bj,cd,bp,-bx,-bv,br,cb,-bl,-ch,bf,-ci,-bk,bc,cc}bq {al,-aj,-an,ah,-ao,-ai,am,ak,-ak,-am,ai,ao,-ah,an,aj,-al,-al,aj,an,-ah,ao,ai,-am,-ak,ak,am,-ai,-ao,ah,-an,-aj,al ,al,-aj,-an,ah,-ao,-ai,am,ak,-ak,-am,ai,ao,-ah,an,aj,-al,-al,aj,an,-ah,ao,ai,-am,-ak,ak,am,-ai,-ao,ah,-an,-aj,al} {bx,-bn,-ch,bg,-ce,-bq,bu,ca,-bk,-ck,bj,-cb,-bt,br,cd,-bh,ci,bm,-by,-bw,bo,cg,-bf,cf,bp,-bv,-bz,bl,cj,-bi,cc,bs -bs,-cc,bi,-cj,-bl,bz,bv,-bp,-cf,bf,-cg,-bo,bw,by,-bm,-ci,bh,-cd,-br,bt,cb,-bj,ck,bk,-ca,-bu,bq,ce,-bg,ch,bn,-bx}} {ay,-as,-be,ar,-az,-ax,at,bd,-aq,ba,aw,-au,-bc,ap,-bb,-av,av,bb,-ap,bc,au,-aw,-ba,aq,-bd,-at,ax,az,-ar,be,as,-ay ,-ay,as,be,-ar,az,ax,-at,-bd,aq,-ba,-aw,au,bc,-ap,bb,av,-av,-bb,ap,-bc,-au,aw,ba,-aq,bd,at,-ax,-az,ar,-be,-as,ay} {by,-bk,cj,bn,-bv,-cb,bh,-cg,-bq,bs,ce,-bf,cd,bt,-bp,-ch,bi,-ca,-bw,bm,ck,-bl,bx,bz,-bj,ci,bo,-bu,-cc,bg,-cf,-br ,br,cf,-bg,cc,bu,-bo,-ci,bj,-bz,-bx,bl,-ck,-bm,bw,ca,-bi,ch,bp,-bt,-cd,bf,-ce,-bs,bq,cg,-bh,cb,bv,-bn,-cj,-by} {af,-ad,ag,ae,-ae,-ag,ad,-af,-af,ad,-ag,-ae,ae,ag,-ad,af,af,-ad,ag,ae,-ae,-ag,ad,-af,-af,ad,-ag,-ae,ae,ag,-ad,af ,af,-ad,ag,ae,-ae,-ag,ad,-af,-af,ad,-ag,-ae,ae,ag,-ad,af,af,-ad,ag,ae,-ae,-ag,ad,-af,-af,ad,-ag,-ae,ae,ag,-ad,af} {bz,-bh,ce,bu,-bm,cj,bp,-br,-ch,bk,-bw,-cc,bf,-cb,-bx,bj,-cg,-bs,bo,ck,-bn,bt,cf,-bi,by,ca,-bg,cd,bv,b,-b,-ci bq,-ci,bl,-bv,-cd,bg,-ca,-by,bi,-cf,-bt,bn,-ck,-bo,bs,cg,-bj,bx,cb,-bf,cc,bw,-bk,ch,br,-bp,-cj,bm,-bu,-bz,-bh {az,-ap,ba,ay,-aq,bb,ax,-ar,bc,aw,-as,bd,av,-at,be,au,-au,-be,at,-av,-bd,as,-aw,-bc,ar,-ax,-bb,aq,-ay,-ba,ap,-az ,-az,ap,-ba,-ay,aq,-bb,-ax,ar,-bc,-aw,as,-bd,-av,at,-be,-au,au,be,-at,av,bd,-as,aw,bc,-ar,ax,bb,-aq,ay,ba,-ap,az} {ca,-bf,bz,cb,-bg,by,cc,-bh,bx,cd,-bi,bw,ce,-bj,bv,cf,-bk,bu,cg,-bl,bt,ch,-bm,bs,ci,-bn,br,cj,-bo,bq,bck,-bp ck,-bq,bo,-cj,-br,bn,-ci,-bs,bm,-ch,-bt,bl,-cg,-bu,bk,-cf,-bv,bj,-ce,-bw,bi,-cd,-bx,bh,-cc,-by,bg,-bf,-caz,} {am,-ah,al,an,-ai,ak,ao,-aj,aj,-ao,-ak,ai,-an,-al,ah,-am,-am,ah,-al,-an,ai,-ak,-ao,aj,-aj,ao,ak,-ai,an,al,-ah,am ,am,-ah,al,an,-ai,ak,ao,-aj,aj,-ao,-ak,ai,-an,-al,ah,-am,-am,ah,-al,-an,ai,-ak,-ao,aj,-aj,ao,ak,-ai,an,al,-ah,am} {cb,-bi,bu,ci,-bp,bn,-cg,-bw,bg,-bz,-cd,bk,-bs,-ck,br,-bl,ce,by,-bf,bx,cf,-bm,bq,-cj,-bt,bj,-cc,-ca,bh,-bv,-bv o,-bo,ch,bv,-bh,ca,cc,-bj,bt,cj,-bq,bm,-cf,-bx,bf,-by,-ce,bl,-br,ck,bs,-bk,cd,bz,-bg,bw,cg,-bn,bp,-ci,-bu,bi,-cb} {ba,-ar,av,-be,-aw,aq,-az,-bb,as,-au,bd,ax,-ap,ay,bc,-at,at,-bc,-ay,ap,-ax,-bd,au,-as,bb,az,-aq,aw,be,-av,ar,-ba ,-ba,ar,-av,be,aw,-aq,az,bb,-as,au,-bd,-ax,ap,-ay,-bc,at,-at,bc,ay,-ap,ax,bd,-au,as,-bb,-az,aq,-aw,-be,av,-ar,ba} {cc,-bl,bp,-cg,-by,bh,-bt,ck,bu,-bg,bx,ch,-bq,bk,-cb,-cd,bm,-bo,cf,bz,-bi,bs,-cj,-bv,bf,-bw,-ci,br,-bj,ca,bn ,bn,-ce,-ca,bj,-br,ci,bw,-bf,bv,cj,-bs,bi,-bz,-cf,bo,-bm,cd,cb,-bk,bq,-ch,-bx,bg,-bu,-ck,bt,-bh,by,cg,-bp,-cc}} {ac,-ab,ab,-ac,-ac,-ab,-ab,ac,ac,-ab,-ac,-ac,-ab,-ab,ac,ac,-ab,-ac,-ac,-ab,-ab,ac,ac,-ab,-ac,-ac,ab,-ab,ac ,ac,-ab,ab,-ac,-ac,-ab,-ab,ac,ac,-ab,-ac,-ac,-ab,-ab,ac,ac,-ab,-ac,-ac,-ab,-ab,ac,ac,-ab,-ac,-ac,ab,-ab,ac} {cd,-bo,bk,-bz,-ch,bs,-bg,bv,-ck,-bw,bh,-br,cg,ca,-bl,bn,-cc,-ce,bp,-bj,by,ci,-bt,bf,-bu,cj,bx,-bi,bcb,-cf,- ,-bm,cb,cf,-bq,bi,-bx,-cj,bu,-bf,bt,-ci,-by,bj,-bp,ce,cc,-bn,bl,-ca,-cg,br,-bh,bw,ck,-bv,bg,-bs,ch,bz,-cd,bk} {bb,-au,aq,-ax,be,ay,-ar,at,-ba,-bc,av,-ap,aw,-bd,-az,as,-as,az,bd,-aw,ap,-av,bc,ba,-at,ar,-ay,-be,ax,-aq,au,-bb ,-bb,au,-aq,ax,-be,-ay,ar,-at,ba,bc,-av,ap,-aw,bd,az,-as,as,-az,-bd,aw,-ap,av,-bc,-ba,at,-ar,ay,be,-ax,aq,-au,bb} {ce,-br,bf,-bs,cf,cd,-bq,bg,-bt,cg,cc,-bp,bh,-bu,ch,cb,-bo,bi,-bv,ci,ca,-bn,bj,-bw,cj,bz,-bm,bk,-bx,ck,bb,by,- ,-by,-ck,bx,-bk,bm,-bz,-cj,bw,-bj,bn,-ca,-ci,bv,-bi,bo,-cb,-ch,bu,-bh,bp,-cc,-cg,bt,-bg,bq,-cd,-cf,bs,-bf,} {an,-ak,ah,-aj,am,ao,-al,ai,-ai,al,-ao,-am,aj,-ah,ak,-an,-an,ak,-ah,aj,-am,-ao,al,-ai,ai,-al,ao,am,-aj,ah,-ak,an ,an,-ak,ah,-aj,am,ao,-al,ai,-ai,al,-ao,-am,aj,-ah,ak,-an,-an,ak,-ah,aj,-am,-ao,al,-ai,ai,-al,ao,am,-aj,ah,-ak,an} {cf,-bu,bj,-bl,bw,-ch,-cd,bs,-bh,bn,-by,cj,cb,-bq,bf,-bp,ca,ck,-bz,bo,-bg,br,-cc,-ci,bx,-bm,bi,-bt,ce,cg,-bv,bk -bk,bv,-cg,-ce,bt,-bi,bm,-bx,ci,cc,-br,bg,-bo,bz,-ck,-ca,bp,-bf,bq,-cb,-cj,by,-bn,bh,-bs,cd,ch,-bw,bl,-bj,bu,-cf} {bc,-ax,as,-aq,av,-ba,-be,az,-au,ap,-at,ay,-bd,-bb,aw,-ar,ar,-aw,bb,bd,-ay,at,-ap,au,-az,be,ba,-av,aq,-as,ax,-bc ,-bc,ax,-as,aq,-av,ba,be,-az,au,-ap,at,-ay,bd,bb,-aw,ar,-ar,aw,-bb,-bd,ay,-at,ap,-au,az,-be,-ba,av,-aq,as,-ax,bc} {cg,-bx,bo,-bf,bn,-bw,cf,ch,-by,bp,-bg,bm,-bv,ce,ci,-bz,bq,-bh,bl,-bu,cd,cj,-ca,br,-bi,bk,-bt,cc,ck,-cb,bs,-bj,b j,-bs,cb,-ck,-cc,bt,-bk,bi,-br,ca,-cj,-cd,bu,-bl,bh,-bq,bz,-ci,-ce,bv,-bm,bg,-bp,by,-ch,-cf,bw,-bn,bf,-bx,-cg}} {ag,-af,ae,-ad,ad,-ae,af,-ag,-ag,af,-ae,ad,-ad,ae,-af,ag,ag,-af,ae,-ad,-ae,af,-ag,-ag,af,-ae,ad,-ad,ae,-af,ag ,ag,-af,ae,-ad,ad,-ae,af,-ag,-ag,af,-ae,ad,-ad,ae,-af,ag,ag,-af,ae,-ad,-ae,af,-ag,-ag,af,-ae,ad,-ad,ae,-af,ag} {ch,-ca,bt,-bm,bf,-bl,bs,-bz,cg,ci,-cb,bu,-bn,bg,-bk,br,-by,cf,cj,-cc,bv,-bo,bh,-bj,bq,-bx,ce,ck,-cd,biw,-bx,ce,ck,-cd,bw,- bi,bp,-bw,cd,-ck,-ce,bx,-bq,bj,-bh,bo,-bv,cc,-cj,-cf,by,-br,bk,-bg,bn,-bu,cb,-ci,-cg,bz,-bs,bl,-bf,cam,-ch}bt, {bd,-ba,ax,-au,ar,-ap,as,-av,ay,-bb,be,bc,-az,aw,-at,aq,-aq,at,-aw,az,-bc,-be,bb,-ay,av,-as,ap,-ar,au,-ax,ba,-bd ,-bd,ba,-ax,au,-ar,ap,-as,av,-ay,bb,-be,-bc,az,-aw,at,-aq,aq,-at,aw,-az,bc,be,-bb,ay,-av,as,-ap,ar,-au,ax,-ba,bd} {ci,-cd,by,-bt,bo,-bj,bf,-bk,bp,-bu,bz,-ce,cj,ch,-cc,bx,-bs,bn,-bi,bg,-bl,bq,-bv,ca,-cf,ck,cg,-cb,bw,-br,bm bh,-bm,br,-bw,cb,-cg,-ck,cf,-ca,bv,-bq,bl,-bg,bi,-bn,bs,-bx,cc,-ch,-cj,ce,-bz,bu,-bp,bk,-bf,bj,-bo,bt,-ci},c {ao,-an,am,-al,ak,-aj,ai,-ah,ah,-ai,aj,-ak,al,-am,an,-ao,-ao,an,-am,al,-ak,aj,-ai,ah,-ah,ai,-aj,ak,-al,am,-an,ao ,ao,-an,am,-al,ak,-aj,ai,-ah,ah,-ai,aj,-ak,al,-am,an,-ao,-ao,an,-am,al,-ak,aj,-ai,ah,-ah,ai,-aj,ak,-al,am,-an,ao} {cj,-cg,cd,-ca,bx,-bu,br,-bo,bl,-bi,bf,-bh,bk,-bn,bq,-bt,bw,-bz,cc,-cf,ci,ck,-ch,ce,-cb,by,-bv,bs,-bp,bm,-bj,bg -bg,bj,-bm,bp,-bs,bv,-by,cb,-ce,ch,-ck,-ci,cf,-cc,bz,-bw,bt,-bq,bn,-bk,bh,-bf,bi,-bl,bo,-br,bu,-bx,ca,-cd,cg,-cj}} {be,-bd,bc,-bb,ba,-az,ay,-ax,aw,-av,au,-at,as,-ar,aq,-ap,ap,-aq,ar,-as,at,-au,av,-aw,ax,-ay,az,-ba,bb,-bc,bd,-be ,-be,bd,-bc,bb,-ba,az,-ay,ax,-aw,av,-au,at,-as,ar,-aq,ap,-ap,aq,-ar,as,-at,au,-av,aw,-ax,ay,-az,ba,-bb,bc,-bd,be} {ck,-cj,ci,-ch,cg,-cf,ce,-cd,cc,-cb,ca,-bz,by,-bx,bw,-bv,bu,-bt,bs,-br,bq,-bp,bo,-bn,bm,-bl,bk,-bj,bi,-bh,bg,-bf ,bf,-bg,bh,-bi,bj,-bk,bl,-bm,bn,-bo,bp,-bq,br,-bs,bt,-bu,bv,-bw,bx,-by,bz,-ca,cb,-cc,cd,-ce,cf,-cg,ch,-cc,-cj}}
[0069] The VVC 128-inch DCT-2 system is designed to accommodate the VVC system. ,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax ,ay,az,ba,bb,bc,bd,be,bf,bg,bh,bi,bj,bk,bl,bm,bn,bo,bp,bq,br,bs,bt,bu,bv,bw,bx,by,bz,ca,cb,cd,ce,cf,cg,ch,c,c ,ck,cl,cm,cn,co,cp,cc,cr,cs,ct,cu,cv,cw,cx,cy,c,da,db,dc,dd,de,df,dg,dh,di,dj,dk,dl,dm,dn,d_,dp,dq,dr,d,d,d,v ,dw,dx,dy,dz,ea,eb,ec,ed,ee,ef,eg,eh,ei,ej,ek,el,em,en,eo,ep,eq,er,es,et,eu,ev,ew}={256,334,139,355,301,201,71,360, 346,319,280,230,171,105,35,362,358,351,341,327,311,291,268,243,216,186,155,122,88,53,18,362,361,953,743,343,393 4,338,331,323,315,306,296,285,274,262,250,236,223,208,194,178,163,147,130,114,97,79,62,44,27,9,360,360,3636 ,359,357,356,354,352,350,348,345,342,339,336,333,329,325,321,317,313,308,303,299,293,288,283,277,277,216,250,259 46,240,233,226,219,212,205,197,190,182,175,167,159,151,14 3,134,126,118,109,101,92,84,75,66,58,49,40,31,22,13,4}である。
[0070] The 128 DCT-2 in the 128×128 version is also available for purchase. The DCT-2 has been replaced by the DCT-2. You will be able to find a solution to the problem. {Aa,aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoahahaaaaaaaaaaaaaaaaaaaaaaaaaaa Bytha set aaaaaaasasaaasasaaaasaaaaaasaaaaaaaaaaaaaaaaaaastingaa ,aa,aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa,aaaaaaaaaaaaaaaaaaaaaaaughaaaa,aa,aaaaaaaaaaaaaaaaaaaaaaaaaaaa,aaaaaaaaaaaaaaaaaah,aaaaaaaaaaaaaaaaaaaaaaaaaaaa,aaaaaaaaaaaaaaaaah,aaaaaaaaaaaaaaaaaaaaa,aaaaaaaaaaaaaaaah,aa,aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa,aaaaaaaaaaaaaaaah,aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa {cl,cm,cn,co,cp,cq,cr,cs,ct,cu,cv,cw,cx,cy,cz,da,db,dc,dd,d,df,dg,dh,dj,dk,dl,dm,dn,d_,dp,dq ,dr,ds,dt,du,dv,dw,dx,dz,ea,eb,ec,ed,ee,ef,eg,eh,ei,ej,ek,el,em,en,eo,ep,eq,er,es,et,eu,ev,ew} {bf,bg,bh,bi,bj,bk,bl,bm,bn,bo,bp,bq,br,bz,bt,bu,bv,bw,bx,bx,ca,cb,cc,cd,ce,cf,cg,ch,ci,cj,ck,-ck,-chj,-ci ,-cg,-cf,-ce,-cd,-cc,-cb,-ca,-bz,-by,-bx,-bw,-bv,-bu,-bt,-bs,-br,-bq,-bp,-bo,-bn,-bm,-bl,-bk,-bj,-fg,-bi,-bh {cm,cp,cs,cv,cy,db,de,dh,dk,dn,dq,dt,dw,dz,ec,ef,ei,el,eo,er,eu,-ew,-et,-eq,-en,-ek,-eh,-ee,-eb,-dy,-dv,-ds,-dp,-dm j,-dg,-dd,-da,-cx,-cu,-cr,-co,-cl,-cn,-cq,-ct,-cw,-cz,-dc,-df,-di,-dl,-d_,-dr,-du,-dx,-ea,-ed,-eg,-ej,-es,-ep {ap,aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb,bc,bd,be,-be,-bd,-bc,-bb,-ba,-az,-ay,-ax,-aw,-av,-au,-at,-as,-ar,-aq,-ap ,-ap,-aq,-ar,-as,-at,-au,-av,-aw,-ax,-ay,-az,-ba,-bb,-bc,-bd,-be,be,bd,bc,bb,ba,az,ay,ax,aw,av,au,at,as,ar,aq,ap} {cn,cs,cx,dc,dh,dm,dr,dw,eb,eg,el,eq,ev,-et,-eo,-ej,-ee,-dz,-du,-dp,-dk,-df,-da,-cv,-cq,-cl,-cp,-cu,-cz,-de,- dj,-d_,-dt,-dy,-ed,-ei,-en,-es,ew,er,em,eh,ec,dx,ds,dn,di,dd,cy,ct,co,cm,cr,cw,db,dg,dl,dq,dv,ea,ef,ek,ep,eu} {bg,bj,bm,bp,bs,bv,by,cb,ce,ch,ck,-ci,-cf,-cc,-bz,-bw,-bt,-bq,-bn,-bk,-bh,-bf,-bi,-bl,-bo,-br,-bu,-cd,-ca,- g,-cj,cj,cg,cd,ca,bx,bu,br,bo,bl,bi,bf,bh,bk,bn,bq,bt,bw,bz,cc,cf,ci,-ck,-ch,-ce,-cb,-by,-bv,-bs,-bp,-bm,-bj {co,cv,dc,dj,dq,dx,ee,el,es,-eu,-en,-eg,-dz,-ds,-dl,-de,-cx,-cq,-cm,-ct,-da,-dh,-d_,-dv,-ec,-ej,-eq,ew,ep,ei,eb,du ,dn,dg,cz,cs,cl,cr,cy,df,dm,dt,ea,eh,eo,ev,-er,-ek,-ed,-dw,-dp,-di,-db,-cu,-cn,-cp,-cw,-dd,-dk,-dr,-emdy,-et}-ef, {ah,ai,aj,ak,al,am,an,ao,-ao,-an,-am,-al,-ak,-aj,-ai,-ah,-ah,-ai,-aj,-ak,-al,-am,-an,-ao,ao,an,am,al,ak,-aj,ai,ah ,ah,ai,aj,ak,al,am,an,ao,-ao,-an,-am,-al,-ak,-aj,-ai,-ah,-ah,-ai,-ah,-ah,-ak,-al,-am,-an,-ao,-an,am,al,ak,-aj,ai,-ah} {cp,cy,dh,dq,dz,ei,er,-et,-ek,-eb,-ds,-dj,-da,-cr,-cn,-cw,-df,-d_,-dx,-eg,-ep,ev,em,ed,du,dl,dc,ct,cl,cu,dd,dm ,dv,ee,en,ew,-eo,-ef,-dw,-dn,-de,-cv,-cm,-cs,-db,-dk,-dt,-ec,-el,-eu,eq,eh,dy,dp,dg,cx,co,cq,cz,di,dr,ea,ej,es} {bh,bm,br,bw,cb,cg,-ck,-cf,-ca,-bv,-bq,-bl,-bg,-bi,-bn,-bs,-bx,-cc,-ch,cj,ce,bz,bu,bp,bk,bf,bj,bo,bt,by,cd,ci,-c i,-cd,-by,-bt,-bo,-bj,-bf,-bk,-bp,-bu,-bz,-ce,-cj,ch,cc,bx,bs,bn,bi,bg,bl,bq,bv,ca,cf,ck,-cg,-cb,-bw,-br,-bm,-bh} {cq,db,dm,dx,ei,et,-ep,-ee,-dt,-di,-cx,-cm,-cu,-df,-dq,-eb,-em,ew,el,ea,dp,de,ct,cn,cy,dj,du,ef,eq,-es,-eh,-dw,-dl ,-da,-cp,-cr,-dc,-dn,-dy,-ej,-eu,eo,ed,ds,dh,cw,cl,cv,dg,dr,ec,en,-ev,-ek,-dz,-d_,-dd,-cs,-co,-cz,-dk,-dv,-eg,-er} {aq,at,aw,-av,-as,-ap,-ar,-au,-ax,-ba,-bd,bd,ba,ax,au,ar,ap,as,av,ay,bb,be,-bc,-az,-aw,-at,-aq ,-aq,b,ay,av,as,ap,ar,au,ax,ba,bd,-bd,-ba,-ax,-au,-ar,-ap,-as,-av,-ay,-bb,-be,bc,az,aw,at,aq} {cr,de,dr,ee,er,-ep,-ec,-dp,-dc,-cp,-ct,-dg,-dt,-eg,-et,en,ea,dn,da,cn,cv,di,dv,ei,ev,-el,-dy,-dl,-cy,-cl,-cx,- dk,-dx,-ek,ew,ej,dw,dj,cw,cm,cz,dm,dz,-eu,-eh,-du,-dh,-cu,-co,-db,-d_,-eb,-eo,es,f,df,cs,cq,dd,dq,ed,eq} {bi,bp,bw,cd,ck,-ce,-bx,-bq,-bj,-bh,-bo,-bv,-cc,-cj,cf,by,br,bk,bg,bn,bu,cb,ci,-cg,-bz,-bs,-bl,-bf,-bm,-b ch,ch,ca,bt,bm,bf,bl,bs,bz,cg,-ci,-cb,-bu,-bn,-bg,-bk,-br,-by,-cf,cj,cc,bv,bo,bh,bj,bq,bx,ce,-ck,-cd,-bw,-bp {cs,dh,dw,el,-et,-ee,-dp,-da,-cl,-cz,-d_,-ed,-es,em,dx,di,ct,cr,dg,dv,ek,-eu,-ef,-dq,-db,-cm,-cy,-dn,-ec,-er,en,dy ,dj,cu,cq,df,du,ej,-ev,-eg,-dr,-dc,-cn,-cx,-dm,-eb,-eq,eo,dz,dk,cv,cp,de,dt,ei,-ew,-eh,-ds,-dd,-co,-cw,-dl,- {ad,ae,af,ag,-ag,-af,-ae,-ad,-ad,-ae,-af,-ag,ag,af,ae,ad,ad,ae,af,ag,-ag,-af,-ae,-ad,-ad,-ae,-af,-ag,ag,af,ae,ad ,ad,ae,af,ag,-ag,-af,-ae,-ad,-ad,-ae,-af,-ag,ag,af,ae,ad,ad,ae,af,ag,-ag,-af,-ae,-ad,-ad,-ae,-af,-ag,ag,af,ae,ad} {ct,dk,eb,es,-ek,-dt,-dc,-cl,-db,-ds,-ej,et,ec,dl,cu,cs,dj,ea,er,-el,-du,-dd,-cm,-da,-dr,-ei,eu,ed,dm,cv,cr,di ,dz,eq,-em,-dv,-de,-cn,-cz,-dq,-eh,ev,ee,dn,cw,cq,dh,dy,ep,-en,-dw,-df,-co,-cy,-dp,-eg,ew,ef,d_,cx,cp,dg},dx,eo {bj,bs,cb,ck,-cc,-bt,-bk,-bi,-br,-ca,-cj,cd,bu,bl,bh,bq,bz,ci,-ce,-bv,-bm,-bg,-bp,-by,-ch,cf,bw,bn,bf,bg,bo,-bx cg,-bx,-bo,-bf,-bn,-bw,-cf,ch,by,bp,bg,bm,bv,ce,-ci,-bz,-bq,-bh,-bl,-bu,-cd,cj,ca,br,bi,bk,bt,cc,-ck,-bj,-bs {cu,dn,eg,-eu,-eb,-di,-cp,-cz,-ds,-el,ep,dw,dd,cl,de,dx,eq,-ek,-dr,-cy,-cq,-dj,-ec,-ev,ef,dm,ct,cv,d_,eh,-et,-ea dh,-co,-da,-dt,-em,eo,dv,dc,cm,df,dy,er,-ej,-dq,-cx,-cr,-dk,-ed,-ew,ee,dl,cs,cw,dp,ei,-es,-dz,-dg,-cn,-db,-du,du {ar,aw,bb,-bd,-ay,-at,-ap,-au,-az,-be,ba,av,aq,as,ax,bc,-bc,-ax,-as,-aq,-av,-ba,be,az,au,ap,at,ay,bd,-bb,-aw,-ar ,-ar,-aw,-bb,b,bd,ay,at,ap,au,az,be,-ba,-av,-aq,-as,-ax,-bc,bc,ax,as,aq,av,ba,-be,-az,-au,-ap,-at,-ay,-bd,bb,aw,ar} {cv,dq,el,-en,-ds,-cx,-ct,-d_,-ej,ep,du,cz,cr,dm,eh,-er,-dw,-db,-cp,-dk,-ef,et,dy,dd,cn,di,ed,-ev,-ea,-df,-cl,-d g,-eb,-ew,ec,dh,cm,de,dz,eu,-ee,-dj,-co,-dc,-dx,-es,eg,dl,cq,da,dv,eq,-ei,-dn,-cs,-cy,-dt,-eo,ek,dp,cu,cw,dr,em} {bk,bv,cg,-ce,-bt,-bi,-bm,-bx,-ci,cc,br,bg,bo,bz,ck,-ca,-bp,-bf,-bq,-cb,cj,by,bn,bh,bs,cd,-ch,-bw,-bl,-bj, f,cf,bu,bj,bl,bw,ch,-cd,-bs,-bh,-bn,-by,-cj,cb,bq,bf,bp,ca,-ck,-bz,-bo,-bg,-br,-cc,ci,bx,bm,bi,bt,ce,-cg,-bv {cw,dt,eq,-eg,-dj,-cm,-dg,-ed,et,dw,cz,ct,dq,en,-ej,-dm,-cp,-dd,-ea,ew,dz,dc,cq,dn,ek,-em,-dp,-cs,-da,-ecx,,-eu df,cn,dk,eh,-ep,-ds,-cv,-cx,-du,-er,ef,di,cl,dh,ee,-es,-dv,-cy,-cu,-dr,-eo,ei,dl,co,de,eb,-ev,-dy,-db,-cr,-d_,-el} {ai,al,ao,-am,-aj,-ah,-ak,-an,an,ak,ah,aj,am,-ao,-al,-ai,-ai,-al,-ao,am,-ah,ak,an,-an,-ak,-ah,-aj,-am,ao,al,ai ,ai,al,ao,-am,-aj,-ah,-ak,-an,an,ak,ah,aj,am,-ao,-al,-ai,-ai,-al,-al,-al,-al,-al,-al,-al,-al,-al,-al,-al,-al,-al,-al,-al,-al,-al,-al,-al,-al,-al,-al,-al,-al,-al,-al,-al,-al,-al,-al,-al,-al,-al,-al,-al,-al,-al,-al,-al,-al {cx,dw,ev,-dz,-da,-cu,-dt,-es,ec,dd,cr,dq,ep,-ef,-dg,-co,-dn,-em,ei,dj,cl,dk,ej,-el,-dm,-cn,-dh,-eg,eo,dp,cq,de ,ed,-er,-ds,-ct,-db,-ea,eu,dv,cw,cy,dx,ew,-dy,-cz,-cv,-du,-et,eb,dc,cs,dr,eq,-ee,-df,-cp,-d_,-en,eh,di,cm,dl,ek} {bl,by,-ck,-bx,-bk,-bm,-bz,cj,bw,bj,bn,ca,-ci,-bv,-bi,-bo,-cb,ch,bu,bh,bp,cc,-cg,-bt,-bg,-bq,-cd,cf,bs,bf,br,ce, -ce,-br,-bf,-bs,-cf,cd,bq,bg,bt,cg,-cc,-bp,-bh,-bu,-ch,cb,bo,bi,bv,ci,-ca,-bn,-bj,-bw,-cj,bz,bm,bk,bx,ck,-by,-bl} {cy,dz,-et,-ds,-cr,-df,-eg,em,dl,cl,dm,en,-ef,-de,-cs,-dt,-eu,dy,cx,cz,ea,-es,-dr,-cq,-dg,-eh,el,dk,cm,dn,eo,-ee,- dd,-ct,-du,-ev,dx,cw,da,eb,-er,-dq,-cp,-dh,-ei,ek,dj,cn,d_,ep,-ed,-dc,-cu,-dv,-ew,dw,cv,db,ec,-eq,-dp,-co,-di,-ej} {as,az,-bd,-aw,-ap,-av,-bc,ba,at,ar,ay,-be,-ax,-aq,-au,-bb,bb,au,aq,ax,be,-ay,-ar,-at,-ba,bc,av,ap,aw,bd,-az,-as ,-as,-az,bd,aw,ap,av,bc,-ba,-at,-ar,-ay,be,ax,aq,au,bb,-bb,-au,-aq,-ax,-be,ay,ar,at,ba,-bc,-av,-ap,-aw,-bd,az,as} {cz,ec,-eo,-dl,-cn,-dq,-et,dx,cu,de,eh,-ej,-dg,-cs,-dv,ev,ds,cp,dj,em,-ee,-db,-cx,-ea,eq,dn,cl,d_,er,-dz,-cw, ,-ef,el,di,cq,dt,ew,-du,-cr,-dh,-ek,eg,dd,cv,dy,-es,-dp,-cm,-dm,-ep,eb,cy,da,ed,-en,-dk,-co,-dr,-eu,dw,ct,df,ei} {bm,cb,-cf,-bq,-bi,-bx,cj,bu,bf,bt,ci,-by,-bj,-bp,-ce,cc,bn,bl,ca,-cg,-br,-bh,-bw,ck,bv,bg,bs,ch,-bz,-bk,-bk, ,cd,bo,bk,bz,-ch,-bs,-bg,-bv,-ck,bw,bh,br,cg,-ca,-bl,-bn,-cc,ce,bp,bj,by,-ci,-bt,-bf,-bu,-cj,bx,bi,bq,-cf,-c {da,f,-ej,-de,-cw,-eb,en,di,cs,dx,-er,-dm,-co,-dt,ev,dq,cl,dp,eu,-du,-cp,-dl,-eq,dy,ct,dh,em,-ec,-cx,-dd,-ei,eg ,db,cz,ee,-ek,-df,-cv,-ea,eo,dj,cr,dw,-es,-dn,-cn,-ds,ew,dr,cm,d_,et,-dv,-cq,-dk,-ep,dz,cu,dg,el,-ed,-cy,}-dc {ab,ac,-ac,-ab,-ab,-ac,ac,ab,ab,ac,-ab,-ab,-ac,ac,ab,ab,ac,-ac,-ab,-ab,-ac,ab,ab,ac,-ac,-ab,-ab,-ac,ac,ab ,ab,ac,-ac,-ab,-ab,-ac,ac,ab,ab,ac,-ab,-ab,-ac,ac,ab,ab,ac,-ac,-ab,-ab,-ac,ac,ab,ab,ac,-ac,-ab,-ab,-ac,ac,ab} {db,ei,-ee,-cx,-df,-em,ea,ct,dj,eq,-dw,-cp,-dn,-eu,ds,cl,dr,-ev,-d_,-co,-dv,er,dk,cs,dz,-en,-dg,-cw,-ed,ej,dc ,eh,-ef,-cy,-de,-el,eb,cu,di,ep,-dx,-cq,-dm,-et,dt,cm,dq,-ew,-dp,-cn,-du,es,dl,cr,dy,-eo,-dh,-cv,-ec,ek,dd,cz,eg} {bn,ce,-ca,-bj,-br,-ci,bw,bf,bv,-cj,-bs,-bi,-bz,cf,bo,bm,cd,-cb,-bk,-bq,-ch,bx,bg,bu,-ck,-bt,-bh,-by,bcg,ccbp ,-cc,-bl,-bp,-cg,by,bh,bt,ck,-bu,-bg,-bx,ch,bq,bk,cb,-cd,-bm,-bo,-cf,bz,bi,bs,cj,-bv,-bf,-bw,ci,br,bj,bn,}- {dc,el,-dz,-cq,-d_,ew,dn,cr,ea,-ek,-db,-dd,-em,dy,cp,dp,-ev,-dm,-cs,-eb,ej,da,de,en,-dx,-co,-dq,eu,dl,ct,ec,-ei,- cz,-df,-eo,dw,cn,dr,-et,-dk,-cu,-ed,eh,cy,dg,ep,-dv,-cm,-ds,es,dj,cv,ee,-eg,-cx,-dh,-eq,du,cl,dt,-er,-di,-cw,-ef {at,bc,-ay,-ap,-ax,bd,au,as,bb,-az,-aq,-aw,be,av,ar,ba,-ba,-ar,-av,-be,aw,aq,az,-bb,-as,-au,-bd,ax,ap,ay,-bc,-at ,-at,-au,-as,-bb,az,aq,aw,-be,-av,-ar,-ba,ba,ar,av,be,-aw,-aq,-az,bb,as,au,bd,-ax,-ap,-ay,bc,at} {dd,eo,-du,-cm,-dx,el,da,dg,er,-dr,-cp,-ea,ei,cx,dj,eu,-d_,-cs,-ed,ef,cu,dm,-ew,-dl,-cv,-eg,ec,cr,dp,-et,,-cy,- -ej,dz,co,ds,-eq,-df,-db,-em,dw,cl,dv,-en,-dc,-de,-ep,dt,cn,dy,-ek,-cz,-dh,-es,dq,cq,eb,-eh,-cw,-dk,-ev,dn,ct,ee} {bo,ch,-bv,-bh,-ca,cc,bj,bt,-cj,-bq,-bm,-cf,bx,bf,by,-ce,-bl,-br,-ck,bs,bk,cd,-bz,-bg,-bw,cg,bn,bp,bi,-c,-bu, b,cb,bi,bu,-ci,-bp,-bn,-cg,bw,bg,bz,-cd,-bk,-bs,ck,br,bl,ce,-by,-bf,-bx,cf,bm,bq,cj,-bt,-bj,-cc,ca,bh,-bov}- {de,er,-dp,-ct,-eg,ea,cn,dv,-el,-cy,-dk,ew,dj,cz,em,-du,-co,-eb,ef,cs,dq,-eq,-dd,-df,-es,d_,cu,eh,-dz,-cm,-dw,ek ,cx,dl,-ev,-di,-da,-en,dt,cp,ec,-ee,-cr,-dr,ep,dc,dg,et,-dn,-cv,-ei,dy,cl,dx,-ej,-cw,-dm,eu,dh,db,eo,-ds,-cq {aj,ao,-ak,-ai,-an,al,ah,am,-am,-ah,-al,an,ai,ak,-ak,-ao,-aj,-aj,-ao,-an,-al,-ah,-am,am,ah,al,-an,-ai,-ak,ao,-aj ,aj,ao,-ak,-am,-am,-ah,-al,an,ai,-ak,-ao,-aj,-aj,-ao,--------------------------------------- {df,eu,-dk,-da,-ep,dp,cv,ek,-du,-cq,-ef,dz,cl,ea,-ee,-cp,-dv,ej,cu,dq,-eo,-cz,-dl,et,de,dg,ev,-dj,-db,-eq,d_,cw ,el,-dt,-cr,-eg,dy,cm,eb,-ed,-co,-dw,ei,ct,dr,-en,-cy,-dm,es,dd,dh,ew,-di,-dc,-er,dn,cx,em,-ds,-cs,-eh,dx,cn,ec} {bp,ck,-bq,-bo,-cj,br,bn,ci,-bs,-bm,-ch,bt,bl,cg,-bu,-bk,-cf,bv,bj,ce,-bw,-bi,-cd,bx,bh,cc,-by,-bg,-cb,bz,bf,ca, -ca,-bf,-bz,cb,bg,by,-cc,-bh,-bx,cd,bi,bw,-ce,-bj,-bv,cf,bk,bu,-cg,-bl,-bt,ch,bm,bs,-ci,-bn,-br,cj,bo,bq,-ck,-bp} {dg,-ew,-df,-dh,ev,de,di,-eu,-dd,-dj,et,dc,dk,-es,-db,-dl,er,da,dm,-eq,-cz,-dn,ep,cy,d_,-eo,-cx,-dp,en,cw,dq,-em, -cv,-dr,el,cu,ds,-ek,-ct,-dt,ej,cs,du,-ei,-cr,-dv,eh,cq,dw,-eg,-cp,-dx,ef,co,dy,-ee,-cn,-dz,ed,cm,ea,-ec,-cl,-eb} {au,-be,-at,-av,bd,as,aw,-bc,-ar,-ax,bb,aq,ay,-ba,-ap,-az,az,ap,ba,-ay,-aq,-bb,ax,ar,bc,-aw,-as,-bd,av,at,be,-au ,-au,be,at,av,-bd,-as,-aw,bc,ar,ax,-bb,-aq,-ay,ba,ap,az,-az,-ap,-ba,ay,aq,bb,-ax,-ar,-bc,aw,as,bd,-av,-at,-be,au} {dh,-et,-da,-d_,em,ct,dv,-ef,-cm,-ec,dy,cq,ej,-dr,-cx,-eq,dk,de,-ew,-dd,-dl,ep,cw,ds,-ei,-cp,-dz,eb,cn,eg,-du,-c u,-en,dn,db,eu,-dg,-di,es,cz,dp,-el,-cs,-dw,ee,cl,ed,-dx,-cr,-ek,dq,cy,er,-dj,-df,ev,DC,dm,-eo,-cv,-dt},eh,co {bq,-ci,-bl,-bv,cd,bg,ca,-by,-bi,-cf,bt,bn,ck,-bo,-bs,cg,bj,bx,-cb,-bf,-cc,bw,bk,ch,-br,-bp,cj,bm,bu,-ce,- ,bz,bh,ce,-bu,-bm,-cj,bp,br,-ch,-bk,-bw,cc,bf,cb,-bx,-bj,-cg,bs,bo,-ck,-bn,-bt,cf,bi,by,-ca,-bg,-cd,bv,-bql} {di,-eq,-cv,-dv,ed,cn,ei,-dq,-da,-ev,dd,dn,-el,-cq,-ea,dy,cs,en,-dl,-df,et,cy,ds,-eg,-cl,-ef,dt,cx,es,-dg,-dk,eo ct,dx,-eb,-cp,-ek,d_,dc,-ew,-db,-dp,ej,co,ec,-dw,-cu,-ep,dj,dh,-er,-cw,-du,ee,cm,eh,-dr,-cz,-eu,de,dm,-em,}-cr,-dz {ae,-ag,-ad,-af,af,ad,ag,-ae,-ae,ag,ad,af,-af,-ad,-ag,ae,ae,-ag,-ad,-af,af,ad,ag,-ae,-ae,ag,ad,af,-af,-ad,-ag,ae ,ae,-ag,-ad,-af,af,ad,ag,-ae,-ae,ag,ad,af,-af,-ad,-ag,ae,ae,-ag,-ad,-af,af,ad,ag,-ae,-ae,ag,ad,af,-af,-ad,-ag,ae} {dj,-en,-cq,-ec,du,cy,ev,-db,-dr,ef,cn,ek,-dm,-dg,eq,ct,dz,-dx,-cv,-es,de,d_,-ei,-cl,-eh,dp,dd,-et,-cw,-dw,ea,c s,ep,-dh,-dl,el,co,ee,-ds,-da,ew,cz,dt,-ed,-cp,-em,dk,di,-eo,-cr,-eb,dv,cx,eu,-dc,-dq,eg,cm,ej,-dn,-df,er,cu,dy} {br,-cf,-bg,-cc,bu,bo,-ci,-bj,-bz,bx,bl,ck,-bm,-bw,ca,bi,ch,-bp,-bt,cd,bf,ce,-bs,-bq,cg,bh,cb,-bv,-bkn,bycj-b by,-bk,-cj,bn,bv,-cb,-bh,-cg,bq,bs,-ce,-bf,-cd,bt,bp,-ch,-bi,-ca,bj,bm,-ck,-bl,-bx,bz,bj,ci,-bo,-bu,cc,bg,bg,cf {dk,-ek,-cl,-ej,dl,dj,-el,-cm,-ei,dm,di,-em,-cn,-eh,dn,dh,-en,-co,-eg,d_,dg,-eo,-cp,-ef,dp,df,-ep,-cq,-de,e-q,dq -cr,-ed,dr,dd,-er,-cs,-ec,ds,dc,-es,-ct,-eb,dt,db,-et,-cu,-ea,du,da,-eu,-cv,-dz,dv,cz,-ev,-cw,-dy,dw,cy,-ew,-}cx,- {av,-bb,-ap,-bc,au,aw,-ba,-aq,-bd,at,ax,-az,-ar,-be,as,ay,-ay,-as,be,ar,az,-ax,-at,bd,aq,ba,-aw,-au,bc,ap,bb,-av ,-av,bb,ap,bc,-au,-aw,ba,aq,bd,-at,-ax,az,ar,be,-as,-ay,ay,as,-be,-ar,-az,ax,at,-bd,-aq,-ba,aw,au,-bc,-ap,-bb,av} {dl,-eh,-cp,-eq,dc,du,-dy,-cy,eu,ct,ed,-dp,-dh,el,cl,em,-dg,-dq,ec,cu,ev,-cx,-dz,dt,dd,-ep,-co,-ei,dk,dm,-eg,-cq ,-er,db,dv,-dx,-cz,et,cs,ee,-d_,-di,ek,cm,en,-df,-dr,eb,cv,ew,-cw,-ea,ds,de,-eo,-cn,-ej,dj,dn,-ef,-cr,-es,da,dw} {bs,-cc,-bi,-cj,bl,bz,-bv,-bp,cf,bf,cg,-bo,-bw,by,bm,-ci,-bh,-cd,br,bt,-cb,-bj,-ck,bk,ca,-bu,-bq,ce,bng,-ch-, x,bx,bn,-ch,-bg,-ce,bq,bu,-ca,-bk,ck,bj,cb,-bt,-br,cd,bh,ci,-bm,-by,bw,bo,-cg,-bf,-cf,bp,bv,-bz,-bl,cc,-cj,bi,bi, {dm,-ee,-cu,ew,ct,ef,-dl,-dn,ed,cv,-ev,-cs,-eg,dk,d_,-ec,-cw,eu,cr,eh,-dj,-dp,eb,cx,-et,-cq,-ei,di,dq,-ea,-cy,es ,cp,ej,-dh,-dr,dz,cz,-er,-co,-ek,dg,ds,-dy,-da,eq,cn,el,-df,-dt,dx,db,-ep,-cm,-em,de,du,-dw,-dc,eo,cl,en,-dd,-dv} {ak,-am,-ai,ao,ah,an,-aj,-al,al,aj,-an,-ah,-ao,ai,am,-ak,-ak,am,ai,-ao,-ah,-an,aj,al,-al,-aj,an,ah,ao,-ai,-am,ak ,ak,-am,-ai,ao,ah,an,-aj,-al,al,aj,-an,-ah,-ao,ai,am,-ak,-ak,am,ai,-ao,-ah,-an,-al,-al,-aj,an,ah,ao,-ai,-am,ak} {dn,-eb,-cz,ep,cl,eq,-cy,-ec,dm,d_,-ea,-da,eo,cm,er,-cx,-ed,dl,dp,-dz,-db,en,cn,es,-cw,-ee,dk,dq,-dy,-dc,em,co ,et,-cv,-ef,dj,dr,-dx,-dd,el,cp,eu,-cu,-eg,di,ds,-dw,-de,ek,cq,ev,-ct,-eh,dh,dt,-dv,-df,ej,cr,ew,-cs,-ei,dg,du} {bt,-bz,-bn,cf,bh,ck,-bi,-ce,bo,by,-bu,-bs,ca,bm,-cg,-bg,-cj,bj,cd,-bp,-bx,bv,br,-cb,-bl,ch,bf,ci,-bk,-cc,bq,bw, -bw,-bq,cc,bk,-ci,-bf,-ch,bl,cb,-br,-bv,bx,bp,-cd,-bj,cj,bg,cg,-bm,-ca,bs,bu,-by,-bo,ce,bi,-ck,-bh,-cf,bn,bz,-bt} {d_,-dy,-de,ei,cu,-es,-cl,-er,cv,eh,-df,-dx,dp,dn,-dz,-dd,ej,ct,-et,-cm,-eq,cw,eg,-dg,-dw,dq,dm,-ea,-dc,ek,cs,-eu, -cn,-ep,cx,ef,-dh,-dv,dr,dl,-eb,-db,el,cr,-ev,-co,-eo,cy,ee,-di,-du,ds,dk,-ec,-da,em,cq,-ew,-cp,-en,cz,ed,-dj,-dt} {aw,-ay,-au,ba,as,-bc,-aq,be,ap,bd,-ar,-bb,at,az,-av,-ax,ax,av,-az,-at,bb,ar,-bd,-ap,-be,aq,bc,-as,-ba,au,ay,-aw ,-aw,ay,au,-ba,-as,bc,aq,-be,-ap,-bd,ar,bb,-at,-az,av,ax,-ax,-av,az,at,-bb,-ar,bd,ap,be,-aq,-bc,as,ba,-au,-ay,aw} {dp,-dv,-dj,eb,dd,-eh,-cx,en,cr,-et,-cl,-eu,cq,eo,-cw,-ei,dc,ec,-di,-dw,d_,dq,-du,-dk,ea,de,-eg,-cy,em,csm,-es,-es, ,-ev,cp,ep,-cv,-ej,db,ed,-dh,-dx,dn,dr,-dt,-dl,dz,df,-ef,-cz,el,ct,-er,-cn,-ew,co,eq,-cu,-ek,da,ee,-dg,-dy,dm,ds} {bu,-bw,-bs,by,bq,-ca,-bo,cc,bm,-ce,-bk,cg,bi,-ci,-bg,ck,bf,cj,-bh,-ch,bj,cf,-bl,-cd,bn,cb,-bp,-bz,br,bx,-b ,bv,bt,-bx,-br,bz,bp,-cb,-bn,cd,bl,-cf,-bj,ch,bh,-cj,-bf,-ck,bg,ci,-bi,-cg,bk,ce,-bm,-cc,bo,ca,-bq,-bw,-bu},bs {dq,-ds,-d_,du,dm,-dw,-dk,dy,di,-ea,-dg,ec,de,-ee,-dc,eg,da,-ei,-cy,ek,cw,-em,-cu,eo,cs,-eq,-cq,es,co,-eu,-cm,ew ,cl,ev,-cn,-et,cp,er,-cr,-ep,ct,en,-cv,-el,cx,ej,-cz,-eh,db,ef,-dd,-ed,df,eb,-dh,-dz,dj,dx,-dl,-dv,dn,dt,-}dp,- {Ah,-aa,-aa,aa,aa,aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa being being ,aa,-aa,-aa,aa,aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa being being {dr,-dp,-dt,dn,dv,-dl,-dx,dj,dz,-dh,-eb,df,ed,-dd,-ef,db,eh,-cz,-ej,cx,el,-cv,-en,ct,ep,-cr,-er,cp,et,-cl,-ev ,-ew,-cm,eu,co,-es,-cq,eq,cs,-eo,-cu,em,cw,-ek,-cy,ei,da,-eg,-dc,ee,de,-ec,-dg,ea,di,-dy,-dk,dw,dm,-du,-d_,ds,dq} {bv,-bt,-bx,br,bz,-bp,-cb,bn,cd,-bl,-cf,bj,ch,-bh,-cj,bf,-ck,-bg,ci,bi,-cg,-bk,ce,bm,-cc,-bo,ca,bq,bq,-wby,-bs ,-bu,-bw,bs,by,-bq,-ca,bo,cc,-bm,-ce,bk,cg,-bi,-ci,bg,ck,-bf,cj,bh,-ch,-bj,cf,bl,-cd,-bn,cb,bp,-bz,-br,,bx,}b {ds,-dm,-dy,dg,ee,-da,-ek,cu,eq,-co,-ew,cn,-er,-ct,el,cz,-ef,-df,dz,dl,-dt,-dr,dn,dx,-dh,-ed,db,ej,-cv,-ep,cp,ev, -cm,es,cs,-em,-cy,eg,de,-ea,-dk,du,dq,-d_,-dw,di,ec,-dc,-ei,cw,eo,-cq,-eu,cl,-et,-cr,en,cx,-eh,-dd,eb,dj,-}dv,-dk {ax,-av,-az,at,bb,-ar,-bd,ap,-be,-aq,bc,as,-ba,-au,ay,aw,-aw,-ay,au,ba,-as,-bc,aq,be,-ap,bd,ar,-bb,-at,az,av,-ax ,-ax,av,az,-at,-bb,ar,bd,-ap,be,aq,-bc,-as,ba,au,-ay,-aw,aw,ay,-au,-ba,as,bc,-aq,-be,ap,-bd,-ar,bb,at,-az,-av,ax} {dt,-dj,-ed,cz,en,-cp,ew,cq,-em,-da,ec,dk,-ds,-du,di,ee,-cy,-eo,co,-ev,-cr,el,db,-eb,-dl,dr,dv,-dh,-ef,cx,ep,-cn ,eu,cs,-ek,-dc,ea,dm,-dq,-dw,dg,eg,-cw,-eq,cm,-et,-ct,ej,dd,-dz,-dn,dp,dx,-df,-eh,cv,er,-cl,es,cu,-ei,-de,dy,d_} {bw,-bq,-cc,bk,ci,-bf,ch,bl,-cb,-br,bv,bx,-bp,-cd,bj,cj,-bg,cg,bm,-ca,-bs,bu,by,-bo,-ce,bi,ck,-bh,cf,bn-bt,-bz bt,bz,-bn,-cf,bh,-ck,-bi,ce,bo,-by,-bu,bs,ca,-bm,-cg,bg,-cj,-bj,cd,bp,-bx,-bv,br,cb,-bl,-ch,bf,-ci,-bk,bc,cc}bq {du,-dg,-ei,cs,ew,-cr,ej,df,-dv,-dt,dh,eh,-ct,-ev,cq,-ek,-de,dw,ds,-di,-eg,cu,eu,-cp,el,dd,-dx,-dr,dj,ef,-cv,-et ,co,-em,-dc,dy,dq,-dk,-ee,cw,es,-cn,en,db,-dz,-dp,dl,ed,-cx,-er,cm,-eo,-da,ea,d_,-dm,-ec,cy,eq,-cl,ep,cz,-eb,-dn {al,-aj,-an,ah,-ao,-ai,am,ak,-ak,-am,ai,ao,-ah,an,aj,-al,-al,aj,an,-ah,ao,ai,-am,-ak,ak,am,-ai,-ao,ah,-an,-aj,al ,al,-aj,-an,ah,-ao,-ai,am,ak,-ak,-am,ai,ao,-ah,an,aj,-al,-al,aj,an,-ah,ao,ai,-am,-ak,ak,am,-ai,-ao,ah,-an,-an,-aj,al} {dv,-dd,-en,cl,-eo,-dc,dw,du,-de,-em,cm,-ep,-db,dx,dt,-df,-el,cn,-eq,-da,dy,ds,-dg,-ek,co,-er,-cz,dz,dr,-dh,-ej,cp ,-es,-cy,ea,dq,-di,-ei,cq,-et,-cx,eb,dp,-dj,-eh,cr,-eu,-cw,ec,d_,-dk,-eg,cs,-ev,-cv,ed,dn,-dl,-ef,ct,-ew,-cu,ee,dm} {bx,-bn,-ch,bg,-ce,-bq,bu,ca,-bk,-ck,bj,-cb,-bt,br,cd,-bh,ci,bm,-by,-bw,bo,cg,-bf,cf,bp,-bv,-bz,bl,cj,-bi,cc,bs, -bs,-cc,bi,-cj,-bl,bz,bv,-bp,-cf,bf,-cg,-bo,bw,by,-bm,-ci,bh,-cd,-br,bt,cb,-bj,ck,bk,-ca,-bu,bq,ce,-bg,ch,bn,-bx} {dw,-da,-es,cr,-ef,-dn,dj,ej,-cn,eo,de,-ds,-ea,cw,ew,-cv,eb,dr,-df,-en,cm,-ek,-di,d_,ee,-cs,et,cz,-dx,-dv,db,er,- cq,eg,dm,-dk,-ei,co,-ep,-dd,dt,dz,-cx,-ev,cu,-ec,-dq,dg,em,-cl,el,dh,-dp,-ed,ct,-eu,-cy,dy,du,-dc,-eq,cp,-eh,-dl} {ay,-as,-be,ar,-az,-ax,at,bd,-aq,ba,aw,-au,-bc,ap,-bb,-av,av,bb,-ap,bc,au,-aw,-ba,aq,-bd,-at,ax,az,-ar,be,as,-ay ,-ay,as,be,-ar,az,ax,-at,-bd,aq,-ba,-aw,au,bc,-ap,bb,av,-av,-bb,ap,-bc,-au,aw,ba,-aq,bd,at,-ax,-az,ar,-be,-as,ay} {dx,-cx,ew,cy,-dw,-dy,cw,-ev,-cz,dv,dz,-cv,eu,da,-du,-ea,cu,-et,-db,dt,eb,-ct,es,dc,-ds,-ec,cs,-er,-dd,dr,ed,-cr ,eq,de,-dq,-ee,cq,-ep,-df,dp,ef,-cp,eo,dg,-d_,-eg,co,-en,-dh,dn,eh,-cn,em,di,-dm,-ei,cm,-el,-dj,dl,ej,-cl},ek,dk {by,-bk,cj,bn,-bv,-cb,bh,-cg,-bq,bs,ce,-bf,cd,bt,-bp,-ch,bi,-ca,-bw,bm,ck,-bl,bx,bz,-bj,ci,bo,-bu,-ccf,bg,- ,br,cf,-bg,cc,bu,-bo,-ci,bj,-bz,-bx,bl,-ck,-bm,bw,ca,-bi,ch,bp,-bt,-cd,bf,-ce,-bs,bq,cg,-bh,cb,bv,-bn,-by}cj, {dy,-cu,er,df,-dn,-ej,cm,-eg,-dq,dc,eu,-cx,dv,eb,-cr,eo,di,-dk,-em,cp,-ed,-dt,cz,-ew,-da,ds,ee,-co,el,dl,,-dh,-ep cs,-ea,-dw,cw,-et,-dd,dp,eh,-cl,ei,d_,-de,-es,cv,-dx,-dz,ct,-eq,-dg,dm,ek,-cn,ef,dr,-db,-ev,cy,-du,-ec,cq,}-en,-dj {af,-ad,ag,ae,-ae,-ag,ad,-af,-af,ad,-ag,-ae,ae,ag,-ad,af,af,-ad,ag,ae,-ae,-ag,ad,-af,-af,ad,-ag,-ae,ae,ag,-ad,af ,af,-ad,ag,ae,-ae,-ag,ad,-af,-af,ad,-ag,-ae,ae,ag,-ad,af,af,-ad,ag,ae,-ae,-ag,ad,-af,-af,ad,-ag,-ae,ae,ag,-ad,af} {dz,-cr,em,dm,-de,-eu,cz,-dr,-eh,cm,-ee,-du,cw,-er,-dh,dj,ep,-cu,dw,ec,-co,ej,dp,-db,ew,dc,-d_,-ek,cp,-eb,-dx,c t,-eo,-dk,dg,es,-cx,dt,ef,-cl,eg,ds,-cy,et,df,-dl,-en,cs,-dy,-ea,cq,-el,-dn,dd,ev,-da,dq,ei,-cn,ed,d,dv,-cv,eq,di} {bz,-bh,ce,bu,-bm,cj,bp,-br,-ch,bk,-bw,-cc,bf,-cb,-bx,bj,-cg,-bs,bo,ck,-bn,bt,cf,-bi,by,ca,-bg,cd,bv,b,-b,-ci bq,-ci,bl,-bv,-cd,bg,-ca,-by,bi,-cf,-bt,bn,-ck,-bo,bs,cg,-bj,bx,cb,-bf,cc,bw,-bk,ch,br,-bp,-cj,bm,-bu,-bz,-bh {ea,-co,eh,dt,-cv,eo,dm,-dc,ev,df,-dj,-er,cy,-dq,-ek,cr,-dx,-ed,cl,-ee,-dw,cs,-el,-dp,cz,-es,-di,dg,eu,-end,db,d -cu,du,eg,-cn,eb,dz,-cp,ei,ds,-cw,ep,dl,-dd,ew,de,-dk,-eq,cx,-dr,-ej,cq,-dy,-ec,cm,-ef,-dv,ct,-em,-d_,da,-et,-dh} {az,-ap,ba,ay,-aq,bb,ax,-ar,bc,aw,-as,bd,av,-at,be,au,-au,-be,at,-av,-bd,as,-aw,-bc,ar,-ax,-bb,aq,-ay,-ba,ap,-az ,-az,ap,-ba,-ay,aq,-bb,-ax,ar,-bc,-aw,as,-bd,-av,at,-be,-au,au,be,-at,av,bd,-as,aw,bc,-ar,ax,bb,-aq,ay,ba,-ap,az} {eb,-cl,ec,ea,-cm,ed,dz,-cn,ee,dy,-co,ef,dx,-cp,eg,dw,-cq,eh,dv,-cr,ei,du,-cs,ej,dt,-ct,ek,ds,-cu,el,dr,-cv ,em,dq,-cw,en,dp,-cx,eo,d_,-cy,ep,dn,-cz,eq,dm,-da,er,dl,-db,es,dk,-dc,et,et,dj,-dd,eu,di,-de,ev,dh,-df,ew,dg} {ca,-bf,bz,cb,-bg,by,cc,-bh,bx,cd,-bi,bw,ce,-bj,bv,cf,-bk,bu,cg,-bl,bt,ch,-bm,bs,ci,-bn,br,cj,-bo,bq,bck,-bp ck,-bq,bo,-cj,-br,bn,-ci,-bs,bm,-ch,-bt,bl,-cg,-bu,bk,-cf,-bv,bj,-ce,-bw,bi,-cd,-bx,bh,-cc,-by,bg,-bf,-caz,} {ec,-cn,dx,eh,-cs,ds,em,-cx,dn,er,-dc,di,ew,-dh,dd,-es,-dm,cy,-en,-dr,ct,-ei,-dw,co,-ed,-eb,cm,-dy,-eg,cr,-dt,- el,cw,-d_,-eq,db,-dj,-ev,dg,-de,et,dl,-cz,eo,dq,-cu,ej,dv,-cp,ee,ea,-cl,dz,ef,-cq,du,ek,-cv,dp,ep,-da,dk,eu,-df {am,-ah,al,an,-ai,ak,ao,-aj,aj,-ao,-ak,ai,-an,-al,ah,-am,-am,ah,-al,-an,ai,-ak,-ao,aj,-aj,ao,ak,-ai,an,al,-ah,am ,am,-ah,al,an,-ai,ak,ao,-aj,aj,-ao,-ak,-ai,-an,-al,ah,-am,-am,ah,-al,-an,ai,-ak,-ao,-aj,-aj,-ao,ak,-ai,an,al,-ah,am} {ed,-cq,ds,eo,-db,dh,-eu,-dm,cw,-ej,-dx,cl,-dy,-ei,cv,-dn,-et,dg,-dc,ep,dr,-cr,ee,ec,-cp,dt,en,-da,di,-ev,-dl,cx, -ek,-dw,cm,-dz,-eh,cu,-d_,-es,df,-dd,eq,dq,-cs,ef,eb,-co,du,em,-cz,dj,-ew,-dk,cy,-el,-dv,cn,-ea,-eg,ct,-dp,-er,de} {cb,-bi,bu,ci,-bp,bn,-cg,-bw,bg,-bz,-cd,bk,-bs,-ck,br,-bl,ce,by,-bf,bx,cf,-bm,bq,-cj,-bt,bj,-cc,-ca,bh,-bv,-ch,b o,-bo,ch,bv,-bh,ca,cc,-bj,bt,cj,-bq,bm,-cf,-bx,bf,-by,-ce,bl,-br,ck,bs,-bk,cd,bz,-bg,bw,cg,-bn,bp,-ci,-bu,bi,-cb} {ee,-ct,dn,ev,-dk,cw,-eh,-eb,cq,-dq,-es,dh,-cz,ek,dy,-cn,dt,ep,-de,dc,-en,-dv,cl,-dw,-em,db,-df,eq,ds,-co,dz,ej, -cy,di,-et,-dp,cr,-ec,-eg,cv,-dl,ew,dm,-cu,ef,ed,-cs,d_,eu,-dj,cx,-ei,-ea,cp,-dr,-er,dg,-da,el,dx,-cm,du,eo,-dd} {ba,-ar,av,-be,-aw,aq,-az,-bb,as,-au,bd,ax,-ap,ay,bc,-at,at,-bc,-ay,ap,-ax,-bd,au,-as,bb,az,-aq,aw,be,-av,ar,-ba ,-ba,ar,-av,be,aw,-aq,az,bb,-as,au,-bd,-ax,ap,-ay,-bc,at,-at,bc,ay,-ap,ax,bd,-au,as,-bb,-az,aq,-aw,-be,av,-ar,ba} {ef,-cw,di,-er,-dt,cl,-du,-eq,dh,-cx,eg,ee,-cv,dj,-es,-ds,cm,-dv,-ep,dg,-cy,eh,ed,-cu,dk,-et,-dr,cn,-dw,-eo,df ,ei,ec,-ct,dl,-eu,-dq,co,-dx,-en,de,-da,ej,eb,-cs,dm,-ev,-dp,cp,-dy,-em,dd,-db,ek,ea,-cr,dn,-ew,-d_,cq,-dz,-el,dc} {cc,-bl,bp,-cg,-by,bh,-bt,ck,bu,-bg,bx,ch,-bq,bk,-cb,-cd,bm,-bo,cf,bz,-bi,bs,-cj,-bv,bf,-bw,-ci,br,ce,-bj,ca, ,bn,-ce,-ca,bj,-br,ci,bw,-bf,bv,cj,-bs,bi,-bz,-cf,bo,-bm,cd,cb,-bk,bq,-ch,-bx,bg,-bu,-ck,bt,-bh,by,cl,-ccp {eg,-cz,dd,-ek,-ec,cv,-dh,eo,dy,-cr,dl,-es,-du,cn,-dp,ew,dq,-cm,dt,et,-dm,cq,-dx,-ep,di,-cu,eb,el,-de,cy,-ef,-eh ,da,-dc,ej,ed,-cw,dg,-en,-dz,cs,-dk,er,dv,-co,d_,-ev,-dr,cl,-ds,-eu,dn,-cp,dw,eq,-dj,ct,-ea,-em,df,-cx,bee},ei,-d {ac,-ab,ab,-ac,-ac,ab,-ab,ac,ac,-ab,-ac,-ac,-ab,-ab,ac,ac,-ab,-ac,-ac,ab,-ab,ac,ac,-ab,-ac,-ac,ab,-ab,ac ,ac,-ab,ab,-ac,-ac,-ab,-ab,ac,ac,-ab,-ac,-ac,-ab,-ab,ac,ac,-ab,-ac,-ac,-ab,-ab,ac,ac,-ab,-ac,-ac,ab,-ab,ac} {eh,-dc,cy,-ed,-el,dg,-cu,dz,ep,-dk,cq,-dv,-et,d_,-cm,dr,-ew,-ds,cn,-dn,es,dw,-cr,dj,-eo,-ea,cv,-df,ek,deb,-cz ,-eg,-ei,dd,-cx,ec,em,-dh,ct,-dy,-eq,dl,-cp,du,eu,-dp,cl,-dq,ev,dt,-co,dm,-er,-dx,cs,-di,en,eb,-cw,de,-ej,-ef,da} {cd,-bo,bk,-bz,-ch,bs,-bg,bv,-ck,-bw,bh,-br,cg,ca,-bl,bn,-cc,-ce,bp,-bj,by,ci,-bt,bf,-bu,cj,bx,-bi,bcb,-cf,- ,-bm,cb,cf,-bq,bi,-bx,-cj,bu,-bf,bt,-ci,-by,bj,-bp,ce,cc,-bn,bl,-ca,-cg,br,-bh,bw,ck,-bv,bg,-bs,ch,bz,-cd,bk} {ei,-df,ct,-dw,-eu,dr,-co,dk,-en,-ed,da,-cy,eb,ep,-dm,cm,-dp,es,dy,-cv,dd,-eg,-ek,dh,-cr,du,ew,-dt,cq,-di,el,ef, -dc,cw,-dz,-er,d_,-cl,dn,-eq,-ea,cx,-db,ee,em,-dj,cp,-ds,ev,dv,-cs,dg,-ej,-eh,de,-cu,dx,et,-dq,cn,-dl,ezo},ec,- {bb,-au,aq,-ax,be,ay,-ar,at,-ba,-bc,av,-ap,aw,-bd,-az,as,-as,az,bd,-aw,ap,-av,bc,ba,-at,ar,-ay,-be,ax,-aq,au,-bb ,-bb,au,-aq,ax,-be,-ay,ar,-at,ba,bc,-av,ap,-aw,bd,az,-as,as,-az,-bd,aw,-ap,av,-bc,-ba,at,-ar,ay,be,-ax,aq,-au,bb} {ej,-di,co,-dp,eq,ec,-db,cv,-dw,-ew,dv,-cu,dc,-ed,-ep,d_,-cn,dj,-ek,-ei,dh,-cp,dq,-er,-eb,da,-cw,dx,ev,-du,ct,-dd ,ee,eo,-dn,cm,-dk,el,eh,-dg,cq,-dr,es,ea,-cz,cx,-dy,-eu,dt,-cs,de,-ef,-en,dm,-cl,dl,-em,-eg,df,-cr,ds,-}et,-dz {ce,-br,bf,-bs,cf,cd,-bq,bg,-bt,cg,cc,-bp,bh,-bu,ch,cb,-bo,bi,-bv,ci,ca,-bn,bj,-bw,cj,bz,-bm,bk,-bx,ck,bb,by,- ,-by,-ck,bx,-bk,bm,-bz,-cj,bw,-bj,bn,-ca,-ci,bv,-bi,bo,-cb,-ch,bu,-bh,bp,-cc,-cg,bt,-bg,bq,-cd,-cf,bs,-bf,} {ek,-dl,cm,-di,eh,en,-d_,cp,-df,ee,eq,-dr,cs,-dc,eb,et,-du,cv,-cz,dy,ew,-dx,cy,-cw,dv,-eu,-ea,db,-ct,ds,-er,-ed,d e,-cq,dp,-eo,-eg,dh,-cn,dm,-el,-ej,dk,-cl,dj,-ei,-em,dn,-co,dg,-ef,-ep,dq,-cr,dd,-ec,-es,dt,-cu,da,-dz,-ev,-cx,dw, {an,-ak,ah,-aj,am,ao,-al,ai,-ai,al,-ao,-am,aj,-ah,ak,-an,-an,ak,-ah,-al,-am,-al,-ai,ai,-al,ao,am,-aj,ah,-ak,an ,an,-ak,ah,-aj,am,ao,-al,ai,-ai,al,-ao,-am,aj,-ah,ak,-an,-an,-ak,-ah,-al,-ak,-ah,-al,ao,-am,-al,-ao,-am,-am,-am,-ah,-ah,-an,-ak,-ah,-al,-ah,-ak,-ah} {el,-d_,cr,-db,dy,-ev,-eb,de,-co,dl,-ei,-eo,dr,-cu,cy,-dv,es,ee,-dh,cl,-di,ef,er,-du,cx,-cv,ds,-ep,-eh,dk,-cn,df ,-ec,-eu,dx,-da,cs,-dp,em,ek,-dn,cq,-dc,dz,-ew,-ea,dd,-cp,dm,-ej,-en,dq,-ct,cz,-dw,et,ed,-dg,cm,-dj,eg,eq,-dt,cw} {cf,-bu,bj,-bl,bw,-ch,-cd,bs,-bh,bn,-by,cj,cb,-bq,bf,-bp,ca,ck,-bz,bo,-bg,br,-cc,-ci,bx,-bm,bi,-bt,ce,cg,-bv,bk, -bk,bv,-cg,-ce,bt,-bi,bm,-bx,ci,cc,-br,bg,-bo,bz,-ck,-ca,bp,-bf,bq,-cb,-cj,by,-bn,bh,-bs,cd,ch,-bw,bl,-bj,bu,-cf} {em,-dr,cw,-cu,dp,-ek,-eo,dt,-cy,cs,-dn,ei,eq,-dv,da,-cq,dl,-eg,-es,dx,-dc,co,-dj,ee,eu,-dz,de,-cm,dh,-ec,-ew,eb, -dg,cl,-df,ea,-ev,-ed,di,-cn,dd,-dy,et,ef,-dk,cp,-db,dw,-er,-eh,dm,-cr,cz,-du,ep,ej,-d_,ct,-cx,ds,-en,-el,dq,-cv} {bc,-ax,as,-aq,av,-ba,-be,az,-au,ap,-at,ay,-bd,-bb,aw,-ar,ar,-aw,bb,bd,-ay,at,-ap,au,-az,be,ba,-av,aq,-as,ax,-bc ,-bc,ax,-as,aq,-av,ba,be,-az,au,-ap,at,-ay,bd,bb,-aw,ar,-ar,aw,-bb,-bd,ay,-at,ap,-au,az,-be,-ba,av,-aq,as,-ax,bc} {en,-du,db,-cn,dg,-dz,es,ei,-dp,cw,-cs,dl,-ee,-ew,ed,-dk,cr,-cx,dq,-ej,-er,dy,-df,cm,-dc,dv,-eo,-em,dt,-da,co,co, h,ea,-et,-eh,d_,-cv,ct,-dm,ef,ev,-ec,dj,-cq,cy,-dr,ek,eq,-dx,de,-cl,dd,-dw,ep,el,-ds,cz,-cp,di,-eb,eu,eg,-dn,cu} {cg,-bx,bo,-bf,bn,-bw,cf,ch,-by,bp,-bg,bm,-bv,ce,ci,-bz,bq,-bh,bl,-bu,cd,cj,-ca,br,-bi,bk,-bt,cc,ck,-bjb,bs, j,-bs,cb,-ck,-cc,bt,-bk,bi,-br,ca,-cj,-cd,bu,-bl,bh,-bq,bz,-ci,-ce,bv,-bm,bg,-bp,by,-ch,-cf,bw,-bn,bf,-cg,}b {eo,-dx,dg,-cp,cx,-d_,ef,-ew,-eg,dp,-cy,co,-df,dw,-en,-ep,dy,-dh,cq,-cw,dn,-ee,ev,eh,-dq,cz,-cn,de,-dv,em,eq ,di,-cr,cv,-dm,ed,-eu,-ei,dr,-da,cm,-dd,du,-el,-er,ea,-dj,cs,-cu,dl,-ec,et,ej,-ds,db,-cl,dc,-dt,ek,es,-eb,dk,-ct} {ag,-af,ae,-ad,ad,-ae,af,-ag,-ag,af,-ae,ad,-ad,ae,-af,ag,ag,-af,ae,-ad,-ae,af,-ag,-ag,af,-ae,ad,-ad,ae,-af,ag ,ag,-af,ae,-ad,ad,-ae,af,-ag,-ag,af,-ae,ad,-ad,ae,-af,ag,ag,-af,ae,-ad,-ae,af,-ag,-ag,af,-ae,ad,-ad,ae,-af,ag} {ep,-ea,dl,-cw,co,-dd,ds,-eh,ew,ei,-dt,de,-cp,cv,-dk,dz,-eo,-eq,eb,-dm,cx,-cn,dc,-dr,eg,-ev,-ej,du,-df,cj,-cu,d ,-dy,en,er,-ec,dn,-cy,cm,-db,dq,-ef,eu,ek,-dv,dg,-cr,ct,-di,dx,-em,-es,ed,-d_,cz,-cl,da,-dp,ee,-et,-el,dw,-dh,cs} {ch,-ca,bt,-bm,bf,-bl,bs,-bz,cg,ci,-cb,bu,-bn,bg,-bk,br,-by,cf,cj,-cc,bv,-bo,bh,-bj,bq,-bx,ce,ck,-cd,biw,-bx,ce,ck,-cd,bw,- bi,bp,-bw,cd,-ck,-ce,bx,-bq,bj,-bh,bo,-bv,cc,-cj,-cf,by,-br,bk,-bg,bn,-bu,cb,-ci,-cg,bz,-bs,bl,-bf,cam,-ch}bt, {eq,-ed,dq,-dd,cq,-cs,df,-ds,ef,-es,-eo,eb,-d_,db,-co,cu,-dh,du,-eh,eu,em,-dz,dm,-cz,cm,-cw,dj,-dw,ej,-ew,-ek,dx, -dk,cx,-cl,cy,-dl,dy,-el,-ev,ei,-dv,di,-cv,cn,-da,dn,-ea,en,et,-eg,dt,-dg,ct,-cp,dc,-dp,ec,-ep,-er,ee,-dr},de,-c {bd,-ba,ax,-au,ar,-ap,as,-av,ay,-bb,be,bc,-az,aw,-at,aq,-aq,at,-aw,az,-bc,-be,bb,-ay,av,-as,ap,-ar,au,-ax,ba,-bd ,-bd,ba,-ax,au,-ar,ap,-as,av,-ay,bb,-be,-bc,az,-aw,at,-aq,aq,-at,aw,-az,bc,be,-bb,ay,-av,as,-ap,ar,-au,ax,-ba,bd} {er,-eg,dv,-dk,cz,-co,cs,-dd,d_,-dz,ek,-ev,-en,ec,-dr,dg,-cv,cl,-cw,dh,-ds,ed,-eo,-eu,ej,-dy,dn,-dc,cr,-dlp,da ,dw,-eh,es,eq,-ef,du,-dj,cy,-cn,ct,-de,dp,-ea,el,-ew,-em,eb,-dq,df,-cu,cm,-cx,di,-dt,ee,-ep,-et,ei,-dx,dm,-db,cq} {ci,-cd,by,-bt,bo,-bj,bf,-bk,bp,-bu,bz,-ce,cj,ch,-cc,bx,-bs,bn,-bi,bg,-bl,bq,-bv,ca,-cf,ck,cg,-cb,bw,-br,bm bh,-bm,br,-bw,cb,-cg,-ck,cf,-ca,bv,-bq,bl,-bg,bi,-bn,bs,-bx,cc,-ch,-cj,ce,-bz,bu,-bp,bk,-bf,bj,-bo,bt,-ci},c {es,-ej,ea,-dr,di,-cz,cq,-co,cx,-dg,dp,-dy,eh,-eq,-eu,el,-ec,dt,-dk,db,-cs,cm,-cv,de,-dn,dw,-ef,eo,ew,-en,ee,-dv ,dm,-dd,cu,-cl,ct,-dc,dl,-du,ed,-em,ev,ep,-eg,dx,-d_,df,-cw,cn,-cr,da,-dj,ds,-eb,ek,-et,-er,ei,-dz,dq,-dh,cy,-cp} {ao,-an,am,-al,ak,-aj,ai,-ah,ah,-ai,aj,-ak,al,-am,an,-am,-al,-ak,--------------------------------------------------------in ,ao,-an,am,-al,ak,-aj,ai,-ah,ah,-ai,-al,-ak,al,-am,an,-ao,-ao,-an,-am,-al,-ak,-ao,-ai,-ah,-ah,ai,-ai,-ak,-al,am,-an,ao} {et,-em,ef,-dy,dr,-dk,dd,-cw,cp,-cn,cu,-db,di,-dp,dw,-ed,ek,-er,-ev,eo,-eh,ea,-dt,dm,-df,cy,-cr,cl,-cs,cz,-dg,dn ,-du,eb,-ei,ep,-ew,-eq,ej,-ec,dv,-d_,dh,-da,ct,-cm,cq,-cx,de,-dl,ds,-dz,eg,-en,eu,es,-el,ee,-dx,dq,-dj,dc,-cv,co} {cj,-cg,cd,-ca,bx,-bu,br,-bo,bl,-bi,bf,-bh,bk,-bn,bq,-bt,bw,-bz,cc,-cf,ci,ck,-ch,ce,-cb,by,-bv,bs,-bp,bm,-bj,bg, -bg,bj,-bm,bp,-bs,bv,-by,cb,-ce,ch,-ck,-ci,cf,-cc,bz,-bw,bt,-bq,bn,-bk,bh,-bf,bi,-bl,bo,-br,bu,-bx,ca,-cd,cg,-cj} {eu,-ep,ek,-ef,ea,-dv,dq,-dl,dg,-db,cw,-cr,cm,-co,ct,-cy,dd,-di,dn,-ds,dx,-ec,eh,-em,er,-ew,-es,en,-ei,ed,-dy,dt, -d_,dj,-de,cz,-cu,cp,-cl,cq,-cv,da,-df,dk,-dp,du,-dz,ee,-ej,eo,-et,-ev,eq,-el,eg,-eb,dw,-dr,dm,-dh,dc,-cx,cs,-cn} {be,-bd,bc,-bb,ba,-az,ay,-ax,aw,-av,au,-at,as,-ar,aq,-ap,ap,-aq,ar,-as,at,-au,av,-aw,ax,-ay,az,-ba,bb,-bc,bd,-be ,-be,bd,-bc,bb,-ba,az,-ay,ax,-aw,av,-au,at,-as,ar,-aq,ap,-ap,aq,-ar,as,-at,au,-av,aw,-ax,ay,-az,ba,-bb,bc,-bd,be} {ev,-es,ep,-em,ej,-eg,ed,-ea,dx,-du,dr,-d_,dl,-di,df,-dc,cz,-cw,ct,-cq,cn,-cl,co,-cr,cu,-cx,da,-dd,dg,-dj,dm ,ds,-dv,dy,-eb,ee,-eh,ek,-en,eq,-et,ew,eu,-er,eo,-el,ei,-ef,ec,-dz,dw,-dt,dq,-dn,dk,-dh,de,-db,cy,-cv,cs,-cp,cm} {ck,-cj,ci,-ch,cg,-cf,ce,-cd,cc,-cb,ca,-bz,by,-bx,bw,-bv,bu,-bt,bs,-br,bq,-bp,bo,-bn,bm,-bl,bk,-bj,bi,-bh,b ,bf,-bg,bh,-bi,bj,-bk,bl,-bm,bn,-bo,bp,-bq,br,-bs,bt,-bu,bv,-bw,bx,-by,bz,-ca,cb,-cc,cd,-ce,cf,-cj,ch,-ck,ci, {ew,-ev,eu,-et,es,-er,eq,-ep,eo,-en,em,-el,ek,-ej,ei,-eh,eg,-ef,ee,-ed,ec,-eb,ea,-dz,dy,-dx,dw,-dv,du,-dt,ds,-dr, dq,-dp,d_,-dn,dm,-dl,dk,-dj,di,-dh,dg,-df,de,-dd,dc,-db,da,-cz,cy,-cx,cw,-cv,cu,-ct,cs,-cr,cq,-cp,co,-cl,cm
[0071] In addition to DCT-2 and the 4x4 DST-7 used in HEVC, a method called Adaptive Multiple Transform (AMT, or Extended Multiple Transform (EMT)) is also proposed for redundant coding of both inter-coded and intra-coded blocks. In addition to the current transforms in HEVC, AMT can use multiple transforms selected from the DCT / DST series. Newly introduced transform matrices may include DST-7, DCT-8, DST-1, and DCT-5. Table 1 below shows exemplary basis functions for selected DST / DCTs.
[0072] [Table 1]
[0073] To maintain the orthogonality of the transformation matrix, the transformation matrix can be quantized more precisely with a 10-bit representation than the 8-bit representation used in HEVC. After horizontal and vertical transformations, all coefficients can be right-shifted by an additional 2 bits compared to the right-shift used in current HEVC transformations, in order to maintain the midpoint of the transformed coefficients within a 16-bit range. AMT can be applied to coding units (CUs) whose width and height are both 64 or less, and whether or not AMT is applied can be controlled by a CU level flag. If the CU level flag is equal to 0, DCT-2 can be applied to the CU to encode the residual. For luminance coding blocks within a CU where AMT is enabled, two additional flags can be signaled to identify the horizontal and vertical transformations to be used.
[0074] For intra-residual coding, since the residual statistics for different intra-prediction modes differ, a mode-related transformation candidate selection process can be used. As shown in Table 2, three transformation subsets can be defined, and a transformation subset can be selected based on the intra-prediction mode specified in Table 3. [Table 2]
[0075] Using the subset concept, we can first use the intra-predictive mode of CUs where the CU-level AMT flag is equal to 1, and based on Table 3, we can recognize the transform subset. Then, for both horizontal and vertical transforms, we can select one of the two transform candidates in the recognized transform subset based on Table 2, based on the explicit signal representation using the flag.
[0076] [Table 3]
[0077] However, for intermode predictive residuals, only one conversion set consisting of DST-7 and DCT-8 can be used for all intermode and horizontal and vertical conversions. Of the four additional conversion types—DST-7, DCT-8, DST-1, and DCT-5—the most effectively used conversion type is DST-7 and DCT-8. Since DCT-8 essentially inverts the DST-7 reference horizontally by changing the sign, DCT-8 and DST-7 can share essentially the same conversion reference.
[0078] The DST-7 transformation core is a matrix composed of basis vectors, and can also be represented as follows: 4-point DST-7: JPEG0007893923000008.jpg 401418 points DST-7: JPEG0007893923000009.jpg 5914716 points DST-7: JPEG0007893923000010.jpg 7614432 points DST-7: JPEG0007893923000011.jpg 7413964 points DST-7: {aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb,bc,bd,be,bf, bg,bh,bi,bj,bk,bl,bm,bn,bo,bp,bq,br,bs,bt,bu,bv,bw,bx,by,bz,ca,cb,cc,cd,ce,cf,cg,ch,ci,cj,ck,cl,} {ab,ae,ah,ak,an,aq,at,aw,az,bc,bf,bi,bl,bo,br,bu,bx,ca,cd,cg,cj,cl,ci,cf,cc,bz,bw,bt,bq,bn,bk,bh,be,bb,ay,a v,as,ap,am,aj,ag,ad,aa,-ac,-af,-ai,-al,-ao,-ar,-au,-ax,-ba,-bd,-bg,-bj,-bm,-bp,-bs,-bv,-by,-cb,-ce,-ch,-ck,} {ac,ah,am,ar,aw,bb,bg,bl,bq,bv,ca,cf,ck,ci,cd,by,bt,bo,bj,be,az,au,ap,ak,af,aa,-ae,-aj,-ao,-at,-ay,-bd,-bi,-b n,-bs,-bx,-cc,-ch,-cl,-cg,-cb,-bw,-br,-bm,-bh,-bc,-ax,-as,-an,-ai,-ad,ab,ag,al,aq,av,ba,bf,bk,bp,bu,bz,ce,cj,} {ad,ak,ar,ay,bf,bm,bt,ca,ch,cj,cc,bv,bo,bh,ba,at,am,af,-ab,-ai,-ap,-aw,-bd,-bk,-br,-by,-cf,-cl,-ce,-bx,-bq,-bj, -bc,-av,-ao,-ah,-aa,ag,an,au,bb,bi,bp,bw,cd,ck,cg,bz,bs,bl,be,ax,aq,aj,ac,-ae,-al,-as,-az,-bg,-bn,-bu,-cb,-ci,} {ae,an,aw,bf,bo,bx,cg,ci,bz,bq,bh,ay,ap,ag,-ac,-al,-au,-bd,-bm,-bv,-ce,-ck,-cb,-bs,-bj,-ba,-ar,-ai,aa,aj,as,bb, bk,bt,cc,cl,cd,bu,bl,bc,at,ak,ab,-ah,-aq,-az,-bi,-br,-ca,-cj,-cf,-bw,-bn,-be,-av,-am,-ad,af,ao,ax,bg,bp,by,ch,} {af,aq,bb,bm,bx,ci,ce,bt,bi,ax,am,ab,-aj,-au,-bf,-bq,-cb,-cl,-ca,-bp,-be,-at,-ai,ac,an,ay,bj,bu,cf,ch,bw,bl,ba, ap,ae,-ag,-ar,-bc,-bn,-by,-cj,-cd,-bs,-bh,-aw,-al,-aa,ak,av,bg,br,cc,ck,bz,bo,bd,as,ah,-ad,-ao,-az,-bk,-bv,-cg,} {ag,at,bg,bt,cg,ce,br,be,ar,ae,-ai,-av,-bi,-bv,-ci,-cc,-bp,-bc,-ap,-ac,ak,ax,bk,bx,ck,ca,bn,ba,an,aa,-am,-az,-b m,-bz,-cl,-by,-bl,-ay,-al,ab,ao,bb,bo,cb,cj,bw,bj,aw,aj,-ad,-aq,-bd,-bq,-cd,-ch,-bu,-bh,-au,-ah,af,as,bf,bs,cf,} {ah,aw,bl,ca,ci,bt,be,ap,aa,-ao,-bd,-bs,-ch,-cb,-bm,-ax,-ai,ag,av,bk,bz,cj,bu,bf,aq,ab,-an,-bc,-br,-cg,-cc,-bn, -ay,-aj,af,au,bj,by,ck,bv,bg,ar,ac,-am,-bb,-bq,-cf,-cd,-bo,-az,-ak,ae,at,bi,bx,cl,bw,bh,as,ad,-al,-ba,-bp,-ce,} {ai,az,bq,ch,bz,bi,ar,aa,-aq,-bh,-by,-ci,-br,-ba,-aj,ah,ay,bp,cg,ca,bj,as,ab,-ap,-bg,-bx,-cj,-bs,-bb,-ak,ag,ax, bo,cf,cb,bk,at,ac,-ao,-bf,-bw,-ck,-bt,-bc,-al,af,aw,bn,ce,cc,bl,au,ad,-an,-be,-bv,-cl,-bu,-bd,-am,ae,av,bm,cd,} {aj,bc,bv,cj,bq,ax,ae,-ao,-bh,-ca,-ce,-bl,-as,aa,at,bm,cf,bz,bg,an,-af,-ay,-br,-ck,-bu,-bb,-ai,ak,bd,bw,ci,bp,a w,ad,-ap,-bi,-cb,-cd,-bk,-ar,ab,au,bn,cg,by,bf,am,-ag,-az,-bs,-cl,-bt,-ba,-ah,al,be,bx,ch,bo,av,ac,-aq,-bj,-cc,} {ak,bf,ca,cc,bh,am,-ai,-bd,-by,-ce,-bj,-ao,ag,bb,bw,cg,bl,aq,-ae,-az,-bu,-ci,-bn,-as,ac,ax,bs,ck,bp,au,-aa,-av,- bq,-cl,-br,-aw,-ab,at,bo,cj,bt,ay,ad,-ar,-bm,-ch,-bv,-ba,-af,ap,bk,cf,bx,bc,ah,-an,-bi,-cd,-bz,-be,-aj,al,bg,cb,} {al,bi,cf,bv,ay,ab,-av,-bs,-ci,-bl,-ao,ai,bf,cc,by,bb,ae,-as,-bp,-cl,-bo,-ar,of,bc,bz,cb,be,ah,-ap,-bm,-cj,-br,- au,ac,az,bw,ce,bh,ak,-am,-bj,-cg,-bu,-ax,-aa,aw,bt,ch,bk,an,-aj,-bg,-cd,-bx,-ba,-ad,at,bq,ck,bn,aq,-ag,-bd,-ca,} {am,bl,ck,bo,ap,-aj,-bi,-ch,-br,-as,ag,bf,ce,bu,av,-ad,-bc,-cb,-bx,-ay,aa,az,by,ca,bb,ac,-aw,-bv,-cd,-be,-af,at, bs,cg,bh,ai,-aq,-bp,-cj,-bk,-al,an,bm,cl,bn,ao,-ak,-bj,-ci,-bq,-ar,ah,bg,cf,bt,au,-ae,-bd,-cc,-bw,-ax,ab,ba,bz,} {an,bo,ci,bh,ag,-au,-bv,-cb,-ba,aa,bb,cc,bu,at,-ah,-bi,-cj,-bn,-am,ao,bp,ch,bg,af,-av,-bw,-ca,-az,ab,bc,cd,bt,a s,-ai,-bj,-ck,-bm,-al,ap,bq,cg,bf,ae,-aw,-bx,-bz,-ay,ac,bd,ce,bs,ar,-aj,-bk,-cl,-bl,-ak,aq,br,cf,be,ad,-ax,-by,} {ao,br,cd,ba,-ac,-bf,-ci,-bm,-aj,at,bw,by,av,-ah,-bk,-ck,-bh,-ae,ay,cb,bt,aq,-am,-bp,-cf,-bc,aa,bd,cg,bo,al,-ar, -bu,-ca,-ax,af,bi,cl,bj,ag,-aw,-bz,-bv,-as,ak,bn,ch,be,ab,-bb,-ce,-bq,-an,ap,bs,cc,az,-ad,-bg,-cj,-bl,-ai,au,bx,} {ap,bu,by,at,-al,-bq,-cc,-ax,ah,bm,cg,bb,-ad,-bi,-ck,-bf,-aa,be,cj,bj,ae,-ba,-cf,-bn,-ai,aw,cb,br,am,-as,-bx,-bv, -aq,ao,bt,bz,au,-ak,-bp,-cd,-ay,ag,bl,ch,bc,-ac,-bh,-cl,-bg,-ab,bd,ci,bk,af,-az,-ce,-bo,-aj,av,ca,bs,an,-ar,-bw,} {aq,bx,bt,am,-au,-cb,-bp,-ai,ay,cf,bl,ae,-bc,-cj,-bh,-aa,bg,ck,bd,-ad,-bk,-cg,-az,ah,bo,cc,av,-al,-bs,-by,-ar,ap, bw,bu,an,-at,-ca,-bq,-aj,ax,ce,bm,af,-bb,-ci,-bi,-ab,bf,cl,be,-ac,-bj,-ch,-ba,ag,bn,cd,aw,-ak,-br,-bz,-as,ao,bv,} {ar,ca,bo,of,-bd,-cl,-bc,ag,bp,bz,aq,-as,-cb,-bn,-ae,be,ck,bb,-ah,-bq,-by,-ap,at,cc,bm,ad,-bf,-cj,-ba,ai,br,bx,a o,-au,-cd,-bl,-ac,bg,ci,az,-aj,-bs,-bw,-an,av,ce,bk,ab,-bh,-ch,-ay,ak,bt,bv,am,-aw,-cf,-bj,-aa,bi,cg,ax,-al,-bu,} {as,cd,bj,-ab,-bm,-ca,-ap,av,cg,bg,-ae,-bp,-bx,-am,ay,cj,bd,-ah,-bs,-bu,-aj,bb,cl,ba,-ak,-bv,-br,-ag,be,ci,ax,-an ,-by,-bo,-ad,bh,cf,au,-aq,-cb,-bl,-aa,bk,cc,ar,-at,-ce,-bi,ac,bn,bz,ao,-aw,-ch,-bf,of,bq,bw,al,-az,-ck,-bc,ai,bt,} {at,cg,be,-ai,-bv,-bp,-ac,bk,ca,an,-az,-cl,-ay,ao,cb,bj,-ad,-bq,-bu,-ah,bf,cf,as,-au,-ch,-bd,aj,bw,bo,ab,-bl,-bz, -am,ba,ck,ax,-ap,-cc,-bi,ae,br,bt,ag,-bg,-ce,-ar,av,ci,bc,-ak,-bx,-bn,-aa,bm,by,al,-bb,-cj,-aw,aq,cd,bh,-af,-bs,} {au,cj,az,-ap,-ce,-be,ak,bz,bj,-af,-bu,-bo,aa,bp,bt,ae,-bk,-by,-aj,bf,cd,ao,-ba,-ci,-at,av,ck,ay,-aq,-cf,-bd,al, ca,bi,-ag,-bv,-bn,ab,bq,bs,ad,-bl,-bx,-ai,bg,cc,an,-bb,-ch,-as,aw,cl,ax,-ar,-cg,-bc,am,cb,bh,-ah,-bw,-bm,ac,br,} {av,cl,au,-aw,-ck,-at,ax,cj,as,-ay,-ci,-ar,az,ch,aq,-ba,-cg,-ap,bb,cf,ao,-bc,-ce,-an,bd,cd,am,-be,-cc,-al,bf,cb, ak,-bg,-ca,-aj,bh,bz,ai,-bi,-by,-ah,bj,bx,ag,-bk,-bw,-af,bl,bv,ae,-bm,-bu,-ad,bn,bt,ac,-bo,-bs,-ab,bp,br,aa,-bq,} {aw,ci,ap,-bd,-cb,-ai,bk,bu,ab,-br,-bn,af,by,bg,-am,-cf,-az,at,cl,as,-ba,-ce,-al,bh,bx,ae,-bo,-bq,ac,bv,bj,-aj,- cc,-bc,aq,cj,av,-ax,-ch,-ao,be,ca,ah,-bl,bt,-aa,bs,bm,-ag,-bz,-bf,an,cg,ay,-au,-ck,-ar,bb,cd,ak,-bi,-bw,-ad,bp,} {ax,cf,ak,-bk,-bs,ac,bx,bf,-ap,-ck,-as,bc,ca,af,-bp,-bn,ah,cc,ba,-au,-ci,-an,bh,bv,aa,-bu,-bi,am,ch,av,-az,-cd,- ai,bm,bq,-ae,-bz,-bd,ar,cl,aq,-be,-by,-ad,br,bl,-aj,-ce,-ay,aw,cg,al,-bj,-bt,ab,bw,bg,-ao,-cj,-at,bb,cb,ag,-bo,} {ay,cc,af,-br,-bj,an,ck,aq,-bg,-bu,ac,bz,bb,-av,-cf,-ai,bo,bm,-ak,-ch,-at,bd,bx,aa,-bw,-be,as,ci,al,-bl,-bp,ah,c e,aw,-ba,-ca,-ad,bt,bh,-ap,-cl,-ao,bi,bs,-ae,-cb,-az,ax,cd,ag,-bq,-bk,am,cj,ar,-bf,-bv,ab,by,bc,-au,-cg,-aj,bn,} {az,bz,aa,-by,-ba,ay,ca,ab,-bx,-bb,ax,cb,ac,-bw,-bc,aw,cc,ad,-bv,-bd,av,cd,ae,-bu,-be,au,ce,af,-bt,-bf,at,cf, ag,-bs,-bg,as,cg,ah,-br,-bh,ar,ch,ai,-bq,-bi,aq,ci,aj,-bp,-bj,ap,cj,ak,-bo,-bk,ao,ck,al,-bn,-bl,an,cl,am,-bm,} {ba,bw,-ae,-cf,-ar,bj,bn,-an,-cj,-ai,bs,be,-aw,-ca,aa,cb,av,-bf,-br,aj,ck,am,-bo,-bi,as,ce,ad,-bx,-az,bb,bv,-af, -cg,-aq,bk,bm,-ao,-ci,-ah,bt,bd,-ax,-bz,ab,cc,au,-bg,-bq,ak,cl,al,-bp,-bh,at,cd,ac,-by,-ay,bc,bu,-ag,-ch,-ap,bl,} {bb,bt,-aj,-cl,-ai,bu,ba,-bc,-bs,ak,ck,ah,-bv,-az,bd,br,-al,-cj,-ag,bw,ay,-be,-bq,am,ci,af,-bx,-ax,bf,bp,-an,-ch, -ae,by,aw,-bg,-bo,ao,cg,ad,-bz,-av,bh,bn,-ap,-cf,-ac,ca,au,-bi,-bm,aq,ce,ab,-cb,-at,bj,bl,-ar,-cd,-aa,cc,as,-bk,} {bc,bq,-ao,-ce,aa,cf,an,-br,-bb,bd,bp,-ap,-cd,ab,cg,am,-bs,-ba,be,bo,-aq,-cc,ac,ch,al,-bt,-az,bf,bn,-ar,-cb,ad, ci,ak,-bu,-ay,bg,bm,-as,-ca,ae,cj,aj,-bv,-ax,bh,bl,-at,-bz,af,ck,ai,-bw,-aw,bi,bk,-au,-by,ag,cl,ah,-bx,-av,bj,} {bd,bn,-at,-bx,aj,ch,aa,-cg,-ak,bw,au,-bm,-be,bc,bo,-as,-by,ai,ci,ab,-cf,-al,bv,av,-bl,-bf,bb,bp,-ar,-bz,ah,cj, ac,-ce,-am,bu,aw,-bk,-bg,ba,bq,-aq,-ca,ag,ck,ad,-cd,-an,bt,ax,-bj,-bh,az,br,-ap,-cb,af,cl,ae,-cc,-ao,bs,ay,-bi,} {be,bk,-ay,-bq,as,bw,-am,-cc,ag,ci,-aa,-cj,-af,cd,al,-bx,-ar,br,ax,-bl,-bd,bf,bj,-az,-bp,at,bv,-an,-cb,ah,ch,-ab, -ck,-ae,ce,ak,-by,-aq,bs,aw,-bm,-bc,bg,bi,-ba,-bo,au,bu,-ao,-ca,ai,cg,-ac,-cl,-ad,cf,aj,-bz,-ap,bt,av,-bn,-bb,bh,} {bf,bh,-bd,-bj,bb,bl,-az,-bn,ax,bp,-av,-br,at,bt,-ar,-bv,ap,bx,-an,-bz,al,cb,-aj,-cd,ah,cf,-af,-ch,ad,cj,-ab,-cl, -aa,ck,ac,-ci,-ae,cg,ag,-ce,-ai,cc,ak,-ca,-am,by,ao,-bw,-aq,bu,as,-bs,-au,bq,aw,-bo,-ay,bm,ba,-bk,-bc,bi,be,-bg,} {bg,be,-bi,-bc,bk,ba,-bm,-ay,bo,aw,-bq,-au,bs,as,-bu,-aq,bw,ao,-by,-am,ca,ak,-cc,-ai,ce,ag,-cg,-ae,ci,ac,-ck,-aa, cl,-ab,-cj,ad,ch,-of,-cf,ah,cd,-aj,-cb,al,bz,-an,-bx,ap,bv,-ar,-bt,at,br,-av,-bp,ax,bn,-az,-bl,bb,bj,-bd,-bh,bf,} {bh,bb,-bn,-av,bt,ap,-bz,-aj,cf,ad,-cl,ac,cg,-ai,-ca,ao,bu,-au,-bo,ba,bi,-bg,-bc,bm,aw,-bs,-aq,by,ak,-ce,-ae,ck, -ab,-ch,ah,cb,-an,-bv,at,bp,-az,-bj,bf,bd,-bl,-ax,br,ar,-bx,-al,cd,af,-cj,aa,ci,-ag,-cc,am,bw,-as,-bq,ay,bk,-be,} {bi,ay,-bs,-ao,cc,ae,-cl,af,cb,-ap,-br,az,bh,-bj,-ax,bt,an,-cd,-ad,ck,-ag,-ca,aq,bq,-ba,-bg,bk,aw,-bu,-am,ce,ac, -cj,ah,bz,-ar,-bp,bb,bf,-bl,-av,bv,al,-cf,-ab,ci,-ai,-by,as,bo,-bc,-be,bm,au,-bw,-ak,cg,aa,-ch,aj,bx,-at,-bn,bd,} {bj,av,-bx,-ah,cl,-ag,-by,au,bk,-bi,-aw,bw,ai,-ck,af,bz,-at,-bl,bh,ax,-bv,-aj,cj,-ae,-ca,as,bm,-bg,-ay,bu,ak,-ci, ad,cb,-ar,-bn,bf,az,-bt,-al,ch,-ac,-cc,aq,bo,-be,-ba,bs,am,-cg,ab,cd,-ap,-bp,bd,bb,-br,-an,cf,-aa,-ce,ao,bq,-bc,} {bk,as,-cc,-aa,cd,-ar,-bl,bj,at,-cb,-ab,ce,-aq,-bm,bi,au,-ca,-ac,cf,-ap,-bn,bh,av,-bz,-ad,cg,-ao,-bo,bg,aw,-by,-ae, ch,-an,-bp,bf,ax,-bx,-af,ci,-am,-bq,be,ay,-bw,-ag,cj,-al,-br,bd,az,-bv,-ah,ck,-ak,-bs,bc,ba,-bu,-ai,cl,-aj,-bt,bb,} {bl,ap,-ch,ag,bu,-bc,-ay,by,ac,-cd,at,bh,-bp,-al,cl,-ak,-bq,bg,au,-cc,ab,bz,-ax,-bd,bt,ah,-ci,ao,bm,-bk,-aq,cg,- af,-bv,bb,az,-bx,-ad,ce,-as,-bi,bo,am,-ck,aj,br,-bf,-av,cb,-aa,-ca,aw,be,-bs,-ai,cj,-an,-bn,bj,ar,-cf,ae,bw,-ba,} {bm,am,-cl,an,bl,-bn,-al,ck,-ao,-bk,bo,ak,-cj,ap,bj,-bp,-aj,ci,-aq,-bi,bq,ai,-ch,ar,bh,-br,-ah,cg,-as,-bg,bs,ag, -cf,at,bf,-bt,-af,ce,-au,-be,bu,ae,-cd,av,bd,-bv,-ad,cc,-aw,-bc,bw,ac,-cb,ax,bb,-bx,-ab,ca,-ay,-ba,by,aa,-bz,az,} {bn,aj,-cg,au,bc,-by,ab,bv,-bf,-ar,cj,-am,-bk,bq,ag,-cd,ax,az,-cb,ae,bs,-bi,-ao,cl,-ap,-bh,bt,ad,-ca,ba,aw,-ce,a h,bp,-bl,-al,ci,-as,-be,bw,aa,-bx,bd,at,-ch,ak,bm,-bo,-ai,cf,-av,-bb,bz,-ac,-bu,bg,aq,-ck,an,bj,-br,-of,cc,-ay,} {bo,ag,-cb,bb,at,-cj,ao,bg,-bw,ab,bt,-bj,-al,cg,-aw,-ay,ce,-aj,-bl,br,ad,-by,be,aq,-cl,ar,bd,-bz,ae,bq,-bm,-ai,c d,-az,-av,ch,-am,-bi,bu,aa,-bv,bh,an,-ci,au,ba,-cc,ah,bn,-bp,-af,ca,-bc,-as,ck,-ap,-bf,bx,-ac,-bs,bk,ak,-cf,ax,} {bp,ad,-bw,bi,ak,-cd,bb,ar,-ck,au,ay,-cg,an,bf,-bz,ag,bm,-bs,-aa,bt,-bl,-ah,ca,-be,-ao,ch,-ax,-av,cj,-aq,-bc,cc, -aj,-bj,bv,-ac,-bq,bo,ae,-bx,bh,al,-ce,ba,as,-cl,at,az,-cf,am,bg,-by,af,bn,-br,-ab,bu,-bk,-ai,cb,-bd,-ap,ci,-aw,} {bq,aa,-br,bp,ab,-bs,bo,ac,-bt,bn,ad,-bu,bm,ae,-bv,bl,af,-bw,bk,ag,-bx,bj,ah,-by,bi,ai,-bz,bh,aj,-ca,bg,ak, -cb,bf,al,-cc,be,am,-cd,bd,an,-ce,bc,ao,-cf,bb,ap,-cg,ba,aq,-ch,az,ar,-ci,ay,as,-cj,ax,at,-ck,aw,au,-cl,av,} {br,-ac,-bm,bw,-ah,-bh,cb,-am,-bc,cg,-ar,-ax,cl,-aw,-as,ch,-bb,-an,cc,-bg,-ai,bx,-bl,-ad,bs,-bq,ab,bn,-bv,ag,bi,-c a,al,bd,-cf,aq,ay,-ck,av,at,-ci,ba,ao,-cd,bf,aj,-by,bk,ae,-bt,bp,-aa,-bo,bu,-af,-bj,bz,-ak,-be,ce,-ap,-az,cj,-au,} {bs,-af,-bh,cd,-aq,-aw,cj,-bb,-al,by,-bm,-aa,bn,-bx,ak,bc,-ci,av,ar,-ce,bg,ag,-bt,br,-ae,-bi,cc,-ap,-ax,ck,-ba,-am ,bz,-bl,-ab,bo,-bw,aj,bd,-ch,au,as,-cf,bf,ah,-bu,bq,-ad,-bj,cb,-ao,-ay,cl,-az,-an,ca,-bk,-ac,bp,-bv,ai,be,-cg,at,} {bt,-ai,-bc,ck,-az,-al,bw,-bq,of,bf,-ch,aw,ao,-bz,bn,-ac,-bi,ce,-at,-ar,cc,-bk,-aa,bl,-cb,aq,au,-cf,bh,ad,-bo,by, -an,-ax,ci,-be,-ag,br,-bv,ak,ba,-cl,bb,aj,-bu,bs,-ah,-bd,cj,-ay,-am,bx,-bp,ae,bg,-cg,av,ap,-ca,bm,-ab,-bj,cd,-as,} {bu,-al,-ax,cg,-bi,-aa,bj,-cf,aw,am,-bv,bt,-ak,-ay,ch,-bh,-ab,bk,-ce,av,an,-bw,bs,-aj,-az,ci,-bg,-ac,bl,-cd,au,ao, -bx,br,-ai,-ba,cj,-bf,-ad,bm,-cc,at,ap,-by,bq,-ah,-bb,ck,-be,-ae,bn,-cb,as,aq,-bz,bp,-ag,-bc,cl,-bd,-af,bo,-ca,ar,} {bv,-ao,-as,bz,-br,ak,aw,-cd,bn,-ag,-ba,ch,-bj,ac,be,-cl,bf,ab,-bi,ci,-bb,-af,bm,-ce,ax,aj,-bq,ca,-at,-an,bu,-bw, ap,ar,-by,bs,-al,-av,cc,-bo,ah,az,-cg,bk,-ad,-bd,ck,-bg,-aa,bh,-cj,bc,ae,-bl,cf,-ay,-ai,bp,-cb,au,am,-bt,bx,-aq,} {bw,-ar,-an,bs,-ca,av,aj,-bo,ce,-az,-af,bk,-ci,bd,ab,-bg,cl,-bh,ac,bc,-ch,bl,-ag,-ay,cd,-bp,ak,au,-bz,bt,-ao,-aq, bv,-bx,as,am,-br,cb,-aw,-ai,bn,-cf,ba,ae,-bj,cj,-be,-aa,bf,-ck,bi,-ad,-bb,cg,-bm,ah,ax,-cc,bq,-al,-at,by,-bu,ap,} {bx,-au,-ai,bl,-cj,bg,-ad,-az,cc,-bs,ap,an,-bq,ce,-bb,-ab,be,-ch,bn,-ak,-as,bv,-bz,aw,ag,-bj,cl,-bi,af,ax,-ca,bu, -ar,-al,bo,-cg,bd,-aa,-bc,cf,-bp,am,aq,-bt,cb,-ay,-ae,bh,-ck,bk,-ah,-av,by,-bw,at,aj,-bm,ci,-bf,ac,ba,-cd,br,-ao,} {by,-ax,-ad,be,-cf,br,-aq,-ak,bl,-cl,bk,-aj,-ar,bs,-ce,bd,-ac,-ay,bz,-bx,aw,ae,-bf,cg,-bq,ap,al,-bm,ck,-bj,ai,as, -bt,cd,-bc,ab,az,-ca,bw,-av,-af,bg,-ch,bp,-ao,-am,bn,-cj,bi,-ah,-at,bu,-cc,bb,-aa,-ba,cb,-bv,au,ag,-bh,ci,-bo,an,} {bz,-ba,ab,ax,-bw,cc,-bd,ae,au,-bt,cf,-bg,ah,ar,-bq,ci,-bj,ak,ao,-bn,cl,-bm,an,al,-bk,cj,-bp,aq,ai,-bh,cg,-bs,at ,af,-be,cd,-bv,aw,ac,-bb,ca,-by,az,-aa,-ay,bx,-cb,bc,-ad,-av,bu,-ce,bf,-ag,-as,br,-ch,bi,-aj,-ap,bo,-ck,bl,-am,} {ca,-bd,ag,aq,-bn,ck,-bq,at,ad,-ba,bx,-cd,bg,-aj,-an,bk,-ch,bt,-aw,-aa,ax,-bu,cg,-bj,am,ak,-bh,ce,-bw,az,-ac,-au, br,-cj,bm,-ap,-ah,be,-cb,bz,-bc,af,ar,-bo,cl,-bp,as,ae,-bb,by,-cc,bf,-ai,-ao,bl,-ci,bs,-av,-ab,ay,-bv,cf,-bi,al,} {cb,-bg,al,aj,-be,bz,-cd,bi,-an,-ah,bc,-bx,cf,-bk,ap,af,-ba,bv,-ch,bm,-ar,-ad,ay,-bt,cj,-bo,at,ab,-aw,br,-cl,bq, -av,aa,au,-bp,ck,-bs,ax,-ac,-as,bn,-ci,bu,-az,ae,aq,-bl,cg,-bw,bb,-ag,-ao,bj,-ce,by,-bd,ai,am,-bh,cc,-ca,bf,-ak,} {cc,-bj,aq,ac,-av,bo,-ch,bx,-be,al,ah,-ba,bt,-cl,bs,-az,ag,am,-bf,by,-cg,bn,-au,ab,ar,-bk,cd,-cb,bi,-ap,-ad,aw,- bp,ci,-bw,bd,-ak,-ai,bb,-bu,ck,-br,ay,-af,-an,bg,-bz,cf,-bm,at,-aa,-as,bl,-ce,ca,-bh,ao,ae,-ax,bq,-cj,bv,-bc,aj,} {cd,-bm,av,-ae,-am,bd,-bu,cl,-bv,be,-an,-ad,au,-bl,cc,-ce,bn,-aw,af,al,-bc,bt,-ck,bw,-bf,ao,ac,-at,bk,-cb,cf,-bo, ax,-ag,-ak,bb,-bs,cj,-bx,bg,-ap,-ab,as,-bj,ca,-cg,bp,-ay,ah,aj,-ba,br,-ci,by,-bh,aq,aa,-ar,bi,-bz,ch,-bq,az,-ai,} {ce,-bp,ba,-al,-ad,as,-bh,bw,-cl,bx,-bi,at,-ae,-ak,az,-bo,cd,-cf,bq,-bb,am,ac,-ar,bg,-bv,ck,-by,bj,-au,af,aj,-ay, bn,-cc,cg,-br,bc,-an,-ab,aq,-bf,bu,-cj,bz,-bk,av,-ag,-ai,ax,-bm,cb,-ch,bs,-bd,ao,aa,-ap,be,-bt,ci,-ca,bl,-aw,ah,} {cf,-bs,bf,-as,af,ah,-au,bh,-bu,ch,-cd,bq,-bd,aq,-ad,-aj,aw,-bj,bw,-cj,cb,-bo,bb,-ao,ab,al,-ay,bl,-by,cl,-bz,bm, -az,am,aa,-an,ba,-bn,ca,-ck,bx,-bk,ax,-ak,-ac,ap,-bc,bp,-cc,ci,-bv,bi,-av,ai,ae,-ar,be,-br,ce,-cg,bt,-bg,at,-ag,} {cg,-bv,bk,-az,ao,-ad,-ah,as,-bd,bo,-bz,ck,-cc,br,-bg,av,-ak,-aa,al,-aw,bh,-bs,cd,-cj,by,-bn,bc,-ar,ag,ae,-ap,ba, -bl,bw,-ch,cf,-bu,bj,-ay,an,-ac,-ai,at,-be,bp,-ca,cl,-cb,bq,-bf,au,-aj,-ab,am,-ax,bi,-bt,ce,-ci,bx,-bm,bb,-aq,af,} {ch,-by,bp,-bg,ax,-ao,af,ad,-am,av,-be,bn,-bw,cf,-cj,ca,-br,bi,-az,aq,-ah,-ab,ak,-at,bc,-bl,bu,-cd,cl,-cc,bt,-bk, bb,-as,aj,-aa,-ai,ar,-ba,bj,-bs,cb,-ck,ce,-bv,bm,-bd,au,-al,ac,ag,-ap,ay,-bh,bq,-bz,ci,-cg,bx,-bo,bf,-aw,an,-ae,} {ci,-cb,bu,-bn,bg,-az,as,-al,ae,ac,-aj,aq,-ax,be,-bl,bs,-bz,cg,-ck,cd,-bw,bp,-bi,bb,-au,an,-ag,-aa,ah,-ao,av,-bc, bj,-bq,bx,-ce,cl,-cf,by,-br,bk,-bd,aw,-ap,ai,-ab,-af,am,-at,ba,-bh,bo,-bv,cc,-cj,ch,-ca,bt,-bm,bf,-ay,ar,-ak,ad,} {cj,-ce,bz,-bu,bp,-bk,bf,-ba,av,-aq,al,-ag,ab,ad,-ai,an,-as,ax,-bc,bh,-bm,br,-bw,cb,-cg,cl,-ch,cc,-bx,bs,-bn,bi, -bd,ay,-at,ao,-aj,ae,aa,-af,ak,-ap,au,-az,be,-bj,bo,-bt,by,-cd,ci,-ck,cf,-ca,bv,-bq,bl,-bg,bb,-aw,ar,-am,ah,-ac,} {ck,-ch,ce,-cb,by,-bv,bs,-bp,bm,-bj,bg,-bd,ba,-ax,au,-ar,ao,-al,ai,-af,ac,aa,-ad,ag,-aj,am,-ap,as,-av,ay,-bb,be, -bh,bk,-bn,bq,-bt,bw,-bz,cc,-cf,ci,-cl,cj,-cg,cd,-ca,bx,-bu,br,-bo,bl,-bi,bf,-bc,az,-aw,at,-aq,an,-ak,ah,-ae,ab,} {cl,-ck,cj,-ci,ch,-cg,cf,-ce,cd,-cc,cb,-ca,bz,-by,bx,-bw,bv,-bu,bt,-bs,br,-bq,bp,-bo,bn,-bm,bl,-bk,bj,-bi,bh,-bg, bf,-be,bd,-bc,bb,-ba,az,-ay,ax,-aw,av,-au,at,-as,ar,-aq,ap,-ao,an,-am,al,-ak,aj,-ai,ah,-ag,af,-ae,ad,-ac,ab,-aa,}
[0079] The variables a, bc, ... aa, ab, ac, ..., cl can be derived based on the DST-7 formulas shown in Table 1, and their values may differ depending on the size of the DST-7. For example, the value of "a" may differ between a 4-point DST-7 and an 8-point DST-7. To avoid floating-point arithmetic, the DST-7 conversion core is similar to the DCT-2 core used in HEVC, for example, TIFF0007893923000012.tif16158 (corresponds to an 8-bit conversion core), or It may be scaled by a predefined factor such as TIFF0007893923000013.tif19158 (corresponding to a 10-bit conversion core), rounded to the nearest integer, or further adjusted by an offset amount such as +1 / -1.
[0080] In one exemplary design of AMT, when AMT is applied, all primary translation cores, including DCT-2, can be represented as 10-bit integers, i.e., 10-bit translation cores. However, at least one (but not all) of the primary translation cores may be represented as 10-bit integers.
[0081] In VVC, the main conversion can utilize 8-bit (e.g., used for all conversion sizes except 64 points or more) and 10-bit (e.g., used for conversions of 64 points or more) conversion cores. This application does not allow for the extraction of 2, 4, 8, 16, and 32-point DCT-2 conversion cores from, for example, a 64-point DCT-2 conversion core, which inevitably increases the application cost of the main conversion because a single 64-point conversion core requires additional storage and logic for implementation. Compared to a 10-bit main conversion core, the 8-bit main conversion core reduces complexity by reducing the memory required to store the conversion core and reducing the input bit width for multiplier / addition / subtraction operations.
[0082] Accordingly, this disclosure provides a set of 8-bit primary conversion cores for all conversion size types applicable to exemplary AMTs, including DCT-2, DCT-5, DCT-8, DST-1, and DST-7. The methods proposed below can be used individually or in any combination.
[0083] Referring to Figure 5, in a first simple example, a method for decoding compressed video or image data or encoding uncompressed video or image data using an 8-bit main transform core matrix may include step 501 of receiving information about a target file for encoding or decoding. The target file for encoding or decoding may be one of a compressed video or image data file and an uncompressed video or image data file. The method in Figure 5 may further include step 502. Step 502 includes determining whether to use a first transform core matrix having a first size type or a second transform core matrix having a second size type smaller than the first size type for encoding or decoding the target file. The first size type may be an 8-bit main transform core matrix, which has a core matrix that is represented by 8 bits and has a size of 64 points or more. A method according to one aspect of the present disclosure may further include step 503. Step 503 includes, if the result of the decision is to use a first transformation core matrix having a first size type, generating or transmitting information to encode or decode the target file for encoding or decode using an 8-bit main transformation core matrix having a size of 64 points or more. The method in Figure 5 may further include step 504. Step 504 includes, if the result of the decision is to use a second transformation core matrix having a second size type smaller than the first size type, extracting a second transformation core matrix having a second size type from an 8-bit main transformation core matrix having a size of 64 points or more, and generating or transmitting information to encode or decode the target file for encoding or decode using the extracted second transformation core matrix having a second size type.
[0084] The method shown in Figure 5 may further include one or more processors executing processing steps 501 to 504. The method shown in Figure 5 may further include one or more processors pre-storing an 8-bit main transformation core matrix in memory before or during the execution of steps 501 to 504.
[0085] The method shown in Figure 5 may further include the first transformation core matrix being a 64-point 8-bit main transformation core matrix, constructed using 31 integers and an additional 32 integers to construct a 32-point 8-bit main transformation core matrix, the additional 32 integers being bf, bg, bh, bi, bj, bk, bl, bm, bn, bo, bp, bq, br, bs, bt, bu, bv, bw, bx, by, bz, ca, cb, cc, cd, ce, cf, cg, ch, ci, cj, and ck, and so on. The 32 additional integers {bf,bg,bh,bi,bj,bk,bl,bm,bn,bo,bp,bq,br,bs,bt,bu,bv,bw,bx,by,bz,ca,cb,cc,cd,ce,cf,cg,ch,ci,cj,ck}, which include their respective positive and negative conversions, are equal to {91,90,90,90,88,87,86,84,83,81,79,77,73,71,69,65,62,59,56,52,48,44,41,37,33,28,24,20,15,11,7,2}.
[0086] The method shown in Figure 5 may further include constructing a 128-point 8-bit main transform core using 63 integers for constructing a 64-point 8-bit main transform core and an additional 64 integers, the additional 64 integers being {cl,cm,cn,co,cp,cq,cr,cs,ct,cu,cv,cw,cx,cy,cz,da,db,dc,dd,de,df,dg,dh,di,dj,dk,dl,dm,dn,d_,dp,dq,dr,ds,dt,du,dv,dw,dx,dy,dz,ea,eb,ec,ed,ee,ef,eg,eh,ei,ej,ek,el,em,en,eo,ep,eq,er,es,et,eu,ev, and ew}, and including their respective positive and negative transforms, the additional 64 integers being {cl,cm,cn,co,cp,cq,cr,cs,ct, cu,cv,cw,cx,cy,cz,da,db,dc,dd,de,df,dg,dh,di,dj,dk,dl,dm,dn,d_,dp,dq,dr,ds,dt,du,dv,dw,dx, dy,dz,ea,eb,ec,ed,ee,ef,eg,eh,ei,ej,ek,el,em,en,eo,ep,eq,er,es,et,eu,ev,ew} is {90,90,90,90,9 It is equal to 0,90,89,89,89,88,88,87,86,86,85,84,83,82,81,80,79,78,77,76,75,73,72,71,69,68,66,65,63,62,60,58,58,55,53,51,49,48,45,44,42,40,38,36,34,32,29,27,25,23,21,19,17,15,12,10,8,6,3,1.
[0087] The method shown in Figure 5 may further include the size of the 8-bit main transform core matrix being 64 points or 128 points. The method shown in Figure 5 may further include the left or right half of the even or odd rows of the 8-bit main transform core matrix forming a matrix similar to the second transform core matrix, wherein the 8-bit main transform core matrix is one of DCT-2, DCT-5, DCT-8, DST-l, and DST-7, and / or the second transform core matrix is one of DCT-2, DCT-5, DCT-8, DST-l, and DST-7.
[0088] The method shown in Figure 5 may further include the 8-bit main transformation core matrix being identical to the second transformation core matrix and being one of DCT-2, DCT-5, DCT-8, DST-1, and DST-7. The method shown in Figure 5 may further include the 8-bit main transformation core matrix being an 8-bit 64-point DCT-2 transformation matrix and / or the second transformation core matrix being an 8-bit 32-point DCT-2 transformation matrix.
[0089] The method shown in Figure 5 may further include deriving an 8-bit N-point main transformation core matrix consisting of M unique numbers by the following steps shown in Figure 6. Figure 6 shows step 601. Step 601 includes deriving an initial transformation core matrix by scaling the original transformation core using a scaling factor. For example, step 601 is scale factor 2 B-2 ×log2(N) = T1 = T0 × 2 B-2 This involves deriving the initial transformation core matrix T1 by scaling the original transformation core T0, which is composed of floating-point numbers, so that it is ×log2(N), where B=8, the row vectors of T0 as basis vectors are orthogonal to each other, and the norm of each row vector is 1.
[0090] The method in Figure 6 may further include step 602, which includes deriving a tuned transformation core matrix. For example, step 602 may include deriving a tuned transformation core matrix (T2) by adding an offset to a selected set of M unique numbers for constructing a tuned main transformation core matrix T2.
[0091] The method in Figure 6 may further include step 603. Step 603 includes calculating the cost value C as the sum of the absolute values of all elements. For example, step 603 calculates the cost value C as (T1 * T1 T -2 2B-4 ×log2(N) 2 This may include calculating the sum of the absolute values of all elements of ×I), where I is the N×N identity matrix.
[0092] The method in Figure 6 may further include step 604, which includes updating the adjusted transformation matrix. For example, step 604 includes updating the adjusted transformation matrix T2 by adding the calculated offset value to T2 such that the cost value for T2 is minimized, and the adjusted transformation matrix T2 is output as an 8-bit N-point main transformation core matrix.
[0093] In the method shown in Figure 6, the offset values for each of the M unique numbers may include one or more of the values -2, -1, 0, +1, and +2. The method in Figure 6 may also further include minimizing the cost value C by trying all possible combinations of offset values for a selected set of M unique numbers, and then outputting T2 as an 8-bit N-point main transformation core matrix.
[0094] Next, we will describe different types of transformation cores (transformation core matrices). For example, a 64-point DCT-2 transformation core may be represented by an 8-bit integer, and the left half of the even-numbered rows (rows 0, 2, 4, ... 30) of the transformation core matrix will form the same matrix as a 32-point DCT-2 transformation core matrix. In one embodiment, a 64-point DCT-2 core matrix can be derived using the following setting parameters, namely, {aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb,bc,bd,be,bf,bg,bh,bi,bj,bk,bl,bm,bn,bo,bp,bq,br,bs,bt,bu,bv,bw,bx,by,bz,ca,cb, cc,cd,ce,cf,cg,ch,ci,cj,ck}={64,83,36,89,75,50,18,90,87,80,70,57,43,25,9,90,90,88,85,82,78,73,67,61,54,46,38,31,22,13,4,91,90,90,90,88,87,86,84,83,81,79,77,73,71,69,65,62,59,56,52,48,44,41,37,33,28,24,20,15,11,7,2}.
[0095] A 128-point DCT-2 conversion core may be represented by an 8-bit integer, and the left half of the even-numbered rows (rows 0, 2, 4, ..., 126) of the conversion core matrix forms the same matrix as the 64-point DCT-2 conversion core matrix. In one embodiment, the 128-point DCT-2 core matrix can be derived using the following configuration parameters, namely {aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb,bc,bd,be,bf,bg,bh,bi,bj,bk,bl,bm,bn,bo,bp,bq,br,bs,bt,bu,bv,bw,b} x,by,bz,ca,cb,cc,cd,ce,cf,cg,ch,ci,cj,ck,cl,cm,cn,co,cp,cq,cr,cs,ct,cu,cv,cw,cx,cy,cz,da,db,dc,dd,de,d f,dg,dh,di,dj,dk,dl,dm,dn,d_,dp,dq,dr,ds,dt,du,dv,dw,dx,dy,dz,ea,eb,ec,ed,ee,ef,eg,eh,ei,ej,ek,el,em,e n,eo,ep,eq,er,es,et,eu,ev,ew}={64,83,36,89,75,50,18,90,87,80,70,57,43,25,9,90,90,88,85,82,78,73,67,61, 54,46,38,31,22,13,4,91,90,90,90,88,87,86,84,83,81,79,77,73,71,69,65,62,59,56,52,48,44,41,37,33,28,24,2 0,15,11,7,2,90,90,90,90,90,90,89,89,89,88,88,87,86,86,85,84,83,82,81,80,79,78,77,76,75,73,72,71,69,68,66,65,63,62,60,58,58,55,53,51,49,48,45,44,42,40,38,36,34,32,29,27,25,23,21,19,17,15,12,10,8,6,3,1.
[0096] The B-bit N-point principal transformation core composed of M unique numerical values (regardless of sign and zero) can be derived by the following procedure. That is, (a) scale the original transformation core T0 composed of floating-point numbers by a scale factor of 2 B-2 ×log2(N) so that Tl = T0 x 2 B-2 ×log2(N), and derive the initial transformation core T1. The row vectors of T0, that is, the basis vectors, are orthogonal to each other, and the norm of each row vector is 1. (b) Try to add an offset to the selected set of M unique numerical values for constructing the principal transformation core T2 to derive the adjusted transformation core T2, and (c) calculate the cost value C as the sum of the absolute values of all elements of (T1 * T1 T -2 2B-4 ×log2(N) 2 ×I), where I is the N×N identity matrix. Next, an offset value that minimizes the cost value can be added to T2 to update T2. Exemplary offset values for each of the M unique numerical values include, but are not limited to, -2, -1, 0, +1, +2. After minimizing the cost value by trying all possible combinations of offset values for the selected set of M unique numerical values, output T2 as the B-bit N-point principal transformation core.
[0097] When deriving the transformation cores of N-point DCT-8 and DST-7, it may be restricted that the set of M unique numerical values for constructing the N-point DCT-8 core matrix is the same set as the set of M unique numerical values for constructing the N-point DST-7 core matrix. In one embodiment, M is equal to N. In one embodiment, the following shows the transformation cores of 8-bit DCT- and DST-7. For example, in the 4-point DST-7 core, it may have 4 unique numerical values including 28, 55, 74, and 84, which is the same as the set of 4 unique numerical values for constructing the 4-point DCT-8 core.
[0098] 4-point DST-7: {29, 55, 74, 84,} {74, 74, "", -74,} {84,-29,-74,55,} {55,-84,74,-29,} 8-bit DST-7: {17,32,46,60,71,78,85,86,} {46,78,86,71,32,-17,-60,-85,} {71,85,32,-46,-86,-60,17,78,} {85,46,-60,-78,17,86,32,-71,} {86,-17,-85,32,78,-46,-71,60,} {78,-71,-17,85,-60,-32,86,-46,} {60,-86,71,-17,-46,85,-78,32,} {32,-60,78,-86,85,-71,46,-17,} 16-bit DST-7: {9,17,25,33,41,49,56,62,66,72,77,81,83,87,89,90,} {25,49,66,81,89,89,81,66,49,25,0,-25,-49,-66,-81,-89,} {41,72,89,83,62,25,-17,-56,-81,-90,-77,-49,-9,33,66,87,} {56,87,81,41,-17,-66,-90,-72,-25,33,77,89,62,9,-49,-83,} {66,89,49,-25,-81,-81,-25,49,89,66,0,-66,-89,-49,25,81,} {77,77,0,-77,-77,0,77,77,0,-77,-77,0,77,77,0,-77,} {83,56,-49,-87,-9,81,62,-41,-89,-17,77,66,-33,-90,-25,72,} {89,25,-81,-49,66,66,-49,-81,25,89,0,-89,-25,81,49,-66,} {90,-9,-89,17,87,-25,-83,33,81,-41,-77,49,72,-56,-66,62,} {87,-41,-66,72,33,-89,9,83,-49,-62,77,25,-90,17,81,-56,} {81,-66,-25,89,-49,-49,89,-25,-66,81,0,-81,66,25,-89,49,} {72,-83,25,56,-90,49,33,-87,66,9,-77,81,-17,-62,89,-41,} {62,-90,66,-9,-56,89,-72,17,49,-87,77,-25,-41,83,-81,33,} {49,-81,89,-66,25,25,-66,89,-81,49,0,-49,81,-89,66,-25,} {33,-62,81,-90,83,-66,41,-9,-25,56,-77,89,-87,72,-49,17,} {17,-33,49,-62,72,-81,87,-90,89,-83,77,-66,56,-41,25,-9,} 32-bit DST-7: {4,9,13,17,21,26,30,34,38,42,45,50,53,56,60,63,66,68,72,74,77,78,80,82,84,85,86,88,88,89,90,90,} {13,26,38,50,60,68,77,82,86,89,90,88,85,80,74,66,56,45,34,21,9,-4,-17,-30,-42,-53,-63,-72,-78,-84,-88,-90,} {21,42,60,74,84,89,89,84,74,60,42,21,0,-21,-42,-60,-74,-84,-89,-89,-84,-74,-60,-42,-21,0,21,42,60,74,84,89,} {30,56,77,88,89,80,63,38,9,-21,-50,-72,-85,-90,-84,-68,-45,-17,13,42,66,82,90,86,74,53,26,-4,-34,-60,-78,-88,} {38,68,86,88,74,45,9,-30,-63,-84,-90,-78,-53,-17,21,56,80,90,82,60,26,-13,-50,-77,-89,-85,-66,-34,4,42,72,88,} {45,78,90,77,42,-4,-50,-80,-90,-74,-38,9,53,82,89,72,34,-13,-56,-84,-88,-68,-30,17,60,85,88,66,26,-21,-63,-86,} {53,85,85,53,0,-53,-85,-85,-53,0,53,85,85,53,0,-53,-85,-85,-53,0,53,85,85,53,0,-53,-85,-85,-53,0,53,85,} {60,89,74,21,-42,-84,-84,-42,21,74,89,60,0,-60,-89,-74,-21,42,84,84,42,-21,-74,-89,-60,0,60,89,74,21,-42,-84,} {66,90,56,-13,-74,-88,-45,26,80,84,34,-38,-85,-78,-21,50,88,72,9,-60,-90,-63,4,68,89,53,-17,-77,-86,-42,30,82,} {72,86,34,-45,-89,-63,13,78,82,21,-56,-90,-53,26,84,77,9,-66,-88,-42,38,88,68,-4,-74,-85,-30,50,90,60,-17,-80,} {77,80,9,-72,-84,-17,66,86,26,-60,-88,-34,53,90,42,-45,-90,-50,38,89,56,-30,-88,-63,21,85,68,-13,-82,-74,4,78,} {80,72,-17,-86,-60,34,90,45,-50,-89,-30,63,85,13,-74,-78,4,82,68,-21,-88,-56,38,90,42,-53,-88,-26,66,84,9,-77,} {84,60,-42,-89,-21,74,74,-21,-89,-42,60,84,0,-84,-60,42,89,21,-74,-74,21,89,42,-60,-84,0,84,60,-42,-89,-21,74,} {86,45,-63,-78,21,90,26,-77,-66,42,88,4,-85,-50,60,80,-17,-90,-30,74,68,-38,-88,-9,84,53,-56,-82,13,89,34,-72,} {88,30,-78,-56,60,77,-34,-88,4,89,26,-80,-53,63,74,-38,-86,9,90,21,-82,-50,66,72,-42,-85,13,90,17,-84,-45,68,} {90,13,-88,-26,84,38,-78,-50,72,60,-63,-68,53,77,-42,-82,30,86,-17,-89,4,90,9,-88,-21,85,34,-80,-45,74,56,-66,} {90,-4,-90,9,89,-13,-88,17,88,-21,-86,26,85,-30,-84,34,82,-38,-80,42,78,-45,-77,50,74,-53,-72,56,68,-60,-66,63,} {89,-21,-84,42,74,-60,-60,74,42,-84,-21,89,0,-89,21,84,-42,-74,60,60,-74,-42,84,21,-89,0,89,-21,-84,42,74,-60,} {88,-38,-72,68,42,-86,-4,88,-34,-74,66,45,-85,-9,89,-30,-77,63,50,-84,-13,90,-26,-78,60,53,-82,-17,90,-21,-80,56,} {85,-53,-53,85,0,-85,53,53,-85,0,85,-53,-53,85,0,-85,53,53,-85,0,85,-53,-53,85,0,-85,53,53,-85,0,85,-53,} {82,-66,-30,90,-42,-56,86,-13,-77,74,17,-88,53,45,-89,26,68,-80,-4,84,-63,-34,90,-38,-60,85,-9,-78,72,21,-88,50,} {78,-77,-4,80,-74,-9,82,-72,-13,84,-68,-17,85,-66,-21,86,-63,-26,88,-60,-30,88,-56,-34,89,-53,-38,90,-50,-42,90,-45,} {74,-84,21,60,-89,42,42,-89,60,21,-84,74,0,-74,84,-21,-60,89,-42,-42,89,-60,-21,84,-74,0,74,-84,21,60,-89,42,} {68,-88,45,30,-84,78,-17,-56,90,-60,-13,77,-85,34,42,-88,72,-4,-66,89,-50,-26,82,-80,21,53,-90,63,9,-74,86,-38,} {63,-90,66,-4,-60,90,-68,9,56,-89,72,-13,-53,88,-74,17,50,-88,77,-21,-45,86,-78,26,42,-85,80,-30,-38,84,-82,34,} {56,-88,80,-38,-21,72,-90,68,-17,-42,82,-86,53,4,-60,88,-78,34,26,-74,90,-66,13,45,-84,85,-50,-9,63,-89,77,-30,} {50,-82,88,-66,21,30,-72,90,-78,42,9,-56,85,-86,60,-13,-38,77,-90,74,-34,-17,63,-88,84,-53,4,45,-80,89,-68,26,} {42,-74,89,-84,60,-21,-21,60,-84,89,-74,42,0,-42,74,-89,84,-60,21,21,-60,84,-89,74,-42,0,42,-74,89,-84,60,-21,} {34,-63,82,-90,84,-66,38,-4,-30,60,-80,90,-85,68,-42,9,26,-56,78,-89,86,-72,45,-13,-21,53,-77,88,-88,74,-50,17,} {26,-50,68,-82,89,-88,80,-66,45,-21,-4,30,-53,72,-84,90,-88,78,-63,42,-17,-9,34,-56,74,-85,90,-86,77,-60,38,-13,} {17,-34,50,-63,74,-82,88,-90,88,-84,77,-66,53,-38,21,-4,-13,30,-45,60,-72,80,-86,90,-89,85,-78,68,-56,42,-26,9,} {9,-17,26,-34,42,-50,56,-63,68,-74,78,-82,85,-88,89,-90,90,-88,86,-84,80,-77,72,66,60,-53,45,-38,30,-21,13,-4,} 64-bit DST-7: {2,5,7,8,11,13,15,17,20,22,23,26,29,30,32,34,37,38,41,42,44,46,48,49,52,53,55,58,59,60,62,64,65,66,68,69,72,72,74,73,76,77,78,79,81,80,82,83,85,84,85,86,87,87,88,89,89,90,89,90,90,90,90,90,90,} {7,13,20,26,32,38,44,49,55,60,65,69,74,77,81,83,85,87,89,90,90,90,90,89,87,85,83,81,77,74,69,65,60,55,49,44,38,32,26,20,13,7,0,-7,-13,-20,-26,-32,-38,-44,-49,-55,-60,-65,-69,-74,-77,-81,-83,-85,-87,-89,-90,-90,} {11,22,32,42,52,60,68,73,81,84,88,90,90,89,87,85,79,74,66,59,49,41,30,20,8,-2,-13,-23,-34,-44,-53,-62,-69,-76,-80,-85,-89,-90,-90,-90,-87,-83,-78,-72,-65,-58,-48,-38,-29,-17,-7,5,15,26,37,46,55,64,72,77,82,86,89,90,} {15,30,44,58,68,77,85,89,90,89,86,81,72,62,49,37,22,7,-8,-23,-38,-52,-64,-74,-80,-87,-90,-90,-88,-83,-76,-66,-55,-42,-29,-13,2,17,32,46,59,69,78,84,89,90,90,85,79,72,60,48,34,20,5,-11,-26,-41,-53,-65,-73,-82,-87,-90,} {20,38,55,69,81,87,90,89,83,74,60,44,26,7,-13,-32,-49,-65,-77,-85,-90,-90,-85,-77,-65,-49,-32,-13,7,26,44,60,74,83,89,90,87,81,69,55,38,20,0,-20,-38,-55,-69,-81,-87,-90,-89,-83,-74,-60,-44,-26,-7,13,32,49,65,77,85,90,} {23,46,65,79,88,90,86,76,60,41,17,-7,-30,-52,-69,-82,-90,-90,-85,-72,-55,-34,-11,13,37,58,74,84,90,89,80,68,49,29,5,-20,-42,-62,-77,-87,-90,-87,-78,-64,-44,-22,2,26,48,66,81,89,90,85,73,59,38,15,-8,-32,-53,-72,-83,-89,} {29,53,74,86,90,85,72,52,26,-2,-30,-55,-73,-87,-90,-84,-72,-49,-23,5,32,58,76,87,90,85,69,48,22,-7,-34,-59,-77,-88,-90,-83,-68,-46,-20,8,37,60,78,89,90,82,66,44,17,-11,-38,-62,-79,-89,-89,-80,-65,-42,-15,13,41,64,81,90,} {32,60,81,90,87,74,49,20,-13,-44,-69,-85,-90,-83,-65,-38,-7,26,55,77,89,89,77,55,26,-7,-38,-65,-83,-90,-85,-69,-44,-13,20,49,74,87,90,81,60,32,0,-32,-60,-81,-90,-87,-74,-49,-20,13,44,69,85,90,83,65,38,7,-26,-55,-77,-89,} {37,66,85,90,79,55,22,-15,-49,-76,-90,-87,-72,-42,-7,30,62,83,90,82,60,29,-8,-44,-72,-88,-89,-73,-48,-13,23,58,81,90,84,65,34,-2,-38,-68,-86,-90,-78,-53,-20,17,52,77,89,87,69,41,5,-32,-64,-85,-90,-80,-59,-26,11,46,74,89,} {41,72,89,87,66,32,-8,-48,-77,-90,-85,-60,-23,17,55,80,90,81,53,15,-26,-62,-84,-90,-76,-46,-7,34,68,87,89,72,38,-2,-42,-74,-90,-86,-65,-30,11,49,78,90,83,59,22,-20,-58,-82,-90,-79,-52,-13,29,64,85,89,73,44,5,-37,-69,-88,} {44,77,90,81,49,7,-38,-74,-90,-83,-55,-13,32,69,89,85,60,20,-26,-65,-87,-87,-65,-26,20,60,85,89,69,32,-13,-55,-83,-90,-74,-38,7,49,81,90,77,44,0,-44,-77,-90,-81,-49,-7,38,74,90,83,55,13,-32,-69,-89,-85,-60,-20,26,65,87,} {48,80,90,72,30,-20,-64,-88,-85,-58,-11,38,76,90,77,41,-8,-55,-84,-89,-65,-22,29,69,89,82,49,2,-46,-81,-90,-72,-32,17,62,87,86,59,13,-37,-73,-90,-78,-42,7,53,85,89,66,23,-26,-68,-90,-83,-52,-5,44,79,90,74,34,-15,-60,-87,} {52,84,87,59,8,-44,-80,-90,-65,-17,37,77,90,72,26,-29,-72,-90,-76,-34,20,66,89,81,42,-11,-60,-88,-85,-49,2,53,85,87,58,7,-46,-82,-89,-64,-15,38,78,90,69,23,-30,-74,-90,-73,-32,22,68,90,79,41,-13,-62,-89,-83,-48,5,55,86,} {55,87,83,44,-13,-65,-90,-77,-32,26,74,90,69,20,-38,-81,-89,-60,-7,49,85,85,49,-7,-60,-89,-81,-38,20,69,90,74,26,-32,-77,-90,-65,-13,44,83,87,55,0,-55,-87,-83,-44,13,65,90,77,32,-26,-74,-90,-69,-20,38,81,89,60,7,-49,-85,} {59,90,77,29,-34,-81,-88,-53,7,64,90,74,22,-41,-83,-86,-48,13,68,90,69,15,-46,-85,-85,-42,20,72,90,65,8,-52,-87,-80,-37,26,76,89,60,2,-58,-89,-78,-30,32,79,89,55,-5,-62,-90,-73,-23,38,82,87,49,-11,-66,-90,-72,-17,44,84,} {62,90,69,11,-53,-89,-76,-22,44,86,80,32,-34,-82,-85,-42,23,77,89,52,-13,-72,-90,-60,2,64,90,68,8,-55,-90,-73,-20,46,87,81,30,-37,-83,-84,-41,26,78,88,49,-15,-72,-90,-59,5,65,90,66,7,-58,-89,-74,-17,48,87,79,29,-38,-85,} {65,90,60,-7,-69,-90,-55,13,74,89,49,-20,-77,-87,-44,26,81,85,38,-32,-83,-83,-32,38,85,81,26,-44,-87,-77,-20,49,89,74,13,-55,-90,-69,-7,60,90,65,0,-65,-90,-60,7,69,90,55,-13,-74,-89,-49,20,77,87,44,-26,-81,-85,-38,32,83,} {68,89,49,-23,-80,-83,-29,46,89,72,5,-65,-90,-53,20,79,84,32,-42,-88,-74,-8,62,90,58,-15,-77,-86,-37,38,87,76,13,-59,-90,-60,11,73,87,41,-34,-85,-78,-17,55,90,64,-7,-72,-89,-44,30,85,81,22,-52,-90,-66,2,69,90,48,-26,-82,} {72,88,38,-41,-89,-69,2,72,87,37,-42,-89,-68,5,74,87,34,-44,-90,-66,7,73,86,32,-46,-89,-65,8,76,85,30,-48,-90,-64,11,77,84,29,-49,-90,-62,13,78,85,26,-52,-90,-60,15,79,83,23,-53,-90,-59,17,81,82,22,-55,-90,-58,20,80,} {74,85,26,-55,-90,-49,32,87,69,-7,-77,-83,-20,60,90,44,-38,-89,-65,13,81,81,13,-65,-89,-38,44,90,60,-20,-83,-77,-7,69,87,32,-49,-90,-55,26,85,74,0,-74,-85,-26,55,90,49,-32,-87,-69,7,77,83,20,-60,-90,-44,38,89,65,-13,-81,} {76,82,13,-68,-87,-26,59,89,38,-48,-90,-49,37,90,60,-23,-86,-69,11,80,77,2,-73,-83,-15,66,87,29,-58,-90,-41,46,90,52,-34,-89,-62,22,85,72,-8,-81,-78,-5,74,85,17,-65,-88,-30,55,90,42,-44,-90,-53,32,89,64,-20,-84,-72,7,79,} {78,78,0,-78,-78,0,78,78,0,-78,-78,0,78,78,0,-78,-78,0,78,78,0,-78,-78,0,78,78,0,-78,-78,0,78,78,0,-78,-78,0,78,78,0,-78,-78,0,78,78,0,-78,-78,0,78,78,0,-78,-78,0,78,78,0,-78,-78,0,78,78,0,-78,} {81,74,-13,-85,-65,26,89,55,-38,-90,-44,49,90,32,-60,-87,-20,69,83,7,-77,-77,7,83,69,-20,-87,-60,32,90,49,-44,-90,-38,55,89,26,-65,-85,-13,74,81,0,-81,-74,13,85,65,-26,-89,-55,38,90,44,-49,-90,-32,60,87,20,-69,-83,-7,77,} {82,68,-26,-89,-48,49,90,23,-69,-80,2,83,66,-29,-90,-46,52,89,22,-72,-81,5,85,65,-30,-90,-44,53,89,20,-72,-79,7,84,64,-32,-90,-42,55,88,17,-74,-78,8,85,62,-34,-90,-41,58,87,15,-73,-77,11,86,60,-37,-90,-38,59,87,13,-76,} {85,62,-38,-90,-29,69,79,-11,-87,-53,48,89,17,-76,-74,22,89,44,-58,-86,-7,80,66,-32,-90,-34,65,82,-5,-85,-59,42,90,23,-72,-77,15,89,49,-52,-88,-13,78,72,-26,-90,-41,60,84,2,-83,-64,37,90,30,-68,-81,8,87,55,-46,-90,-20,73,} {85,55,-49,-87,-7,83,60,-44,-89,-13,81,65,-38,-90,-20,77,69,-32,-90,-26,74,74,-26,-90,-32,69,77,-20,-90,-38,65,81,-13,-89,-44,60,83,-7,-87,-49,55,85,0,-85,-55,49,87,7,-83,-60,44,89,13,-81,-65,38,90,20,-77,-69,32,90,26,-74,} {87,48,-60,-80,15,90,34,-72,-74,30,90,20,-79,-64,44,88,5,-85,-52,58,83,-11,-90,-38,68,76,-26,-90,-23,77,66,-41,-89,-8,85,55,-53,-84,7,89,42,-65,-78,22,90,29,-73,-69,37,89,13,-82,-59,49,86,-2,-87,-46,62,81,-17,-90,-32,72,} {88,41,-69,-72,37,89,5,-87,-44,66,73,-32,-89,-8,85,48,-64,-77,29,90,13,-85,-52,60,79,-23,-90,-17,82,55,-58,-80,20,90,22,-81,-59,53,83,-15,-90,-26,78,62,-49,-84,11,90,30,-76,-65,46,86,-7,-90,-34,74,68,-42,-87,2,89,38,-72,} {89,32,-77,-60,55,81,-26,-90,-7,87,38,-74,-65,49,83,-20,-90,-13,85,44,-69,-69,44,85,-13,-90,-20,83,49,-65,-74,38,87,-7,-90,-26,81,55,-60,-77,32,89,0,-89,-32,77,60,-55,-81,26,90,7,-87,-38,74,65,-49,-83,20,90,13,-85,-44,69,} {89,23,-83,-46,72,65,-53,-79,32,88,-8,-90,-15,86,38,-76,-59,60,73,-41,-85,17,90,7,-89,-30,81,52,-66,-69,48,82,-26,-90,2,90,22,-85,-44,72,64,-55,-78,34,87,-11,-90,-13,87,37,-77,-58,62,74,-42,-84,20,90,5,-89,-29,80,49,-68,} {90,15,-87,-30,82,44,-73,-58,65,68,-53,-77,41,85,-26,-89,11,90,5,-89,-20,86,34,-81,-48,72,60,-62,-72,49,79,-37,-85,22,90,-7,-90,-8,89,23,-84,-38,78,52,-69,-64,59,74,-46,-80,32,87,-17,-90,2,90,13,-88,-29,83,42,-76,-55,66,} {90,7,-90,-13,89,20,-87,-26,85,32,-83,-38,81,44,-77,-49,74,55,-69,-60,65,65,-60,-69,55,74,-49,-77,44,81,-38,-83,32,85,-26,-87,20,89,-13,-90,7,90,0,-90,-7,90,13,-89,-20,87,26,-85,-32,83,38,-81,-44,77,49,-74,-55,69,60,-65,} {90,-2,-90,5,90,-7,-90,8,90,-11,-89,13,90,-15,-89,17,89,-20,-88,22,87,-23,-87,26,86,-29,-85,30,84,-32,-85,34,83,-37,-82,38,80,-41,-81,42,79,-44,-78,46,77,-48,-76,49,73,-52,-74,53,72,-55,-72,58,69,-59,-68,60,66,-62,-65,64,} {90,-11,-89,22,86,-32,-82,42,77,-52,-72,60,64,-68,-55,73,46,-81,-37,84,26,-88,-15,90,5,-90,7,89,-17,-87,29,85,-38,-79,48,74,-58,-66,65,59,-72,-49,78,41,-83,-30,87,20,-90,-8,90,-2,-90,13,89,-23,-85,34,80,-44,-76,53,69,-62,} {90,-20,-85,38,77,-55,-65,69,49,-81,-32,87,13,-90,7,89,-26,-83,44,74,-60,-60,74,44,-83,-26,89,7,-90,13,87,-32,-81,49,69,-65,-55,77,38,-85,-20,90,0,-90,20,85,-38,-77,55,65,-69,-49,81,32,-87,-13,90,-7,-89,26,83,-44,-74,60,} {90,-29,-81,53,64,-74,-41,86,13,-90,15,85,-42,-72,65,52,-80,-26,89,-2,-89,30,79,-55,-62,73,38,-87,-11,90,-17,-84,44,72,-66,-49,82,23,-90,5,89,-32,-78,58,60,-76,-37,87,8,-90,20,85,-46,-69,68,48,-83,-22,90,-7,-88,34,77,-59,} {89,-37,-74,66,46,-85,-11,90,-26,-79,59,55,-80,-22,90,-15,-85,49,64,-76,-32,90,-5,-87,41,72,-69,-42,87,7,-89,30,77,-62,-52,83,17,-90,20,82,-53,-60,78,29,-90,8,86,-44,-68,72,38,-88,-2,89,-34,-73,65,48,-84,-13,90,-23,-81,58,} {87,-44,-65,77,26,-90,20,81,-60,-49,85,7,-89,38,69,-74,-32,90,-13,-83,55,55,-83,-13,90,-32,-74,69,38,-89,7,85,-49,-60,81,20,-90,26,77,-65,-44,87,0,-87,44,65,-77,-26,90,-20,-81,60,49,-85,-7,89,-38,-69,74,32,-90,13,83,-55,} {86,-52,-55,84,5,-87,48,59,-83,-8,89,-44,-62,80,13,-90,41,65,-79,-17,90,-37,-68,77,22,-90,32,72,-73,-26,90,-29,-74,72,30,-90,23,76,-69,-34,90,-20,-78,66,38,-89,15,81,-64,-42,89,-11,-82,60,46,-88,7,85,-58,-49,87,-2,-85,53,} {84,-59,-44,90,-17,-77,72,29,-90,34,66,-81,-11,88,-49,-53,87,-7,-82,64,38,-90,23,74,-73,-22,90,-41,-62,83,5,-86,55,48,-89,13,79,-68,-32,90,-30,-69,78,15,-89,46,58,-85,2,85,-60,-42,89,-20,-76,72,26,-90,37,65,-80,-8,87,-52,} {83,-65,-32,90,-38,-60,85,-7,-81,69,26,-90,44,55,-87,13,77,-74,-20,89,-49,-49,89,-20,-74,77,13,-87,55,44,-90,26,69,-81,-7,85,-60,-38,90,-32,-65,83,0,-83,65,32,-90,38,60,-85,7,81,-69,-26,90,-44,-55,87,-13,-77,74,20,-89,49,} {80,-72,-20,88,-58,-38,90,-41,-55,89,-22,-69,82,-2,-81,72,17,-87,59,37,-90,42,53,-89,23,68,-83,5,79,-74,-15,87,-60,-34,90,-44,-52,90,-26,-66,85,-7,-78,73,13,-86,62,32,-90,46,49,-89,29,65,-84,8,77,-76,-11,85,-64,-30,90,-48,} {79,-76,-7,82,-72,-13,84,-68,-20,87,-64,-26,89,-59,-32,89,-53,-38,90,-48,-44,90,-42,-49,90,-37,-55,90,-30,-60,88,-23,-65,86,-17,-69,85,-11,-74,80,-5,-77,78,2,-81,73,8,-83,72,15,-85,66,22,-87,62,29,-89,58,34,-90,52,41,-90,46,} {77,-81,7,74,-83,13,69,-85,20,65,-87,26,60,-89,32,55,-90,38,49,-90,44,44,-90,49,38,-90,55,32,-89,60,26,-87,65,20,-85,69,13,-83,74,7,-81,77,0,-77,81,-7,-74,83,-13,-69,85,-20,-65,87,-26,-60,89,-32,-55,90,-38,-49,90,-44,} {73,-85,20,62,-90,38,46,-90,55,29,-87,69,8,-79,81,-11,-68,87,-30,-53,90,-48,-37,89,-64,-17,83,-76,2,74,-84,22,60,-89,41,44,-90,58,26,-86,72,7,-78,80,-13,-66,88,-32,-52,90,-49,-34,89,-65,-15,82,-77,5,72,-85,23,59,-90,42,} {72,-87,32,48,-90,60,17,-80,81,-15,-62,90,-46,-34,87,-72,-2,74,-86,30,49,-90,59,20,-82,79,-13,-64,89,-44,-37,88,-69,-5,73,-85,29,52,-90,58,22,-83,78,-11,-65,90,-42,-38,89,-68,-7,76,-84,26,53,-90,55,23,-85,77,-8,-66,89,-41,} {69,-89,44,32,-85,77,-13,-60,90,-55,-20,81,-83,26,49,-90,65,7,-74,87,-38,-38,87,-74,7,65,-90,49,26,-83,81,-20,-55,90,-60,-13,77,-85,32,44,-89,69,0,-69,89,-44,-32,85,-77,13,60,-90,55,20,-81,83,-26,-49,90,-65,-7,74,-87,38,} {66,-90,55,15,-76,87,-42,-30,83,-82,29,44,-88,73,-13,-58,90,-65,-2,68,-90,53,17,-77,87,-41,-32,85,-80,26,46,-89,74,-11,-59,90,-64,-5,69,-89,52,20,-78,86,-38,-34,84,-81,23,48,-89,72,-8,-60,90,-62,-7,72,-90,49,22,-79,85,-37,} {64,-90,65,-2,-62,90,-66,5,60,-90,68,-7,-59,90,-69,8,58,-90,72,-11,-55,89,-72,13,53,-90,74,-15,-52,89,-73,17,49,-89,76,-20,-48,88,-77,22,46,-87,78,-23,-44,87,-79,26,42,-86,81,-29,-41,85,-80,30,38,-84,82,-32,-37,85,-83,34,} {60,-90,74,-20,-44,85,-83,38,26,-77,89,-55,-7,65,-90,69,-13,-49,87,-81,32,32,-81,87,-49,-13,69,-90,65,-7,-55,89,-77,26,38,-83,85,-44,-20,74,-90,60,0,-60,90,-74,20,44,-85,83,-38,-26,77,-89,55,7,-65,90,-69,13,49,-87,81,-32,} {58,-89,81,-37,-23,74,-90,66,-13,-46,84,-85,48,11,-65,90,-73,26,34,-79,89,-59,2,55,-88,80,-38,-22,72,-90,68,-15,-44,85,-86,49,8,-64,90,-76,29,32,-78,90,-60,5,53,-87,82,-41,-20,72,-90,69,-17,-42,83,-87,52,7,-62,89,-77,30,} {53,-86,85,-52,-2,55,-87,84,-49,-5,58,-87,85,-48,-7,59,-88,83,-46,-8,60,-89,82,-44,-11,62,-89,80,-42,-13,64,-90,81,-41,-15,65,-89,79,-38,-17,66,-90,78,-37,-20,68,-90,77,-34,-22,69,-90,76,-32,-23,72,-90,73,-30,-26,72,-90,74,-29,} {49,-83,89,-65,20,32,-74,90,-77,38,13,-60,87,-85,55,-7,-44,81,-90,69,-26,-26,69,-90,81,-44,-7,55,-85,87,-60,13,38,-77,90,-74,32,20,-65,89,-83,49,0,-49,83,-89,65,-20,-32,74,-90,77,-38,-13,60,-87,85,-55,7,44,-81,90,-69,26,} {46,-79,90,-76,41,7,-52,82,-90,72,-34,-13,58,-84,89,-68,29,20,-62,87,-87,64,-22,-26,66,-89,85,-59,15,32,-72,89,-83,53,-8,-38,73,-90,81,-48,2,44,-78,90,-77,42,5,-49,80,-90,74,-37,-11,55,-85,90,-69,30,17,-60,86,-88,65,-23,} {42,-73,90,-85,59,-20,-23,62,-85,90,-72,38,5,-46,77,-90,82,-55,15,29,-65,87,-89,69,-34,-8,49,-79,90,-81,52,-11,-32,68,-88,87,-66,30,13,-53,80,-90,78,-48,7,37,-72,89,-86,64,-26,-17,58,-83,90,-76,44,-2,-41,74,-89,84,-60,22,} {38,-69,87,-89,74,-44,7,32,-65,85,-90,77,-49,13,26,-60,83,-90,81,-55,20,20,-55,81,-90,83,-60,26,13,-49,77,-90,85,-65,32,7,-44,74,-89,87,-69,38,0,-38,69,-87,89,-74,44,-7,-32,65,-85,90,-77,49,-13,-26,60,-83,90,-81,55,-20,} {34,-64,83,-90,85,-65,37,-2,-32,62,-82,90,-84,66,-38,5,30,-60,80,-90,85,-68,41,-7,-29,59,-81,90,-86,69,-42,8,26,-58,79,-90,87,-72,44,-11,-23,55,-78,89,-87,72,-46,13,22,-53,77,-90,88,-74,48,-15,-20,52,-76,89,-89,73,-49,17,} {30,-58,77,-89,89,-81,62,-37,7,23,-52,74,-87,90,-83,66,-42,13,17,-46,69,-84,90,-85,72,-48,20,11,-41,65,-82,90,-87,73,-53,26,5,-34,60,-79,90,-89,78,-59,32,-2,-29,55,-76,88,-90,80,-64,38,-8,-22,49,-72,86,-90,85,-68,44,-15,} {26,-49,69,-83,90,-89,81,-65,44,-20,-7,32,-55,74,-85,90,-87,77,-60,38,-13,-13,38,-60,77,-87,90,-85,74,-55,32,-7,-20,44,-65,81,-89,90,-83,69,-49,26,0,-26,49,-69,83,-90,89,-81,65,-44,20,7,-32,55,-74,85,-90,87,-77,60,-38,13,} {22,-42,60,-73,84,-90,89,-85,74,-59,41,-20,-2,23,-44,62,-76,85,-90,90,-83,72,-58,38,-17,-5,26,-46,64,-77,86,-90,89,-82,72,-55,37,-15,-7,29,-48,65,-78,87,-90,89,-80,69,-53,34,-13,-8,30,-49,66,-79,87,-90,88,-81,68,-52,32,-11,} {17,-34,49,-64,73,-83,89,-90,89,-85,76,-65,52,-37,20,-2,-15,32,-48,62,-74,82,-88,90,-90,84,-77,66,-53,38,-22,5,13,-30,46,-60,72,-80,87,-90,89,-85,78,-68,55,-41,23,-7,-11,29,-44,59,-72,81,-87,90,-90,86,-79,69,-58,42,-26,8,} {13,-26,38,-49,60,-69,77,-83,87,-90,90,-89,85,-81,74,-65,55,-44,32,-20,7,7,-20,32,-44,55,-65,74,-81,85,-89,90,-90,87,-83,77,-69,60,-49,38,-26,13,0,-13,26,-38,49,-60,69,-77,83,-87,90,-90,89,-85,81,-74,65,-55,44,-32,20,-7,} {8,-17,26,-34,42,-49,58,-64,69,-73,79,-83,86,-89,90,-90,90,-89,87,-85,81,-76,72,-65,59,-52,44,-37,29,-20,11,-2,-7,15,-23,32,-41,48,-55,62,-68,74,-78,82,-85,88,-89,90,-90,90,-87,84,-80,77,-72,66,-60,53,-46,38,-30,22,-13,5,} {5,-8,13,-17,22,-26,30,-34,38,-42,46,-49,53,-58,60,-64,66,-69,72,-73,77,-79,80,-83,84,-86,87,-89,90,-90,90,-90,90,-90,89,-89,88,-87,85,-85,82,-81,78,-76,74,-72,68,-65,62,-59,55,-52,48,-44,41,-37,32,-29,23,-20,15,-11,7,-2} 4-point DCT-8: {84,74,55,29,} {74,0,-74,-74,} {55,-74,-29,84,} {29,-74,84,-55,} 8-point DCT-8: {86,85,78,71,60,46,32,17,} {85,60,17,-32,-71,-86,-78,-46,} {78,17,-60,-86,-46,32,85,71,} {71,-32,-86,-17,78,60,-46,-85,} {60,-71,-46,78,32,-85,-17,86,} {46,-86,32,60,-85,17,71,-78,} {32,-78,85,-46,-17,71,-86,60,} {17,-46,71,-85,86,-78,60,-32,} 16-point DCT-8: {90,89,87,83,81,77,72,66,62,56,49,41,33,25,17,9,} {89,81,66,49,25,0,-25,-49,-66,-81,-89,-89,-81,-66,-49,-25,} {87,66,33,-9,-49,-77,-90,-81,-56,-17,25,62,83,89,72,41,} {83,49,-9,-62,-89,-77,-33,25,72,90,66,17,-41,-81,-87,-56,} {81,25,-49,-89,-66,0,66,89,49,-25,-81,-81,-25,49,89,66,} {77,0,-77,-77,0,77,77,0,-77,-77,0,77,77,0,-77,-77,} {72,-25,-90,-33,66,77,-17,-89,-41,62,81,-9,-87,-49,56,83,} {66,-49,-81,25,89,0,-89,-25,81,49,-66,-66,49,81,-25,-89,} {62,-66,-56,72,49,-77,-41,81,33,-83,-25,87,17,-89,-9,90,} {56,-81,-17,90,-25,-77,62,49,-83,-9,89,-33,-72,66,41,-87,} {49,-89,25,66,-81,0,81,-66,-25,89,-49,-49,89,-25,-66,81,} {41,-89,62,17,-81,77,-9,-66,87,-33,-49,90,-56,-25,83,-72,} {33,-81,83,-41,-25,77,-87,49,17,-72,89,-56,-9,66,-90,62,} {25,-66,89,-81,49,0,-49,81,-89,66,-25,-25,66,-89,81,-49,} {17,-49,72,-87,89,-77,56,-25,-9,41,-66,83,-90,81,-62,33,} {9,-25,41,-56,66,-77,83,-89,90,-87,81,-72,62,-49,33,-17,} 32-point DCT-8: {90,90,89,88,88,86,85,84,82,80,78,77,74,72,68,66,63,60,56,53,50,45,42,38,34,30,26,21,17,13,9,4,} {90,88,84,78,72,63,53,42,30,17,4,-9,-21,-34,-45,-56,-66,-74,-80,-85,-88,-90,-89,86,-82,-77,-68,-60,-50,-38,-26,-13,} {89,84,74,60,42,21,0,-21,-42,-60,-74,-84,-89,-89,-84,-74,-60,-42,-21,0,21,42,60,74,84,89,89,84,74,60,42,21,} {88,78,60,34,4,-26,-53,-74,-86,-90,-82,-66,-42,-13,17,45,68,84,90,85,72,50,21,-9,-38,-63,-80,-89,-88,-77,56,-30,} {88,72,42,4,-34,-66,-85,-89,-77,-50,-13,26,60,82,90,80,56,21,-17,-53,-78,-90,-84,-63,-30,9,45,74,88,86,68,38,} {86,63,21,-26,-66,-88,-85,-60,-17,30,68,88,84,56,13,-34,-72,-89,-82,-53,-9,38,74,90,80,50,4,-42,-77,-90,-78,-45,} {85,53,0,-53,-85,-85,-53,0,53,85,85,53,0,-53,-85,-85,-53,0,53,85,85,53,0,-53,-85,-85,-53,0,53,85,85,53,} {84,42,-21,-74,-89,-60,0,60,89,74,21,-42,-84,-84,-42,21,74,89,60,0,-60,-89,-74,-21,42,84,84,42,-21,-74,-89,-60,} {82,30,-42,-86,-77,-17,53,89,68,4,-63,-90,-60,9,72,88,50,-21,-78,-85,-38,34,84,80,26,-45,-88,-74,-13,56,90,66,} {80,17,-60,-90,-50,30,85,74,4,-68,-88,-38,42,88,66,-9,-77,-84,-26,53,90,56,-21,-82,-78,-13,63,89,45,-34,-86,-72,} {78,4,-74,-82,-13,68,85,21,-63,-88,-30,56,89,38,-50,-90,-45,42,90,53,-34,-88,-60,26,86,66,-17,-84,-72,9,80,77,} {77,-9,-84,-66,26,88,53,-42,-90,-38,56,88,21,-68,-82,-4,78,74,-13,-85,-63,30,89,50,-45,-90,-34,60,86,17,-72,-80,} {74,-21,-89,-42,60,84,0,-84,-60,42,89,21,-74,-74,21,89,42,-60,-84,0,84,60,-42,-89,-21,74,74,-21,-89,-42,60,84,} {72,-34,-89,-13,82,56,-53,-84,9,88,38,-68,-74,30,90,17,-80,-60,50,85,-4,-88,-42,66,77,-26,-90,-21,78,63,-45,-86,} {68,-45,-84,17,90,13,-85,-42,72,66,-50,-82,21,90,9,-86,-38,74,63,-53,-80,26,89,4,-88,-34,77,60,-56,-78,30,88,} {66,-56,-74,45,80,-34,-85,21,88,-9,-90,-4,89,17,-86,-30,82,42,-77,-53,68,63,-60,-72,50,78,-38,-84,26,88,-13,-90,} {63,-66,-60,68,56,-72,-53,74,50,-77,-45,78,42,-80,-38,82,34,-84,-30,85,26,-86,-21,88,17,-88,-13,89,9,-90,-4,90,} {60,-74,-42,84,21,-89,0,89,-21,-84,42,74,-60,-60,74,42,-84,-21,89,0,-89,21,84,-42,-74,60,60,-74,-42,84,21,-89,} {56,-80,-21,90,-17,-82,53,60,-78,-26,90,-13,-84,50,63,-77,-30,89,-9,-85,45,66,-74,-34,88,-4,-86,42,68,-72,-38,88,} {53,-85,0,85,-53,-53,85,0,-85,53,53,-85,0,85,-53,-53,85,0,-85,53,53,-85,0,85,-53,-53,85,0,-85,53,53,-85,} {50,-88,21,72,-78,-9,85,-60,-38,90,-34,-63,84,-4,-80,68,26,-89,45,53,-88,17,74,-77,-13,86,-56,-42,90,-30,-66,82,} {45,-90,42,50,-90,38,53,-89,34,56,-88,30,60,-88,26,63,-86,21,66,-85,17,68,-84,13,72,-82,9,74,-80,4,77,-78,} {42,-89,60,21,-84,74,0,-74,84,-21,-60,89,-42,-42,89,-60,-21,84,-74,0,74,-84,21,60,-89,42,42,-89,60,21,-84,74,} {38,-86,74,-9,-63,90,-53,-21,80,-82,26,50,-89,66,4,-72,88,-42,-34,85,-77,13,60,-90,56,17,-78,84,-30,-45,88,-68,} {34,-82,84,-38,-30,80,-85,42,26,-78,86,-45,-21,77,-88,50,17,-74,88,-53,-13,72,-89,56,9,-68,90,-60,-4,66,-90,63,} {30,-77,89,-63,9,50,-85,84,-45,-13,66,-90,74,-26,-34,78,-88,60,-4,-53,86,-82,42,17,-68,90,-72,21,38,-80,88,-56,} {26,-68,89,-80,45,4,-53,84,-88,63,-17,-34,74,-90,77,-38,-13,60,-86,85,-56,9,42,-78,90,-72,30,21,-66,88,-82,50,} {21,-60,84,-89,74,-42,0,42,-74,89,-84,60,-21,-21,60,-84,89,-74,42,0,-42,74,-89,84,-60,21,21,-60,84,-89,74,-42,} {17,-50,74,-88,88,-77,53,-21,-13,45,-72,86,-89,78,56,26,9,-42,68,-85,90,-80,60,-30,-4,38,-66,84,-90,82,-63,34,} {13,-38,60,-77,86,-90,85,-74,56,-34,9,17,-42,63,-78,88,-90,84,72,53,-30,4,21,-45,66,-80,88,-89,82,68,50,-26,} {9,-26,42,-56,68,-78,85,-89,90,-86,80,-72,60,-45,30,-13,-4,21,-38,53,-66,77,-84,88,-90,88,-82,74,-63,50,-34,17,} {4,-13,21,-30,38,-45,53,-60,66,-72,77,-80,84,-86,88,-90,90,-89,88,-85,82,-78,74,-68,63,-56,50,-42,34,-26,17,-9,} 64 points for DCT-8: {90,90,90,90,90,89,90,89,89,88,87,87,86,85,84,85,83,82,80,81,79,78,77,76,73,74,72,72,69,68,66,65,64,62,60,59,58,55,53,52,49,48,46,44,42,41,38,37,34,32,30,29,26,23,22,20,17,15,13,11,8,7,5,2,} {90,90,89,87,85,83,81,77,74,69,65,60,55,49,44,38,32,26,20,13,7,0,-7,-13,-20,-26,-32,-38,-44,-49,-55,-60,-65,-69,-74,-77,-81,-83,-85,-87,-89,-90,-90,-90,-90,-89,-87,-85,-83,-81,-77,-74,-69,-65,-60,-55,-49,-44,-38,-32,-26,-20,-13,-7,} {90,89,86,82,77,72,64,55,46,37,26,15,5,-7,-17,-29,-38,-48,-58,-65,-72,-78,-83,-87,-90,-90,-90,-89,-85,-80,-76,-69,-62,-53,-44,-34,-23,-13,-2,8,20,30,41,49,59,66,74,79,85,87,89,90,90,88,84,81,73,68,60,52,42,32,22,11,} {90,87,82,73,65,53,41,26,11,-5,-20,-34,-48,-60,-72,-79,-85,-90,-90,-89,-84,-78,-69,-59,-46,-32,-17,-2,13,29,42,55,66,76,83,88,90,90,87,80,74,64,52,38,23,8,-7,-22,-37,-49,-62,-72,-81,-86,-89,-90,-89,-85,-77,-68,-58,-44,-30,-15,} {90,85,77,65,49,32,13,-7,-26,-44,-60,-74,-83,-89,-90,-87,-81,-69,-55,-38,-20,0,20,38,55,69,81,87,90,89,83,74,60,44,26,7,-13,-32,-49,-65,-77,-85,-90,-90,-85,-77,-65,-49,-32,-13,7,26,44,60,74,83,89,90,87,81,69,55,38,20,} {89,83,72,53,32,8,-15,-38,-59,-73,-85,-90,-89,-81,-66,-48,-26,-2,22,44,64,78,87,90,87,77,62,42,20,-5,-29,-49,-68,-80,-89,-90,-84,-74,-58,-37,-13,11,34,55,72,85,90,90,82,69,52,30,7,-17,-41,-60,-76,-86,-90,-88,-79,-65,-46,-23,} {90,81,64,41,13,-15,-42,-65,-80,-89,-89,-79,-62,-38,-11,17,44,66,82,90,89,78,60,37,8,-20,-46,-68,-83,-90,-88,-77,-59,-34,-7,22,48,69,85,90,87,76,58,32,5,-23,-49,-72,-84,-90,-87,-73,-55,-30,-2,26,52,72,85,90,86,74,53,29,} {89,77,55,26,-7,-38,-65,-83,-90,-85,-69,-44,-13,20,49,74,87,90,81,60,32,0,-32,-60,-81,-90,-87,-74,-49,-20,13,44,69,85,90,83,65,38,7,-26,-55,-77,-89,-89,-77,-55,-26,7,38,65,83,90,85,69,44,13,-20,-49,-74,-87,-90,-81,-60,-32,} {89,74,46,11,-26,-59,-80,-90,-85,-64,-32,5,41,69,87,89,77,52,17,-20,-53,-78,-90,-86,-68,-38,-2,34,65,84,90,81,58,23,-13,-48,-73,-89,-88,-72,-44,-8,29,60,82,90,83,62,30,-7,-42,-72,-87,-90,-76,-49,-15,22,55,79,90,85,66,37,} {88,69,37,-5,-44,-73,-89,-85,-64,-29,13,52,79,90,82,58,20,-22,-59,-83,-90,-78,-49,-11,30,65,86,90,74,42,2,-38,-72,-89,-87,-68,-34,7,46,76,90,84,62,26,-15,-53,-81,-90,-80,-55,-17,23,60,85,90,77,48,8,-32,-66,-87,-89,-72,-41,} {87,65,26,-20,-60,-85,-89,-69,-32,13,55,83,90,74,38,-7,-49,-81,-90,-77,-44,0,44,77,90,81,49,7,-38,-74,-90,-83,-55,-13,32,69,89,85,60,20,-26,-65,-87,-87,-65,-26,20,60,85,89,69,32,-13,-55,-83,-90,-74,-38,7,49,81,90,77,44,} {87,60,15,-34,-74,-90,-79,-44,5,52,83,90,68,26,-23,-66,-89,-85,-53,-7,42,78,90,73,37,-13,-59,-86,-87,-62,-17,32,72,90,81,46,-2,-49,-82,-89,-69,-29,22,65,89,84,55,8,-41,-77,-90,-76,-38,11,58,85,88,64,20,-30,-72,-90,-80,-48,} {86,55,5,-48,-83,-89,-62,-13,41,79,90,68,22,-32,-73,-90,-74,-30,23,69,90,78,38,-15,-64,-89,-82,-46,7,58,87,85,53,2,-49,-85,-88,-60,-11,42,81,89,66,20,-34,-76,-90,-72,-29,26,72,90,77,37,-17,-65,-90,-80,-44,8,59,87,84,52,} {85,49,-7,-60,-89,-81,-38,20,69,90,74,26,-32,-77,-90,-65,-13,44,83,87,55,0,-55,-87,-83,-44,13,65,90,77,32,-26,-74,-90,-69,-20,38,81,89,60,7,-49,-85,-85,-49,7,60,89,81,38,-20,-69,-90,-74,-26,32,77,90,65,13,-44,-83,-87,-55,} {84,44,-17,-72,-90,-66,-11,49,87,82,38,-23,-73,-90,-62,-5,55,89,79,32,-30,-78,-89,-58,2,60,89,76,26,-37,-80,-87,-52,8,65,90,72,20,-42,-85,-85,-46,15,69,90,68,13,-48,-86,-83,-41,22,74,90,64,7,-53,-88,-81,-34,29,77,90,59,} {85,38,-29,-79,-87,-48,17,74,89,58,-7,-66,-90,-65,-5,59,90,72,15,-49,-88,-78,-26,41,84,83,37,-30,-81,-87,-46,20,73,90,55,-8,-68,-90,-64,-2,60,90,72,13,-52,-89,-77,-23,42,85,82,34,-32,-80,-86,-44,22,76,89,53,-11,-69,-90,-62,} {83,32,-38,-85,-81,-26,44,87,77,20,-49,-89,-74,-13,55,90,69,7,-60,-90,-65,0,65,90,60,-7,-69,-90,-55,13,74,89,49,-20,-77,-87,-44,26,81,85,38,-32,-83,-83,-32,38,85,81,26,-44,-87,-77,-20,49,89,74,13,-55,-90,-69,-7,60,90,65,} {82,26,-48,-90,-69,-2,66,90,52,-22,-81,-85,-30,44,89,72,7,-64,-90,-55,17,78,85,34,-41,-87,-73,-11,60,90,59,-13,-76,-87,-38,37,86,77,15,-58,-90,-62,8,74,88,42,-32,-84,-79,-20,53,90,65,-5,-72,-89,-46,29,83,80,23,-49,-89,-68,} {80,20,-58,-90,-55,22,82,81,17,-59,-90,-53,23,83,79,15,-60,-90,-52,26,85,78,13,-62,-90,-49,29,84,77,11,-64,-90,-48,30,85,76,8,-65,-89,-46,32,86,73,7,-66,-90,-44,34,87,74,5,-68,-89,-42,37,87,72,2,-69,-89,-41,38,88,72,} {81,13,-65,-89,-38,44,90,60,-20,-83,-77,-7,69,87,32,-49,-90,-55,26,85,74,0,-74,-85,-26,55,90,49,-32,-87,-69,7,77,83,20,-60,-90,-44,38,89,65,-13,-81,-81,-13,65,89,38,-44,-90,-60,20,83,77,7,-69,-87,-32,49,90,55,-26,-85,-74,} {79,7,-72,-84,-20,64,89,32,-53,-90,-44,42,90,55,-30,-88,-65,17,85,74,-5,-78,-81,-8,72,85,22,-62,-89,-34,52,90,46,-41,-90,-58,29,87,66,-15,-83,-73,2,77,80,11,-69,-86,-23,60,90,37,-49,-90,-48,38,89,59,-26,-87,-68,13,82,76,} {78,0,-78,-78,0,78,78,0,-78,-78,0,78,78,0,-78,-78,0,78,78,0,-78,-78,0,78,78,0,-78,-78,0,78,78,0,-78,-78,0,78,78,0,-78,-78,0,78,78,0,-78,-78,0,78,78,0,-78,-78,0,78,78,0,-78,-78,0,78,78,0,-78,-78,} {77,-7,-83,-69,20,87,60,-32,-90,-49,44,90,38,-55,-89,-26,65,85,13,-74,-81,0,81,74,-13,-85,-65,26,89,55,-38,-90,-44,49,90,32,-60,-87,-20,69,83,7,-77,-77,7,83,69,-20,-87,-60,32,90,49,-44,-90,-38,55,89,26,-65,-85,-13,74,81,} {76,-13,-87,-59,38,90,37,-60,-86,-11,77,73,-15,-87,-58,41,90,34,-62,-85,-8,78,74,-17,-88,-55,42,90,32,-64,-84,-7,79,72,-20,-89,-53,44,90,30,-65,-85,-5,81,72,-22,-89,-52,46,90,29,-66,-83,-2,80,69,-23,-90,-49,48,89,26,-68,-82,} {73,-20,-90,-46,55,87,8,-81,-68,30,90,37,-64,-83,2,84,60,-41,-90,-26,72,78,-13,-88,-52,49,89,15,-77,-72,23,90,42,-59,-85,-5,82,65,-34,-90,-32,66,80,-7,-86,-58,44,89,22,-74,-76,17,89,48,-53,-87,-11,79,69,-29,-90,-38,62,85,} {74,-26,-90,-32,69,77,-20,-90,-38,65,81,-13,-89,-44,60,83,-7,-87,-49,55,85,0,-85,-55,49,87,7,-83,-60,44,89,13,-81,-65,38,90,20,-77,-69,32,90,26,-74,-74,26,90,32,-69,-77,20,90,38,-65,-81,13,89,44,-60,-83,7,87,49,-55,-85,} {72,-32,-90,-17,81,62,-46,-87,-2,86,49,-59,-82,13,89,37,-69,-73,29,90,22,-78,-65,42,89,7,-84,-53,55,85,-8,-89,-41,66,77,-23,-90,-26,76,68,-38,-90,-11,83,58,-52,-85,5,88,44,-64,-79,20,90,30,-74,-72,34,90,15,-80,-60,48,87,} {72,-38,-89,-2,87,42,-68,-74,34,90,7,-86,-46,65,76,-30,-90,-11,84,49,-62,-78,26,90,15,-83,-53,59,81,-22,-90,-20,80,58,-55,-82,17,90,23,-79,-60,52,85,-13,-90,-29,77,64,-48,-85,8,89,32,-73,-66,44,87,-5,-89,-37,72,69,-41,-88,} {69,-44,-85,13,90,20,-83,-49,65,74,-38,-87,7,90,26,-81,-55,60,77,-32,-89,0,89,32,-77,-60,55,81,-26,-90,-7,87,38,-74,-65,49,83,-20,-90,-13,85,44,-69,-69,44,85,-13,-90,-20,83,49,-65,-74,38,87,-7,-90,-26,81,55,-60,-77,32,89,} {68,-49,-80,29,89,-5,-90,-20,84,42,-74,-62,58,77,-37,-87,13,90,11,-87,-34,78,55,-64,-72,44,85,-22,-90,-2,90,26,-82,-48,69,66,-52,-81,30,89,-7,-90,-17,85,41,-73,-60,59,76,-38,-86,15,90,8,-88,-32,79,53,-65,-72,46,83,-23,-89,} {66,-55,-76,42,83,-29,-88,13,90,2,-90,-17,87,32,-80,-46,74,59,-64,-69,52,78,-38,-84,23,89,-8,-90,-7,90,22,-85,-37,79,49,-72,-62,60,72,-48,-81,34,86,-20,-89,5,90,11,-89,-26,85,41,-77,-53,68,65,-58,-73,44,82,-30,-87,15,90,} {65,-60,-69,55,74,-49,-77,44,81,-38,-83,32,85,-26,-87,20,89,-13,-90,7,90,0,-90,-7,90,13,-89,-20,87,26,-85,-32,83,38,-81,-44,77,49,-74,-55,69,60,-65,-65,60,69,-55,-74,49,77,-44,-81,38,83,-32,-85,26,87,-20,-89,13,90,-7,-90,} {64,-65,-62,66,60,-68,-59,69,58,-72,-55,72,53,-74,-52,73,49,-76,-48,77,46,-78,-44,79,42,-81,-41,80,38,-82,-37,83,34,-85,-32,84,30,-85,-29,86,26,-87,-23,87,22,-88,-20,89,17,-89,-15,90,13,-89,-11,90,8,-90,-7,90,5,-90,-2,90,} {62,-69,-53,76,44,-80,-34,85,23,-89,-13,90,2,-90,8,90,-20,-87,30,83,-41,-78,49,72,-59,-65,66,58,-74,-48,79,38,-85,-29,87,17,-89,-7,90,-5,-90,15,88,-26,-84,37,81,-46,-73,55,68,-64,-60,72,52,-77,-42,82,32,-86,-22,89,11,-90,} {60,-74,-44,83,26,-89,-7,90,-13,-87,32,81,-49,-69,65,55,-77,-38,85,20,-90,0,90,-20,-85,38,77,-55,-65,69,49,-81,-32,87,13,-90,7,89,-26,-83,44,74,-60,-60,74,44,-83,-26,89,7,-90,13,87,-32,-81,49,69,-65,-55,77,38,-85,-20,90,} {59,-77,-34,88,7,-90,22,83,-48,-68,69,46,-85,-20,90,-8,-87,37,76,-60,-58,78,32,-89,-5,90,-23,-82,49,66,-72,-44,84,17,-90,11,87,-38,-73,62,55,-79,-30,89,2,-89,26,80,-52,-65,72,42,-85,-15,90,-13,-86,41,74,-64,-53,81,29,-90,} {58,-81,-23,90,-13,-84,48,65,-73,-34,89,-2,-88,38,72,-68,-44,86,8,-90,29,78,-60,-53,82,20,-90,17,83,-52,-62,77,30,-89,7,87,-42,-69,72,41,-87,-5,90,-32,-76,64,49,-85,-15,90,-22,-80,55,59,-79,-26,90,-11,-85,46,66,-74,-37,89,} {55,-83,-13,90,-32,-74,69,38,-89,7,85,-49,-60,81,20,-90,26,77,-65,-44,87,0,-87,44,65,-77,-26,90,-20,-81,60,49,-85,-7,89,-38,-69,74,32,-90,13,83,-55,-55,83,13,-90,32,74,-69,-38,89,-7,-85,49,60,-81,-20,90,-26,-77,65,44,-87,} {53,-85,-2,87,-49,-58,85,7,-88,46,60,-82,-11,89,-42,-64,81,15,-89,38,66,-78,-20,90,-34,-69,76,23,-90,30,72,-74,-29,90,-26,-73,72,32,-90,22,77,-68,-37,90,-17,-79,65,41,-90,13,80,-62,-44,89,-8,-83,59,48,-87,5,84,-55,-52,86,} {52,-87,8,80,-65,-37,90,-26,-72,76,20,-89,42,60,-85,-2,85,-58,-46,89,-15,-78,69,30,-90,32,68,-79,-13,89,-48,-55,86,-5,-83,62,41,-90,22,73,-74,-23,90,-38,-64,82,7,-87,53,49,-88,11,81,-66,-34,90,-29,-72,77,17,-90,44,59,-84,} {49,-89,20,74,-77,-13,87,-55,-44,90,-26,-69,81,7,-85,60,38,-90,32,65,-83,0,83,-65,-32,90,-38,-60,85,-7,-81,69,26,-90,44,55,-87,13,77,-74,-20,89,-49,-49,89,-20,-74,77,13,-87,55,44,-90,26,69,-81,-7,85,-60,-38,90,-32,-65,83,} {48,-90,30,64,-85,11,76,-77,-8,84,-65,-29,89,-49,-46,90,-32,-62,86,-13,-73,78,7,-85,66,26,-90,52,44,-90,34,60,-87,15,74,-79,-5,83,-68,-23,89,-53,-42,90,-37,-59,87,-17,-72,81,2,-82,69,22,-89,55,41,-90,38,58,-88,20,72,-80,} {46,-90,41,52,-90,34,58,-89,29,62,-87,22,66,-85,15,72,-83,8,73,-81,2,78,-77,-5,80,-74,-11,85,-69,-17,86,-65,-23,88,-60,-30,90,-55,-37,90,-49,-42,90,-44,-48,90,-38,-53,89,-32,-59,89,-26,-64,87,-20,-68,84,-13,-72,82,-7,-76,79,} {44,-90,49,38,-90,55,32,-89,60,26,-87,65,20,-85,69,13,-83,74,7,-81,77,0,-77,81,-7,-74,83,-13,-69,85,-20,-65,87,-26,-60,89,-32,-55,90,-38,-49,90,-44,-44,90,-49,-38,90,-55,-32,89,-60,-26,87,-65,-20,85,-69,-13,83,-74,-7,81,-77,} {42,-90,59,23,-85,72,5,-77,82,-15,-65,89,-34,-49,90,-52,-32,88,-66,-13,80,-78,7,72,-86,26,58,-90,44,41,-89,60,22,-84,74,2,-76,83,-17,-64,89,-37,-48,90,-53,-30,87,-68,-11,81,-79,8,69,-87,29,55,-90,46,38,-90,62,20,-85,73,} {41,-89,66,8,-77,85,-23,-55,90,-53,-26,84,-76,7,68,-89,38,42,-90,65,11,-78,83,-22,-58,90,-52,-29,85,-73,5,69,-88,37,44,-89,64,13,-79,82,-20,-59,90,-49,-30,86,-74,2,72,-87,34,46,-90,62,15,-81,80,-17,-60,90,-48,-32,87,-72,} {38,-87,74,-7,-65,90,-49,-26,83,-81,20,55,-90,60,13,-77,85,-32,-44,89,-69,0,69,-89,44,32,-85,77,-13,-60,90,-55,-20,81,-83,26,49,-90,65,7,-74,87,-38,-38,87,-74,7,65,-90,49,26,-83,81,-20,-55,90,-60,-13,77,-85,32,44,-89,69,} {37,-85,79,-22,-49,90,-72,7,62,-90,60,8,-72,89,-48,-23,81,-84,34,38,-86,78,-20,-52,89,-69,5,64,-90,59,11,-74,89,-46,-26,80,-85,32,41,-87,77,-17,-53,90,-68,2,65,-90,58,13,-73,88,-44,-29,82,-83,30,42,-87,76,-15,-55,90,-66,} {34,-83,85,-37,-32,82,-84,38,30,-80,85,-41,-29,81,-86,42,26,-79,87,-44,-23,78,-87,46,22,-77,88,-48,-20,76,-89,49,17,-73,89,-52,-15,74,-90,53,13,-72,89,-55,-11,72,-90,58,8,-69,90,-59,-7,68,-90,60,5,-66,90,-62,-2,65,-90,64,} {32,-81,87,-49,-13,69,-90,65,-7,-55,89,-77,26,38,-83,85,-44,-20,74,-90,60,0,-60,90,-74,20,44,-85,83,-38,-26,77,-89,55,7,-65,90,-69,13,49,-87,81,-32,-32,81,-87,49,13,-69,90,-65,7,55,-89,77,-26,-38,83,-85,44,20,-74,90,-60,} {30,-77,89,-62,7,52,-87,83,-42,-17,69,-90,72,-20,-41,82,-87,53,5,-60,90,-78,32,29,-76,90,-64,8,49,-86,85,-44,-15,68,-90,72,-22,-38,80,-88,55,2,-59,89,-79,34,26,-73,90,-65,11,48,-85,84,-46,-13,66,-90,74,-23,-37,81,-89,58,} {29,-74,90,-72,26,30,-73,90,-72,23,32,-76,90,-69,22,34,-77,90,-68,20,37,-78,90,-66,17,38,-79,89,-65,15,41,-81,90,-64,13,42,-80,89,-62,11,44,-82,89,-60,8,46,-83,88,-59,7,48,-85,87,-58,5,49,-84,87,-55,2,52,-85,86,-53,} {26,-69,90,-81,44,7,-55,85,-87,60,-13,-38,77,-90,74,-32,-20,65,-89,83,-49,0,49,-83,89,-65,20,32,-74,90,-77,38,13,-60,87,-85,55,-7,-44,81,-90,69,-26,-26,69,-90,81,-44,-7,55,-85,87,-60,13,38,-77,90,-74,32,20,-65,89,-83,49,} {23,-65,88,-86,60,-17,-30,69,-90,85,-55,11,37,-74,90,-80,49,-5,-42,77,-90,78,-44,-2,48,-81,90,-73,38,8,-53,83,-89,72,-32,-15,59,-85,89,-66,26,22,-64,87,-87,62,-20,-29,68,-89,84,-58,13,34,-72,90,-82,52,-7,-41,76,-90,79,-46,} {22,-60,84,-89,74,-41,-2,44,-76,90,-83,58,-17,-26,64,-86,89,-72,37,7,-48,78,-90,80,-53,13,30,-66,87,-88,68,-32,-11,52,-81,90,-79,49,-8,-34,69,-89,87,-65,29,15,-55,82,-90,77,-46,5,38,-72,90,-85,62,-23,-20,59,-85,90,-73,42,} {20,-55,81,-90,83,-60,26,13,-49,77,-90,85,-65,32,7,-44,74,-89,87,-69,38,0,-38,69,-87,89,-74,44,-7,-32,65,-85,90,-77,49,-13,-26,60,-83,90,-81,55,-20,-20,55,-81,90,-83,60,-26,-13,49,-77,90,-85,65,-32,-7,44,-74,89,-87,69,-38,} {17,-49,73,-89,89,-76,52,-20,-15,48,-74,88,-90,77,-53,22,13,-46,72,-87,89,-78,55,-23,-11,44,-72,87,-90,79,-58,26,8,-42,69,-86,90,-81,59,-29,-7,41,-68,85,-90,80,-60,30,5,-38,66,-84,90,-82,62,-32,-2,37,-65,85,-90,83,-64,34,} {15,-44,68,-85,90,-86,72,-49,22,8,-38,64,-80,90,-88,76,-55,29,2,-32,59,-78,89,-90,79,-60,34,-5,-26,53,-73,87,-90,82,-65,41,-11,-20,48,-72,85,-90,84,-69,46,-17,-13,42,-66,83,-90,87,-74,52,-23,-7,37,-62,81,-89,89,-77,58,-30,} {13,-38,60,-77,87,-90,85,-74,55,-32,7,20,-44,65,-81,89,-90,83,-69,49,-26,0,26,-49,69,-83,90,-89,81,-65,44,-20,-7,32,-55,74,-85,90,-87,77,-60,38,-13,-13,38,-60,77,-87,90,-85,74,-55,32,-7,-20,44,-65,81,-89,90,-83,69,-49,26,} {11,-32,52,-68,81,-88,90,-87,79,-66,49,-30,8,13,-34,53,-69,80,-89,90,-87,78,-65,48,-29,7,15,-37,55,-72,82,-89,90,-86,77,-64,46,-26,5,17,-38,58,-72,83,-90,90,-85,76,-62,44,-23,2,20,-41,59,-74,85,-89,90,-84,73,-60,42,-22,} {8,-26,42,-58,69,-79,86,-90,90,-87,81,-72,59,-44,29,-11,-7,23,-41,55,-68,78,-85,89,-90,87,-80,72,-60,46,-30,13,5,-22,38,-53,66,-77,84,-90,90,-88,82,-74,62,-48,32,-15,-2,20,-37,52,-65,76,-85,89,-90,89,-83,73,-64,49,-34,17,} {7,-20,32,-44,55,-65,74,-81,85,-89,90,-90,87,-83,77,-69,60,-49,38,-26,13,0,-13,26,-38,49,-60,69,-77,83,-87,90,-90,89,-85,81,-74,65,-55,44,-32,20,-7,-7,20,-32,44,-55,65,-74,81,-85,89,-90,90,-87,83,-77,69,-60,49,-38,26,-13,} {5, -13, 22, -30, 38, -46, 53, -60, 66, -72, 77, -80, 84, -87, 90, -90, 90, -89, 88, -85, 82, -78, 74, -68, 62, -55, 48, -41, 32, -23, 15, -7, -2, 11, -20, 29, -37, 44, -52, 59, -65, 72, -76, 81, -85, 87, -89, 90, -90, 90, -89, 86, -83, 79, -73, 69, -64, 58, -49, 42, -34, 26, -17, 8,} {2, -7, 11, -15, 20, -23, 29, -32, 37, -41, 44, -48, 52, -55, 59, -62, 65, -68, 72, -74, 76, -78, 81, -82, 85, -85, 87, -88, 89, -89, 90, -90, 90, -90, 90, -90, 89, -87, 86, -84, 83, -80, 79, -77, 73, -72, 69, -66, 64, -60, 58, -53, 49, -46, 42, -38, 34, -30, 26, -22, 17, -13, 8, -5,}
[0099] By trying all possible combinations of offset values for a selected set of M unique numerical values, after minimizing the cost value, T2 is output as the B-bit N-point main conversion core.
[0100] When deriving a 2N-point DST-1 conversion core, the set of M unique numerical values for constructing the 2N-point DST-1 core matrix is restricted to be the same as the set of M unique numerical values for constructing the N-point DST-7 and / or N-point DCT-8 core matrix. In one embodiment, M is equal to N. In one embodiment, one of the 8-bit DST-1 conversion cores shown below can be used. For example, for an 8-point DST-1, there are 4 unique numerical values including 28, 55, 74, 84, which is the same as the set of 4 unique numerical values for constructing the 4-point DST-7 and 4-point DCT-8 cores using the above-described embodiment where M is equal to N.
[0101] The 8-bit DST-1 conversion core may include the following. 4-point DST-l: {48,77,77,48,} {77,48,-48,-77,} {77,-48,-48,77,} {48,-77,77,-48,} 8-point DST-l: {29,55,74,84,84,74,55,29,} {55,84,74,29,-29,-74,-84,-55,} {74,74,0,-74,-74,0,74,74,} {84,29,-74,-55,55,74,-29,-84,} {84,-29,-74,55,55,-74,-29,84,} {74,-74,0,74,-74,0,74,-74,} {55,-84,74,-29,-29,74,-84,55,} {29,-55,74,-84,84,-74,55,-29,} 16-point DST-l: {17,32,46,60,71,78,85,86,86,85,78,71,60,46,32,17,} {32,60,78,86,85,71,46,17,-17,-46,-71,-85,-86,-78,-60,-32,} {46,78,86,71,32,-17,-60,-85,-85,-60,-17,32,71,86,78,46,} {60,86,71,17,-46,-85,-78,-32,32,78,85,46,-17,-71,-86,-60,} {71,85,32,-46,-86,-60,17,78,78,17,-60,-86,-46,32,85,71,} {78,71,-17,-85,-60,32,86,46,-46,-86,-32,60,85,17,-71,-78,} {85,46,-60,-78,17,86,32,-71,-71,32,86,17,-78,-60,46,85,} {86,17,-85,-32,78,46,-71,-60,60,71,-46,-78,32,85,-17,-86,} {86,-17,-85,32,78,-46,-71,60,60,-71,-46,78,32,-85,-17,86,} {85,-46,-60,78,17,-86,32,71,-71,-32,86,-17,-78,60,46,-85,} {78,-71,-17,85,-60,-32,86,-46,-46,86,-32,-60,85,-17,-71,78,} {71,-85,32,46,-86,60,17,-78,78,-17,-60,86,-46,-32,85,-71,} {60,-86,71,-17,-46,85,-78,32,32,-78,85,-46,-17,71,-86,60,} {46,-78,86,-71,32,17,-60,85,-85,60,-17,-32,71,-86,78,-46,} {32,-60,78,-86,85,-71,46,-17,-17,46,-71,85,-86,78,-60,32,} {17,-32,46,-60,71,-78,85,-86,86,-85,78,-71,60,-46,32,-17,} 32-point DST-l: {9,17,25,33,41,49,56,62,66,72,77,81,83,87,89,90,90,89,87,83,81,77,72,66,62,56,49,41,33,25,17,9,} {17,33,49,62,72,81,87,90,89,83,77,66,56,41,25,9,-9,-25,-41,-56,-66,-77,-83,-89,-90,-87,-81,-72,-62,-49,-33,-17,} {25,49,66,81,89,89,81,66,49,25,0,-25,-49,-66,-81,-89,-89,-81,-66,-49,-25,0,25,49,66,81,89,89,81,66,49,25,} {33,62,81,90,83,66,41,9,-25,-56,-77,-89,-87,-72,-49,-17,17,49,72,87,89,77,56,25,-9,-41,-66,-83,-90,-81,-62,-33,} {41,72,89,83,62,25,-17,-56,-81,-90,-77,-49,-9,33,66,87,87,66,33,-9,-49,-77,-90,-81,-56,-17,25,62,83,89,72,41,} {49,81,89,66,25,-25,-66,-89,-81,-49,0,49,81,89,66,25,-25,-66,-89,-81,-49,0,49,81,89,66,25,-25,-66,-89,-81,-49,} {56,87,81,41,-17,-66,-90,-72,-25,33,77,89,62,9,-49,-83,-83,-49,9,62,89,77,33,-25,-72,-90,-66,-17,41,81,87,56,} {62,90,66,9,-56,-89,-72,-17,49,87,77,25,-41,-83,-81,-33,33,81,83,41,-25,-77,-87,-49,17,72,89,56,-9,-66,-90,-62,} {66,89,49,-25,-81,-81,-25,49,89,66,0,-66,-89,-49,25,81,81,25,-49,-89,-66,0,66,89,49,-25,-81,-81,-25,49,89,66,} {72,83,25,-56,-90,-49,33,87,66,-9,-77,-81,-17,62,89,41,-41,-89,-62,17,81,77,9,-66,-87,-33,49,90,56,-25,-83,-72,} {77,77,0,-77,-77,0,77,77,0,-77,-77,0,77,77,0,-77,-77,0,77,77,0,-77,-77,0,77,77,0,-77,-77,0,77,77,} {81,66,-25,-89,-49,49,89,25,-66,-81,0,81,66,-25,-89,-49,49,89,25,-66,-81,0,81,66,-25,-89,-49,49,89,25,-66,-81,} {83,56,-49,-87,-9,81,62,-41,-89,-17,77,66,-33,-90,-25,72,72,-25,-90,-33,66,77,-17,-89,-41,62,81,-9,-87,-49,56,83,} {87,41,-66,-72,33,89,9,-83,-49,62,77,-25,-90,-17,81,56,-56,-81,17,90,25,-77,-62,49,83,-9,-89,-33,72,66,-41,-87,} {89,25,-81,-49,66,66,-49,-81,25,89,0,-89,-25,81,49,-66,-66,49,81,-25,-89,0,89,25,-81,-49,66,66,-49,-81,25,89,} {90,9,-89,-17,87,25,-83,-33,81,41,-77,-49,72,56,-66,-62,62,66,-56,-72,49,77,-41,-81,33,83,-25,-87,17,89,-9,-90,} {90,-9,-89,17,87,-25,-83,33,81,-41,-77,49,72,-56,-66,62,62,-66,-56,72,49,-77,-41,81,33,-83,-25,87,17,-89,-9,90,} {89,-25,-81,49,66,-66,-49,81,25,-89,0,89,-25,-81,49,66,-66,-49,81,25,-89,0,89,-25,-81,49,66,-66,-49,81,25,-89,} {87,-41,-66,72,33,-89,9,83,-49,-62,77,25,-90,17,81,-56,-56,81,17,-90,25,77,-62,-49,83,9,-89,33,72,-66,-41,87,} {83,-56,-49,87,-9,-81,62,41,-89,17,77,-66,-33,90,-25,-72,72,25,-90,33,66,-77,-17,89,-41,-62,81,9,-87,49,56,-83,} {81,-66,-25,89,-49,-49,89,-25,-66,81,0,-81,66,25,-89,49,49,-89,25,66,-81,0,81,-66,-25,89,-49,-49,89,-25,-66,81,} {77,-77,0,77,-77,0,77,-77,0,77,-77,0,77,-77,0,77,-77,0,77,-77,0,77,-77,0,77,-77,0,77,-77,0,77,-77,} {72,-83,25,56,-90,49,33,-87,66,9,-77,81,-17,-62,89,-41,-41,89,-62,-17,81,-77,9,66,-87,33,49,-90,56,25,-83,72,} {66,-89,49,25,-81,81,-25,-49,89,-66,0,66,-89,49,25,-81,81,-25,-49,89,-66,0,66,-89,49,25,-81,81,-25,-49,89,-66,} {62,-90,66,-9,-56,89,-72,17,49,-87,77,-25,-41,83,-81,33,33,-81,83,-41,-25,77,-87,49,17,-72,89,-56,-9,66,-90,62,} {56,-87,81,-41,-17,66,-90,72,-25,-33,77,-89,62,-9,-49,83,-83,49,9,-62,89,-77,33,25,-72,90,-66,17,41,-81,87,-56,} {49,-81,89,-66,25,25,-66,89,-81,49,0,-49,81,-89,66,-25,-25,66,-89,81,-49,0,49,-81,89,-66,25,25,-66,89,-81,49,} {41,-72,89,-83,62,-25,-17,56,-81,90,-77,49,-9,-33,66,-87,87,-66,33,9,-49,77,-90,81,-56,17,25,-62,83,-89,72,-41,} {33,-62,81,-90,83,-66,41,-9,-25,56,-77,89,-87,72,-49,17,17,-49,72,-87,89,77,56,-25,-9,41,-66,83,-90,81,-62,33,} {25,-49,66,-81,89,-89,81,-66,49,-25,0,25,-49,66,-81,89,-89,81,-66,49,-25,0,25,-49,66,-81,89,-89,81,-66,49,-25,} {17,-33,49,-62,72,-81,87,-90,89,-83,77,-66,56,-41,25,-9,-9,25,-41,56,-66,77,-83,89,-90,87,-81,72,-62,49,-33,17,} {9,-17,25,-33,41,-49,56,-62,66,-72,77,-81,83,-87,89,-90,90,-89,87,-83,81,-77,72,-66,62,-56,49,41,33,-25,17,-9,} 64-point DST-l: {4,9,13,17,21,26,30,34,38,42,45,50,53,56,60,63,66,68,72,74,77,78,80,82,84,85,86,88,88,89,90,90,90,90,89,88,88,86,85,84,82,80,78,77,74,72,68,66,63,60,56,53,50,45,42,38,34,30,26,21,17,13,9,4,} {9,17,26,34,42,50,56,63,68,74,78,82,85,88,89,90,90,88,86,84,80,77,72,66,60,53,45,38,30,21,13,4,-4,-13,-21,-30,-38,-45,-53,-60,-66,-72,-77,-80,-84,-86,-88,-90,-90,-89,-88,-85,-82,-78,-74,-68,-63,-56,-50,-42,-34,-26,-17,-9,} {13,26,38,50,60,68,77,82,86,89,90,88,85,80,74,66,56,45,34,21,9,-4,-17,-30,-42,-53,-63,-72,-78,-84,-88,-90,-90,-88,-84,-78,-72,-63,-53,-42,-30,-17,-4,9,21,34,45,56,66,74,80,85,88,90,89,86,82,77,68,60,50,38,26,13,} {17,34,50,63,74,82,88,90,88,84,77,66,53,38,21,4,-13,-30,-45,-60,-72,-80,-86,-90,-89,-85,-78,-68,-56,-42,-26,-9,9,26,42,56,68,78,85,89,90,86,80,72,60,45,30,13,-4,-21,-38,-53,-66,-77,-84,-88,-90,-88,-82,-74,-63,-50,-34,-17,} {21,42,60,74,84,89,89,84,74,60,42,21,0,-21,-42,-60,-74,-84,-89,-89,-84,-74,-60,-42,-21,0,21,42,60,74,84,89,89,84,74,60,42,21,0,-21,-42,-60,-74,-84,-89,-89,-84,-74,-60,-42,-21,0,21,42,60,74,84,89,89,84,74,60,42,21,} {26,50,68,82,89,88,80,66,45,21,-4,-30,-53,-72,-84,-90,-88,-78,-63,-42,-17,9,34,56,74,85,90,86,77,60,38,13,-13,-38,-60,-77,-86,-90,-85,-74,-56,-34,-9,17,42,63,78,88,90,84,72,53,30,4,-21,-45,-66,-80,-88,-89,-82,-68,-50,-26,} {30,56,77,88,89,80,63,38,9,-21,-50,-72,-85,-90,-84,-68,-45,-17,13,42,66,82,90,86,74,53,26,-4,-34,-60,-78,-88,-88,-78,-60,-34,-4,26,53,74,86,90,82,66,42,13,-17,-45,-68,-84,-90,-85,-72,-50,-21,9,38,63,80,89,88,77,56,30,} {34,63,82,90,84,66,38,4,-30,-60,-80,-90,-85,-68,-42,-9,26,56,78,89,86,72,45,13,-21,-53,-77,-88,-88,-74,-50,-17,17,50,74,88,88,77,53,21,-13,-45,-72,-86,-89,-78,-56,-26,9,42,68,85,90,80,60,30,-4,-38,-66,-84,-90,-82,-63,-34,} {38,68,86,88,74,45,9,-30,-63,-84,-90,-78,-53,-17,21,56,80,90,82,60,26,-13,-50,-77,-89,-85,-66,-34,4,42,72,88,88,72,42,4,-34,-66,-85,-89,-77,-50,-13,26,60,82,90,80,56,21,-17,-53,-78,-90,-84,-63,-30,9,45,74,88,86,68,38,} {42,74,89,84,60,21,-21,-60,-84,-89,-74,-42,0,42,74,89,84,60,21,-21,-60,-84,-89,-74,-42,0,42,74,89,84,60,21,-21,-60,-84,-89,-74,-42,0,42,74,89,84,60,21,-21,-60,-84,-89,-74,-42,0,42,74,89,84,60,21,-21,-60,-84,-89,-74,-42,} {45,78,90,77,42,-4,-50,-80,-90,-74,-38,9,53,82,89,72,34,-13,-56,-84,-88,-68,-30,17,60,85,88,66,26,-21,-63,-86,-86,-63,-21,26,66,88,85,60,17,-30,-68,-88,-84,-56,-13,34,72,89,82,53,9,-38,-74,-90,-80,-50,-4,42,77,90,78,45,} {50,82,88,66,21,-30,-72,-90,-78,-42,9,56,85,86,60,13,-38,-77,-90,-74,-34,17,63,88,84,53,4,-45,-80,-89,-68,-26,26,68,89,80,45,-4,-53,-84,-88,-63,-17,34,74,90,77,38,-13,-60,-86,-85,-56,-9,42,78,90,72,30,-21,-66,-88,-82,-50,} {53,85,85,53,0,-53,-85,-85,-53,0,53,85,85,53,0,-53,-85,-85,-53,0,53,85,85,53,0,-53,-85,-85,-53,0,53,85,85,53,0,-53,-85,-85,-53,0,53,85,85,53,0,-53,-85,-85,-53,0,53,85,85,53,0,-53,-85,-85,-53,0,53,85,85,53,} {56,88,80,38,-21,-72,-90,-68,-17,42,82,86,53,-4,-60,-88,-78,-34,26,74,90,66,13,-45,-84,-85,-50,9,63,89,77,30,-30,-77,-89,-63,-9,50,85,84,45,-13,-66,-90,-74,-26,34,78,88,60,4,-53,-86,-82,-42,17,68,90,72,21,-38,-80,-88,-56,} {60,89,74,21,-42,-84,-84,-42,21,74,89,60,0,-60,-89,-74,-21,42,84,84,42,-21,-74,-89,-60,0,60,89,74,21,-42,-84,-84,-42,21,74,89,60,0,-60,-89,-74,-21,42,84,84,42,-21,-74,-89,-60,0,60,89,74,21,-42,-84,-84,-42,21,74,89,60,} {63,90,66,4,-60,-90,-68,-9,56,89,72,13,-53,-88,-74,-17,50,88,77,21,-45,-86,-78,-26,42,85,80,30,-38,-84,-82,-34,34,82,84,38,-30,-80,-85,-42,26,78,86,45,-21,-77,-88,-50,17,74,88,53,-13,-72,-89,-56,9,68,90,60,-4,-66,-90,-63,} {66,90,56,-13,-74,-88,-45,26,80,84,34,-38,-85,-78,-21,50,88,72,9,-60,-90,-63,4,68,89,53,-17,-77,-86,-42,30,82,82,30,-42,-86,-77,-17,53,89,68,4,-63,-90,-60,9,72,88,50,-21,-78,-85,-38,34,84,80,26,-45,-88,-74,-13,56,90,66,} {68,88,45,-30,-84,-78,-17,56,90,60,-13,-77,-85,-34,42,88,72,4,-66,-89,-50,26,82,80,21,-53,-90,-63,9,74,86,38,-38,-86,-74,-9,63,90,53,-21,-80,-82,-26,50,89,66,-4,-72,-88,-42,34,85,77,13,-60,-90,-56,17,78,84,30,-45,-88,-68,} {72,86,34,-45,-89,-63,13,78,82,21,-56,-90,-53,26,84,77,9,-66,-88,-42,38,88,68,-4,-74,-85,-30,50,90,60,-17,-80,-80,-17,60,90,50,-30,-85,-74,-4,68,88,38,-42,-88,-66,9,77,84,26,-53,-90,-56,21,82,78,13,-63,-89,-45,34,86,72,} {74,84,21,-60,-89,-42,42,89,60,-21,-84,-74,0,74,84,21,-60,-89,-42,42,89,60,-21,-84,-74,0,74,84,21,-60,-89,-42,42,89,60,-21,-84,-74,0,74,84,21,-60,-89,-42,42,89,60,-21,-84,-74,0,74,84,21,-60,-89,-42,42,89,60,-21,-84,-74,} {77,80,9,-72,-84,-17,66,86,26,-60,-88,-34,53,90,42,-45,-90,-50,38,89,56,-30,-88,-63,21,85,68,-13,-82,-74,4,78,78,4,-74,-82,-13,68,85,21,-63,-88,-30,56,89,38,-50,-90,-45,42,90,53,-34,-88,-60,26,86,66,-17,-84,-72,9,80,77,} {78,77,-4,-80,-74,9,82,72,-13,-84,-68,17,85,66,-21,-86,-63,26,88,60,-30,-88,-56,34,89,53,-38,-90,-50,42,90,45,-45,-90,-42,50,90,38,-53,-89,-34,56,88,30,-60,-88,-26,63,86,21,-66,-85,-17,68,84,13,-72,-82,-9,74,80,4,-77,-78,} {80,72,-17,-86,-60,34,90,45,-50,-89,-30,63,85,13,-74,-78,4,82,68,-21,-88,-56,38,90,42,-53,-88,-26,66,84,9,-77,-77,9,84,66,-26,-88,-53,42,90,38,-56,-88,-21,68,82,4,-78,-74,13,85,63,-30,-89,-50,45,90,34,-60,-86,-17,72,80,} {82,66,-30,-90,-42,56,86,13,-77,-74,17,88,53,-45,-89,-26,68,80,-4,-84,-63,34,90,38,-60,-85,-9,78,72,-21,-88,-50,50,88,21,-72,-78,9,85,60,-38,-90,-34,63,84,4,-80,-68,26,89,45,-53,-88,-17,74,77,-13,-86,-56,42,90,30,-66,-82,} {84,60,-42,-89,-21,74,74,-21,-89,-42,60,84,0,-84,-60,42,89,21,-74,-74,21,89,42,-60,-84,0,84,60,-42,-89,-21,74,74,-21,-89,-42,60,84,0,-84,-60,42,89,21,-74,-74,21,89,42,-60,-84,0,84,60,-42,-89,-21,74,74,-21,-89,-42,60,84,} {85,53,-53,-85,0,85,53,-53,-85,0,85,53,-53,-85,0,85,53,-53,-85,0,85,53,-53,-85,0,85,53,-53,-85,0,85,53,-53,-85,0,85,53,-53,-85,0,85,53,-53,-85,0,85,53,-53,-85,0,85,53,-53,-85,0,85,53,-53,-85,0,85,53,-53,-85,} {86,45,-63,-78,21,90,26,-77,-66,42,88,4,-85,-50,60,80,-17,-90,-30,74,68,-38,-88,-9,84,53,-56,-82,13,89,34,-72,-72,34,89,13,-82,-56,53,84,-9,-88,-38,68,74,-30,-90,-17,80,60,-50,-85,4,88,42,-66,-77,26,90,21,-78,-63,45,86,} {88,38,-72,-68,42,86,-4,-88,-34,74,66,-45,-85,9,89,30,-77,-63,50,84,-13,-90,-26,78,60,-53,-82,17,90,21,-80,-56,56,80,-21,-90,-17,82,53,-60,-78,26,90,13,-84,-50,63,77,-30,-89,-9,85,45,-66,-74,34,88,4,-86,-42,68,72,-38,-88,} {88,30,-78,-56,60,77,-34,-88,4,89,26,-80,-53,63,74,-38,-86,9,90,21,-82,-50,66,72,-42,-85,13,90,17,-84,-45,68,68,-45,-84,17,90,13,-85,-42,72,66,-50,-82,21,90,9,-86,-38,74,63,-53,-80,26,89,4,-88,-34,77,60,-56,-78,30,88,} {89,21,-84,-42,74,60,-60,-74,42,84,-21,-89,0,89,21,-84,-42,74,60,-60,-74,42,84,-21,-89,0,89,21,-84,-42,74,60,-60,-74,42,84,-21,-89,0,89,21,-84,-42,74,60,-60,-74,42,84,-21,-89,0,89,21,-84,-42,74,60,-60,-74,42,84,-21,-89,} {90,13,-88,-26,84,38,-78,-50,72,60,-63,-68,53,77,-42,-82,30,86,-17,-89,4,90,9,-88,-21,85,34,-80,-45,74,56,-66,-66,56,74,-45,-80,34,85,-21,-88,9,90,4,-89,-17,86,30,-82,-42,77,53,-68,-63,60,72,-50,-78,38,84,-26,-88,13,90,} {90,4,-90,-9,89,13,-88,-17,88,21,-86,-26,85,30,-84,-34,82,38,-80,-42,78,45,-77,-50,74,53,-72,-56,68,60,-66,-63,63,66,-60,-68,56,72,-53,-74,50,77,-45,-78,42,80,-38,-82,34,84,-30,-85,26,86,-21,-88,17,88,-13,-89,9,90,-4,-90,} {90,-4,-90,9,89,-13,-88,17,88,-21,-86,26,85,-30,-84,34,82,-38,-80,42,78,-45,-77,50,74,-53,-72,56,68,-60,-66,63,63,-66,-60,68,56,-72,-53,74,50,-77,-45,78,42,-80,-38,82,34,-84,-30,85,26,-86,-21,88,17,-88,-13,89,9,-90,-4,90,} {90,-13,-88,26,84,-38,-78,50,72,-60,-63,68,53,-77,-42,82,30,-86,-17,89,4,-90,9,88,-21,-85,34,80,-45,-74,56,66,-66,-56,74,45,-80,-34,85,21,-88,-9,90,-4,-89,17,86,-30,-82,42,77,-53,-68,63,60,-72,-50,78,38,-84,-26,88,13,-90,} {89,-21,-84,42,74,-60,-60,74,42,-84,-21,89,0,-89,21,84,-42,-74,60,60,-74,-42,84,21,-89,0,89,-21,-84,42,74,-60,-60,74,42,-84,-21,89,0,-89,21,84,-42,-74,60,60,-74,-42,84,21,-89,0,89,-21,-84,42,74,-60,-60,74,42,-84,-21,89,} {88,-30,-78,56,60,-77,-34,88,4,-89,26,80,-53,-63,74,38,-86,-9,90,-21,-82,50,66,-72,-42,85,13,-90,17,84,-45,-68,68,45,-84,-17,90,-13,-85,42,72,-66,-50,82,21,-90,9,86,-38,-74,63,53,-80,-26,89,-4,-88,34,77,-60,-56,78,30,-88,} {88,-38,-72,68,42,-86,-4,88,-34,-74,66,45,-85,-9,89,-30,-77,63,50,-84,-13,90,-26,-78,60,53,-82,-17,90,-21,-80,56,56,-80,-21,90,-17,-82,53,60,-78,-26,90,-13,-84,50,63,-77,-30,89,-9,-85,45,66,-74,-34,88,-4,-86,42,68,-72,-38,88,} {86,-45,-63,78,21,-90,26,77,-66,-42,88,-4,-85,50,60,-80,-17,90,-30,-74,68,38,-88,9,84,-53,-56,82,13,-89,34,72,-72,-34,89,-13,-82,56,53,-84,-9,88,-38,-68,74,30,-90,17,80,-60,-50,85,4,-88,42,66,-77,-26,90,-21,-78,63,45,-86,} {85,-53,-53,85,0,-85,53,53,-85,0,85,-53,-53,85,0,-85,53,53,-85,0,85,-53,-53,85,0,-85,53,53,-85,0,85,-53,-53,85,0,-85,53,53,-85,0,85,-53,-53,85,0,-85,53,53,-85,0,85,-53,-53,85,0,-85,53,53,-85,0,85,-53,-53,85,} {84,-60,-42,89,-21,-74,74,21,-89,42,60,-84,0,84,-60,-42,89,-21,-74,74,21,-89,42,60,-84,0,84,-60,-42,89,-21,-74,74,21,-89,42,60,-84,0,84,-60,-42,89,-21,-74,74,21,-89,42,60,-84,0,84,-60,-42,89,-21,-74,74,21,-89,42,60,-84,} {82,-66,-30,90,-42,-56,86,-13,-77,74,17,-88,53,45,-89,26,68,-80,-4,84,-63,-34,90,-38,-60,85,-9,-78,72,21,-88,50,50,-88,21,72,-78,-9,85,-60,-38,90,-34,-63,84,-4,-80,68,26,-89,45,53,-88,17,74,-77,-13,86,-56,-42,90,-30,-66,82,} {80,-72,-17,86,-60,-34,90,-45,-50,89,-30,-63,85,-13,-74,78,4,-82,68,21,-88,56,38,-90,42,53,-88,26,66,-84,9,77,-77,-9,84,-66,-26,88,-53,-42,90,-38,-56,88,-21,-68,82,-4,-78,74,13,-85,63,30,-89,50,45,-90,34,60,-86,17,72,-80,} {78,-77,-4,80,-74,-9,82,-72,-13,84,-68,-17,85,-66,-21,86,-63,-26,88,-60,-30,88,-56,-34,89,-53,-38,90,-50,-42,90,-45,-45,90,-42,-50,90,-38,-53,89,-34,-56,88,-30,-60,88,-26,-63,86,-21,-66,85,-17,-68,84,-13,-72,82,-9,-74,80,-4,-77,78,} {77,-80,9,72,-84,17,66,-86,26,60,-88,34,53,-90,42,45,-90,50,38,-89,56,30,-88,63,21,-85,68,13,-82,74,4,-78,78,-4,-74,82,-13,-68,85,-21,-63,88,-30,-56,89,-38,-50,90,-45,-42,90,-53,-34,88,-60,-26,86,-66,-17,84,-72,-9,80,-77,} {74,-84,21,60,-89,42,42,-89,60,21,-84,74,0,-74,84,-21,-60,89,-42,-42,89,-60,-21,84,-74,0,74,-84,21,60,-89,42,42,-89,60,21,-84,74,0,-74,84,-21,-60,89,-42,-42,89,-60,-21,84,-74,0,74,-84,21,60,-89,42,42,-89,60,21,-84,74,} {72,-86,34,45,-89,63,13,-78,82,-21,-56,90,-53,-26,84,-77,9,66,-88,42,38,-88,68,4,-74,85,-30,-50,90,-60,-17,80,-80,17,60,-90,50,30,-85,74,-4,-68,88,-38,-42,88,-66,-9,77,-84,26,53,-90,56,21,-82,78,-13,-63,89,-45,-34,86,-72,} {68,-88,45,30,-84,78,-17,-56,90,-60,-13,77,-85,34,42,-88,72,-4,-66,89,-50,-26,82,-80,21,53,-90,63,9,-74,86,-38,-38,86,-74,9,63,-90,53,21,-80,82,-26,-50,89,-66,-4,72,-88,42,34,-85,77,-13,-60,90,-56,-17,78,-84,30,45,-88,68,} {66,-90,56,13,-74,88,-45,-26,80,-84,34,38,-85,78,-21,-50,88,-72,9,60,-90,63,4,-68,89,-53,-17,77,-86,42,30,-82,82,-30,-42,86,-77,17,53,-89,68,-4,-63,90,-60,-9,72,-88,50,21,-78,85,-38,-34,84,-80,26,45,-88,74,-13,-56,90,-66,} {63,-90,66,-4,-60,90,-68,9,56,-89,72,-13,-53,88,-74,17,50,-88,77,-21,-45,86,-78,26,42,-85,80,-30,-38,84,-82,34,34,-82,84,-38,-30,80,-85,42,26,-78,86,-45,-21,77,-88,50,17,-74,88,-53,-13,72,-89,56,9,-68,90,-60,-4,66,-90,63,} {60,-89,74,-21,-42,84,-84,42,21,-74,89,-60,0,60,-89,74,-21,-42,84,-84,42,21,-74,89,-60,0,60,-89,74,-21,-42,84,-84,42,21,-74,89,-60,0,60,-89,74,-21,-42,84,-84,42,21,-74,89,-60,0,60,-89,74,-21,-42,84,-84,42,21,-74,89,-60,} {56,-88,80,-38,-21,72,-90,68,-17,-42,82,-86,53,4,-60,88,-78,34,26,-74,90,-66,13,45,-84,85,-50,-9,63,-89,77,-30,-30,77,-89,63,-9,-50,85,-84,45,13,-66,90,-74,26,34,-78,88,-60,4,53,-86,82,-42,-17,68,-90,72,-21,-38,80,-88,56,} {53,-85,85,-53,0,53,-85,85,-53,0,53,-85,85,-53,0,53,-85,85,-53,0,53,-85,85,-53,0,53,-85,85,-53,0,53,-85,85,-53,0,53,-85,85,-53,0,53,-85,85,-53,0,53,-85,85,-53,0,53,-85,85,-53,0,53,-85,85,-53,0,53,-85,85,-53,} {50,-82,88,-66,21,30,-72,90,-78,42,9,-56,85,-86,60,-13,-38,77,-90,74,-34,-17,63,-88,84,-53,4,45,-80,89,-68,26,26,-68,89,-80,45,4,-53,84,-88,63,-17,-34,74,-90,77,-38,-13,60,-86,85,-56,9,42,-78,90,-72,30,21,-66,88,-82,50,} {45,-78,90,-77,42,4,-50,80,-90,74,-38,-9,53,-82,89,-72,34,13,-56,84,-88,68,-30,-17,60,-85,88,-66,26,21,-63,86,-86,63,-21,-26,66,-88,85,-60,17,30,-68,88,-84,56,-13,-34,72,-89,82,-53,9,38,-74,90,-80,50,-4,-42,77,-90,78,-45,} {42,-74,89,-84,60,-21,-21,60,-84,89,-74,42,0,-42,74,-89,84,-60,21,21,-60,84,-89,74,-42,0,42,-74,89,-84,60,-21,-21,60,-84,89,-74,42,0,-42,74,-89,84,-60,21,21,-60,84,-89,74,-42,0,42,-74,89,-84,60,-21,-21,60,-84,89,-74,42,} {38,-68,86,-88,74,-45,9,30,-63,84,-90,78,-53,17,21,-56,80,-90,82,-60,26,13,-50,77,-89,85,-66,34,4,-42,72,-88,88,-72,42,-4,-34,66,-85,89,-77,50,-13,-26,60,-82,90,-80,56,-21,-17,53,-78,90,-84,63,-30,-9,45,-74,88,-86,68,-38,} {34,-63,82,-90,84,-66,38,-4,-30,60,-80,90,-85,68,-42,9,26,-56,78,-89,86,-72,45,-13,-21,53,-77,88,-88,74,-50,17,17,-50,74,-88,88,-77,53,-21,-13,45,-72,86,-89,78,-56,26,9,-42,68,-85,90,-80,60,-30,-4,38,-66,84,-90,82,-63,34,} {30,-56,77,-88,89,-80,63,-38,9,21,-50,72,-85,90,-84,68,-45,17,13,-42,66,-82,90,-86,74,-53,26,4,-34,60,-78,88,-88,78,-60,34,-4,-26,53,-74,86,-90,82,-66,42,-13,-17,45,-68,84,-90,85,-72,50,-21,-9,38,-63,80,-89,88,-77,56,-30,} {26,-50,68,-82,89,-88,80,-66,45,-21,-4,30,-53,72,-84,90,-88,78,-63,42,-17,-9,34,-56,74,-85,90,-86,77,-60,38,-13,-13,38,-60,77,-86,90,-85,74,-56,34,-9,-17,42,-63,78,-88,90,-84,72,-53,30,-4,-21,45,-66,80,-88,89,-82,68,-50,26,} {21,-42,60,-74,84,-89,89,-84,74,-60,42,-21,0,21,-42,60,-74,84,-89,89,-84,74,-60,42,-21,0,21,-42,60,-74,84,-89,89,-84,74,-60,42,-21,0,21,-42,60,-74,84,-89,89,-84,74,-60,42,-21,0,21,-42,60,-74,84,-89,89,-84,74,-60,42,-21,} {17,-34,50,-63,74,-82,88,-90,88,-84,77,-66,53,-38,21,-4,-13,30,-45,60,-72,80,-86,90,-89,85,-78,68,-56,42,-26,9,9,-26,42,-56,68,-78,85,-89,90,-86,80,-72,60,-45,30,-13,-4,21,-38,53,-66,77,-84,88,-90,88,-82,74,-63,50,-34,17,} {13,-26,38,-50,60,-68,77,-82,86,-89,90,-88,85,-80,74,-66,56,-45,34,-21,9,4,-17,30,-42,53,-63,72,-78,84,-88,90,-90,88,-84,78,-72,63,-53,42,-30,17,-4,-9,21,-34,45,-56,66,-74,80,-85,88,-90,89,-86,82,-77,68,-60,50,-38,26,-13,} {9,-17,26,-34,42,-50,56,-63,68,-74,78,-82,85,-88,89,-90,90,-88,86,-84,80,-77,72,-66,60,-53,45,-38,30,-21,13,-4,-4,13,-21,30,-38,45,-53,60,-66,72,-77,80,-84,86,-88,90,-90,89,-88,85,-82,78,-74,68,-63,56,-50,42,-34,26,-17,9,} {4,-9,13,-17,21,-26,30,-34,38,-42,45,-50,53,-56,60,-63,66,-68,72,-74,77,-78,80,-82,84,-85,86,-88,88,-89,90,-90,90,-90,89,-88,88,-86,85,-84,82,-80,78,-77,74,-72,68,-66,63,-60,56,-53,50,-45,42,-38,34,-30,26,-21,17,-13,9,-4,}.
[0102] In one embodiment, one or more 8-bit DCT-5 conversion cores can be used for the main conversion. An example of an 8-bit DCT-5 conversion core is shown below. 4-point DCT-5: {47,69,69,69,Indeed {69,61,-21,-87,} {69,-21,-87,61,} {69,-87,61,-21,} 8-point DCT-5: {47,66,66,66,66,66,66,66,} {66,86,62,29,-10,-47,-76,-91,} {66,62,-10,-76,-91,-47,29,86,} {66,29,-76,-76,29,93,29,-76,} {66,-10,-91,29,86,-47,-76,62,} {66,-47,-47,93,-47,-47,93,-47,} {66,-76,29,29,-76,93,-76,29,} {66,-91,86,-76,62,-47,29,-10,} 16-point DCT-5: {45,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,} {65,89,85,75,64,48,33,15,-5,-23,-39,-56,-71,-81,-88,-91,} {65,85,64,33,-5,-39,-71,-88,-91,-81,-56,-23,15,48,75,89,} {65,75,33,-23,-71,-91,-81,-39,15,64,89,85,48,-5,-56,-88,} {65,64,-5,-71,-91,-56,15,75,89,48,-23,-81,-88,-39,33,85,} {65,48,-39,-91,-56,33,89,64,-23,-88,-71,15,85,75,-5,-81,} {65,33,-71,-81,15,89,48,-56,-88,-5,85,64,-39,-91,-23,75,} {65,15,-88,-39,75,64,-56,-81,33,89,-5,-91,-23,85,48,-71,} {65,-5,-91,15,89,-23,-88,33,85,-39,-81,48,75,-56,-71,64,} {65,-23,-81,64,48,-88,-5,89,-39,-71,75,33,-91,15,85,-56,} {65,-39,-56,89,-23,-71,85,-5,-81,75,15,-88,64,33,-91,48,} {65,-56,-23,85,-81,15,64,-91,48,33,-88,75,-5,-71,89,-39,} {65,-71,15,48,-88,85,-39,-23,75,-91,64,-5,-56,89,-81,33,} {65,-81,48,-5,-39,75,-91,85,-56,15,33,-71,89,-88,64,-23,} {65,-88,75,-56,33,-5,-23,48,-71,85,-91,89,-81,64,-39,15,} {65,-91,89,-88,85,-81,75,-71,64,-56,48,-39,33,-23,15,-5,} 32-point DCT-5: {46,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,} {65,91,89,87,84,80,75,70,64,57,49,42,33,25,16,7,-2,-12,-20,-29,-38,-46,-53,-60,-67,-72,-78,-82,-86,-89,-90,-91,} {65,89,84,75,64,49,33,16,-2,-20,-38,-53,-67,-78,-86,-90,-91,-89,-82,-72,-60,-46,-29,-12,7,25,42,57,70,80,87,91,} {65,87,75,57,33,7,-20,-46,-67,-82,-90,-90,-82,-67,-46,-20,7,33,57,75,87,92,87,75,57,33,7,-20,-46,-67,-82,-90,} {65,84,64,33,-2,-38,-67,-86,-91,-82,-60,-29,7,42,70,87,91,80,57,25,-12,-46,-72,-89,-90,-78,-53,-20,16,49,75,89,} {65,80,49,7,-38,-72,-90,-86,-60,-20,25,64,87,89,70,33,-12,-53,-82,-91,-78,-46,-2,42,75,91,84,57,16,-29,-67,-89,} {65,75,33,-20,-67,-90,-82,-46,7,57,87,87,57,7,-46,-82,-90,-67,-20,33,75,92,75,33,-20,-67,-90,-82,-46,7,57,87,} {65,70,16,-46,-86,-86,-46,16,70,92,70,16,-46,-86,-86,-46,16,70,92,70,16,-46,-86,-86,-46,16,70,92,70,16,-46,-86,} {65,64,-2,-67,-91,-60,7,70,91,57,-12,-72,-90,-53,16,75,89,49,-20,-78,-89,-46,25,80,87,42,-29,-82,-86,-38,33,84,} {65,57,-20,-82,-82,-20,57,92,57,-20,-82,-82,-20,57,92,57,-20,-82,-82,-20,57,92,57,-20,-82,-82,-20,57,92,57,-20,-82,} {65,49,-38,-90,-60,25,87,70,-12,-82,-78,-2,75,84,16,-67,-89,-29,57,91,42,-46,-91,-53,33,89,64,-20,-86,-72,7,80,} {65,42,-53,-90,-29,64,87,16,-72,-82,-2,80,75,-12,-86,-67,25,89,57,-38,-91,-46,49,91,33,-60,-89,-20,70,84,7,-78,} {65,33,-67,-82,7,87,57,-46,-90,-20,75,75,-20,-90,-46,57,87,7,-82,-67,33,92,33,-67,-82,7,87,57,-46,-90,-20,75,} {65,25,-78,-67,42,89,7,-86,-53,57,84,-12,-90,-38,70,75,-29,-91,-20,80,64,-46,-89,-2,87,49,-60,-82,16,91,33,-72,} {65,16,-86,-46,70,70,-46,-86,16,92,16,-86,-46,70,70,-46,-86,16,92,16,-86,-46,70,70,-46,-86,16,92,16,-86,-46,70,} {65,7,-90,-20,87,33,-82,-46,75,57,-67,-67,57,75,-46,-82,33,87,-20,-90,7,92,7,-90,-20,87,33,-82,-46,75,57,-67,} {65,-2,-91,7,91,-12,-90,16,89,-20,-89,25,87,-29,-86,33,84,-38,-82,42,80,-46,-78,49,75,-53,-72,57,70,-60,-67,64,} {65,-12,-89,33,80,-53,-67,70,49,-82,-29,89,7,-91,16,87,-38,-78,57,64,-72,-46,84,25,-90,-2,91,-20,-86,42,75,-60,} {65,-20,-82,57,57,-82,-20,92,-20,-82,57,57,-82,-20,92,-20,-82,57,57,-82,-20,92,-20,-82,57,57,-82,-20,92,-20,-82,57,} {65,-29,-72,75,25,-91,33,70,-78,-20,91,-38,-67,80,16,-90,42,64,-82,-12,89,-46,-60,84,7,-89,49,57,-86,-2,87,-53,} {65,-38,-60,87,-12,-78,75,16,-89,57,42,-91,33,64,-86,7,80,-72,-20,89,-53,-46,91,-29,-67,84,-2,-82,70,25,-90,49,} {65,-46,-46,92,-46,-46,92,-46,-46,92,-46,-46,92,-46,-46,92,-46,-46,92,-46,-46,92,-46,-46,92,-46,-46,92,-46,-46,92,-46,} {65,-53,-29,87,-72,-2,75,-86,25,57,-91,49,33,-89,70,7,-78,84,-20,-60,91,-46,-38,89,-67,-12,80,-82,16,64,-90,42,} {65,-60,-12,75,-89,42,33,-86,80,-20,-53,91,-67,-2,70,-90,49,25,-82,84,-29,-46,89,-72,7,64,-91,57,16,-78,87,-38,} {65,-67,7,57,-90,75,-20,-46,87,-82,33,33,-82,87,-46,-20,75,-90,57,7,-67,92,-67,7,57,-90,75,-20,-46,87,-82,33,} {65,-72,25,33,-78,91,-67,16,42,-82,89,-60,7,49,-86,87,-53,-2,57,-89,84,-46,-12,64,-90,80,-38,-20,70,-91,75,-29,} {65,-78,42,7,-53,84,-90,70,-29,-20,64,-89,87,-60,16,33,-72,91,-82,49,-2,-46,80,-91,75,-38,-12,57,-86,89,-67,25,} {65,-82,57,-20,-20,57,-82,92,-82,57,-20,-20,57,-82,92,-82,57,-20,-20,57,-82,92,-82,57,-20,-20,57,-82,92,-82,57,-20,} {65,-86,70,-46,16,16,-46,70,-86,92,-86,70,-46,16,16,-46,70,-86,92,-86,70,-46,16,16,-46,70,-86,92,-86,70,-46,16,} {65,-89,80,-67,49,-29,7,16,-38,57,-72,84,-90,91,-86,75,-60,42,-20,-2,25,-46,64,-78,87,-91,89,-82,70,-53,33,-12,} {65,-90,87,-82,75,-67,57,-46,33,-20,7,7,-20,33,-46,57,-67,75,-82,87,-90,92,-90,87,-82,75,-67,57,-46,33,-20,7,} {65,-91,91,-90,89,-89,87,-86,84,-82,80,-78,75,-72,70,-67,64,-60,57,-53,49,-46,42,-38,33,-29,25,-20,16,-12,7,-2,} 64 points for DCT-5: {44,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,} {64,91,90,90,90,88,87,85,84,82,80,78,75,72,70,66,64,61,58,54,50,46,42,39,34,29,25,22,17,13,7,4,-1,-6,-10,-15,-19,-24,-28,-32,-36,-40,-44,-48,-51,-55,-59,-63,-65,-68,-70,-73,-77,-79,-81,-83,-85,-86,-88,-89,-90,-90,-91,-91,} {64,90,90,87,84,80,75,70,64,58,50,42,34,25,17,7,-1,-10,-19,-28,-36,-44,-51,-59,-65,-70,-77,-81,-85,-88,-90,-91,-91,-90,-89,-86,-83,-79,-73,-68,-63,-55,-48,-40,-32,-24,-15,-6,4,13,22,29,39,46,54,61,66,72,78,82,85,88,90,91,} {64,90,87,82,75,66,58,46,34,22,7,-6,-19,-32,-44,-55,-65,-73,-81,-86,-90,-91,-90,-88,-83,-77,-68,-59,-48,-36,-24,-10,4,17,29,42,54,64,72,80,85,90,91,90,88,84,78,70,61,50,39,25,13,-1,-15,-28,-40,-51,-63,-70,-79,-85,-89,-91,} {64,90,84,75,64,50,34,17,-1,-19,-36,-51,-65,-77,-85,-90,-91,-89,-83,-73,-63,-48,-32,-15,4,22,39,54,66,78,85,90,91,88,82,72,61,46,29,13,-6,-24,-40,-55,-68,-79,-86,-90,-91,-88,-81,-70,-59,-44,-28,-10,7,25,42,58,70,80,87,90,} {64,88,80,66,50,29,7,-15,-36,-55,-70,-83,-90,-91,-86,-77,-63,-44,-24,-1,22,42,61,75,85,90,90,84,72,58,39,17,-6,-28,-48,-65,-79,-88,-91,-89,-81,-68,-51,-32,-10,13,34,54,70,82,90,91,87,78,64,46,25,4,-19,-40,-59,-73,-85,-90,} {64,87,75,58,34,7,-19,-44,-65,-81,-90,-90,-83,-68,-48,-24,4,29,54,72,85,91,88,78,61,39,13,-15,-40,-63,-79,-89,-91,-85,-70,-51,-28,-1,25,50,70,84,90,90,80,64,42,17,-10,-36,-59,-77,-88,-91,-86,-73,-55,-32,-6,22,46,66,82,90,} {64,85,70,46,17,-15,-44,-68,-85,-91,-86,-70,-48,-19,13,42,66,84,91,87,72,50,22,-10,-40,-65,-83,-91,-88,-73,-51,-24,7,39,64,82,90,88,75,54,25,-6,-36,-63,-81,-90,-89,-77,-55,-28,4,34,61,80,90,90,78,58,29,-1,-32,-59,-79,-90,} {64,84,64,34,-1,-36,-65,-85,-91,-83,-63,-32,4,39,66,85,91,82,61,29,-6,-40,-68,-86,-91,-81,-59,-28,7,42,70,87,90,80,58,25,-10,-44,-70,-88,-90,-79,-55,-24,13,46,72,88,90,78,54,22,-15,-48,-73,-89,-90,-77,-51,-19,17,50,75,90,} {64,82,58,22,-19,-55,-81,-91,-83,-59,-24,17,54,80,91,84,61,25,-15,-51,-79,-91,-85,-63,-28,13,50,78,90,85,64,29,-10,-48,-77,-90,-86,-65,-32,7,46,75,90,87,66,34,-6,-44,-73,-90,-88,-68,-36,4,42,72,90,88,70,39,-1,-40,-70,-89,} {64,80,50,7,-36,-70,-90,-86,-63,-24,22,61,85,90,72,39,-6,-48,-79,-91,-81,-51,-10,34,70,90,87,64,25,-19,-59,-85,-90,-73,-40,4,46,78,91,82,54,13,-32,-68,-89,-88,-65,-28,17,58,84,90,75,42,-1,-44,-77,-91,-83,-55,-15,29,66,88,} {64,78,42,-6,-51,-83,-90,-70,-32,17,61,87,88,64,22,-28,-68,-90,-85,-55,-10,39,75,91,80,46,-1,-48,-81,-91,-73,-36,13,58,85,90,66,25,-24,-65,-89,-86,-59,-15,34,72,90,82,50,4,-44,-79,-91,-77,-40,7,54,84,90,70,29,-19,-63,-88,} {64,75,34,-19,-65,-90,-83,-48,4,54,85,88,61,13,-40,-79,-91,-70,-28,25,70,90,80,42,-10,-59,-88,-86,-55,-6,46,82,90,66,22,-32,-73,-91,-77,-36,17,64,90,84,50,-1,-51,-85,-89,-63,-15,39,78,91,72,29,-24,-68,-90,-81,-44,7,58,87,} {64,72,25,-32,-77,-91,-68,-19,39,80,90,64,13,-44,-83,-89,-59,-6,50,85,87,54,-1,-55,-88,-85,-48,7,61,90,82,42,-15,-65,-90,-79,-36,22,70,91,75,29,-28,-73,-91,-70,-24,34,78,90,66,17,-40,-81,-90,-63,-10,46,84,88,58,4,-51,-86,} {64,70,17,-44,-85,-86,-48,13,66,91,72,22,-40,-83,-88,-51,7,64,90,75,25,-36,-81,-89,-55,4,61,90,78,29,-32,-79,-90,-59,-1,58,90,80,34,-28,-77,-90,-63,-6,54,88,82,39,-24,-73,-91,-65,-10,50,87,84,42,-19,-70,-91,-68,-15,46,85,} {64,66,7,-55,-90,-77,-24,42,85,84,39,-28,-79,-89,-51,13,70,91,64,4,-59,-90,-73,-19,46,87,82,34,-32,-81,-88,-48,17,72,90,61,-1,-63,-91,-70,-15,50,88,80,29,-36,-83,-86,-44,22,75,90,58,-6,-65,-91,-68,-10,54,90,78,25,-40,-85,} {64,64,-1,-65,-91,-63,4,66,91,61,-6,-68,-91,-59,7,70,90,58,-10,-70,-90,-55,13,72,90,54,-15,-73,-90,-51,17,75,90,50,-19,-77,-89,-48,22,78,88,46,-24,-79,-88,-44,25,80,87,42,-28,-81,-86,-40,29,82,85,39,-32,-83,-85,-36,34,84,} {64,61,-10,-73,-89,-44,29,84,82,25,-48,-90,-70,-6,64,91,58,-15,-77,-88,-40,34,85,80,22,-51,-90,-68,-1,66,90,54,-19,-79,-86,-36,39,87,78,17,-55,-91,-65,4,70,90,50,-24,-81,-85,-32,42,88,75,13,-59,-91,-63,7,72,90,46,-28,-83,} {64,58,-19,-81,-83,-24,54,91,61,-15,-79,-85,-28,50,90,64,-10,-77,-86,-32,46,90,66,-6,-73,-88,-36,42,90,70,-1,-70,-89,-40,39,88,72,4,-68,-90,-44,34,87,75,7,-65,-90,-48,29,85,78,13,-63,-91,-51,25,84,80,17,-59,-91,-55,22,82,} {64,54,-28,-86,-73,-1,72,87,29,-51,-91,-55,25,85,75,4,-70,-88,-32,50,91,58,-24,-85,-77,-6,70,88,34,-48,-91,-59,22,84,78,7,-68,-89,-36,46,90,61,-19,-83,-79,-10,66,90,39,-44,-90,-63,17,82,80,13,-65,-90,-40,42,90,64,-15,-81,} {64,50,-36,-90,-63,22,85,72,-6,-79,-81,-10,70,87,25,-59,-90,-40,46,91,54,-32,-89,-65,17,84,75,-1,-77,-83,-15,66,88,29,-55,-91,-44,42,90,58,-28,-88,-68,13,82,78,4,-73,-85,-19,64,90,34,-51,-91,-48,39,90,61,-24,-86,-70,7,80,} {64,46,-44,-91,-48,42,91,50,-40,-91,-51,39,90,54,-36,-90,-55,34,90,58,-32,-90,-59,29,90,61,-28,-89,-63,25,88,64,-24,-88,-65,22,87,66,-19,-86,-68,17,85,70,-15,-85,-70,13,84,72,-10,-83,-73,7,82,75,-6,-81,-77,4,80,78,-1,-79,} {64,42,-51,-90,-32,61,88,22,-68,-85,-10,75,80,-1,-81,-73,13,85,66,-24,-89,-59,34,90,50,-44,-91,-40,54,90,29,-63,-88,-19,70,84,7,-77,-79,4,82,72,-15,-86,-65,25,90,58,-36,-91,-48,46,91,39,-55,-90,-28,64,87,17,-70,-83,-6,78,} {64,39,-59,-88,-15,75,78,-10,-86,-63,34,91,42,-55,-89,-19,72,80,-6,-85,-65,29,90,46,-51,-90,-24,70,82,-1,-83,-68,25,90,50,-48,-90,-28,66,84,4,-81,-70,22,90,54,-44,-91,-32,64,85,7,-79,-73,17,88,58,-40,-91,-36,61,87,13,-77,} {64,34,-65,-83,4,85,61,-40,-91,-28,70,80,-10,-88,-55,46,90,22,-73,-77,17,90,50,-51,-89,-15,78,72,-24,-90,-44,58,87,7,-81,-68,29,91,39,-63,-85,-1,84,64,-36,-91,-32,66,82,-6,-86,-59,42,90,25,-70,-79,13,88,54,-48,-90,-19,75,} {64,29,-70,-77,22,90,39,-65,-81,13,90,46,-59,-85,4,87,54,-51,-88,-6,84,61,-44,-90,-15,80,66,-36,-91,-24,75,72,-28,-91,-32,70,78,-19,-90,-40,64,82,-10,-89,-48,58,85,-1,-86,-55,50,88,7,-83,-63,42,90,17,-79,-68,34,91,25,-73,} {64,25,-77,-68,39,90,13,-83,-59,50,87,-1,-88,-48,61,82,-15,-90,-36,70,75,-28,-91,-24,78,66,-40,-90,-10,84,58,-51,-86,4,88,46,-63,-81,17,90,34,-70,-73,29,91,22,-79,-65,42,90,7,-85,-55,54,85,-6,-89,-44,64,80,-19,-91,-32,72,} {64,22,-81,-59,54,84,-15,-91,-28,78,64,-48,-86,7,90,34,-73,-68,42,88,-1,-89,-40,70,72,-36,-90,-6,87,46,-65,-77,29,90,13,-85,-51,61,80,-24,-91,-19,82,58,-55,-83,17,91,25,-79,-63,50,85,-10,-90,-32,75,66,-44,-88,4,90,39,-70,} {64,17,-85,-48,66,72,-40,-88,7,90,25,-81,-55,61,78,-32,-90,-1,90,34,-77,-63,54,82,-24,-91,-10,87,42,-70,-68,46,85,-15,-91,-19,84,50,-65,-73,39,88,-6,-90,-28,80,58,-59,-79,29,90,4,-89,-36,75,64,-51,-83,22,91,13,-86,-44,70,} {64,13,-88,-36,78,58,-63,-73,42,85,-19,-91,-6,90,29,-81,-51,66,70,-48,-83,25,90,-1,-90,-24,84,46,-70,-65,54,80,-32,-89,7,91,17,-86,-40,75,61,-59,-77,39,87,-15,-91,-10,88,34,-79,-55,64,72,-44,-85,22,90,4,-90,-28,82,50,-68,} {64,7,-90,-24,85,39,-79,-51,70,64,-59,-73,46,82,-32,-88,17,90,-1,-91,-15,88,29,-83,-44,75,58,-65,-68,54,78,-40,-85,25,90,-10,-91,-6,90,22,-86,-36,80,50,-70,-63,61,72,-48,-81,34,87,-19,-90,4,91,13,-89,-28,84,42,-77,-55,66,} {64,4,-91,-10,90,17,-89,-24,87,29,-85,-36,82,42,-79,-48,75,54,-70,-59,66,64,-63,-68,58,72,-51,-77,46,80,-40,-83,34,85,-28,-88,22,90,-15,-90,7,91,-1,-91,-6,90,13,-90,-19,88,25,-86,-32,84,39,-81,-44,78,50,-73,-55,70,61,-65,} {64,-1,-91,4,91,-6,-91,7,90,-10,-90,13,90,-15,-90,17,90,-19,-89,22,88,-24,-88,25,87,-28,-86,29,85,-32,-85,34,84,-36,-83,39,82,-40,-81,42,80,-44,-79,46,78,-48,-77,50,75,-51,-73,54,72,-55,-70,58,70,-59,-68,61,66,-63,-65,64,} {64,-6,-90,17,88,-28,-85,39,80,-48,-73,58,66,-65,-59,72,50,-79,-40,84,29,-88,-19,90,7,-91,4,90,-15,-89,25,85,-36,-81,46,75,-55,-68,64,61,-70,-51,78,42,-83,-32,87,22,-90,-10,91,-1,-91,13,90,-24,-86,34,82,-44,-77,54,70,-63,} {64,-10,-89,29,82,-48,-70,64,58,-77,-40,85,22,-90,-1,90,-19,-86,39,78,-55,-65,70,50,-81,-32,88,13,-91,7,90,-28,-83,46,72,-63,-59,75,42,-85,-24,90,4,-91,17,87,-36,-79,54,66,-68,-51,80,34,-88,-15,91,-6,-90,25,84,-44,-73,61,} {64,-15,-86,42,72,-65,-51,82,25,-90,4,90,-32,-79,58,61,-77,-36,88,7,-91,22,84,-48,-68,70,46,-85,-19,91,-10,-88,39,75,-63,-55,80,29,-90,-1,90,-28,-81,54,64,-73,-40,87,13,-91,17,85,-44,-70,66,50,-83,-24,90,-6,-89,34,78,-59,} {64,-19,-83,54,61,-79,-28,90,-10,-86,46,66,-73,-36,90,-1,-89,39,72,-68,-44,87,7,-90,29,78,-63,-51,84,17,-91,22,82,-55,-59,80,25,-91,13,85,-48,-65,75,34,-90,4,88,-40,-70,70,42,-88,-6,90,-32,-77,64,50,-85,-15,91,-24,-81,58,} {64,-24,-79,64,46,-88,-1,88,-44,-65,78,25,-91,22,80,-63,-48,87,4,-89,42,66,-77,-28,91,-19,-81,61,50,-86,-6,90,-40,-68,75,29,-91,17,82,-59,-51,85,7,-90,39,70,-73,-32,90,-15,-83,58,54,-85,-10,90,-36,-70,72,34,-90,13,84,-55,} {64,-28,-73,72,29,-91,25,75,-70,-32,91,-24,-77,70,34,-91,22,78,-68,-36,90,-19,-79,66,39,-90,17,80,-65,-40,90,-15,-81,64,42,-90,13,82,-63,-44,90,-10,-83,61,46,-89,7,84,-59,-48,88,-6,-85,58,50,-88,4,85,-55,-51,87,-1,-86,54,} {64,-32,-68,80,13,-89,50,54,-88,7,82,-65,-36,91,-28,-70,78,17,-90,46,58,-86,4,84,-63,-40,90,-24,-73,75,22,-90,42,61,-85,-1,85,-59,-44,90,-19,-77,72,25,-91,39,64,-83,-6,87,-55,-48,90,-15,-79,70,29,-91,34,66,-81,-10,88,-51,} {64,-36,-63,85,-6,-81,70,25,-90,46,54,-89,17,75,-77,-15,88,-55,-44,90,-28,-68,82,4,-85,64,34,-91,39,61,-86,7,80,-70,-24,90,-48,-51,90,-19,-73,78,13,-88,58,42,-91,29,66,-83,-1,84,-65,-32,91,-40,-59,87,-10,-79,72,22,-90,50,} {64,-40,-55,90,-24,-68,84,-6,-79,75,13,-86,64,29,-90,50,46,-91,34,61,-88,17,72,-81,-1,82,-70,-19,88,-59,-36,91,-44,-51,90,-28,-65,85,-10,-77,78,7,-85,66,25,-90,54,42,-91,39,58,-89,22,70,-83,4,80,-73,-15,87,-63,-32,90,-48,} {64,-44,-48,91,-40,-51,90,-36,-55,90,-32,-59,90,-28,-63,88,-24,-65,87,-19,-68,85,-15,-70,84,-10,-73,82,-6,-77,80,-1,-79,78,4,-81,75,7,-83,72,13,-85,70,17,-86,66,22,-88,64,25,-89,61,29,-90,58,34,-90,54,39,-91,50,42,-91,46,} {64,-48,-40,90,-55,-32,90,-63,-24,87,-68,-15,84,-73,-6,80,-79,4,75,-83,13,70,-86,22,64,-89,29,58,-90,39,50,-91,46,42,-91,54,34,-90,61,25,-88,66,17,-85,72,7,-81,78,-1,-77,82,-10,-70,85,-19,-65,88,-28,-59,90,-36,-51,91,-44,} {64,-51,-32,88,-68,-10,80,-81,13,66,-89,34,50,-91,54,29,-88,70,7,-79,82,-15,-65,90,-36,-48,91,-55,-28,87,-70,-6,78,-83,17,64,-90,39,46,-91,58,25,-86,72,4,-77,84,-19,-63,90,-40,-44,90,-59,-24,85,-73,-1,75,-85,22,61,-90,42,} {64,-55,-24,84,-79,13,64,-90,46,34,-88,72,-1,-70,88,-36,-44,90,-65,-10,78,-85,25,54,-91,58,22,-83,80,-15,-63,90,-48,-32,87,-73,4,70,-89,39,42,-90,66,7,-77,85,-28,-51,91,-59,-19,82,-81,17,61,-91,50,29,-86,75,-6,-68,90,-40,} {64,-59,-15,78,-86,34,42,-89,72,-6,-65,90,-51,-24,82,-83,25,50,-90,66,4,-70,90,-44,-32,85,-79,17,58,-91,61,13,-77,87,-36,-40,88,-73,7,64,-91,54,22,-81,84,-28,-48,90,-68,-1,70,-90,46,29,-85,80,-19,-55,91,-63,-10,75,-88,39,} {64,-63,-6,70,-90,54,17,-77,88,-44,-28,82,-85,34,39,-86,80,-24,-48,90,-73,13,58,-91,66,-1,-65,91,-59,-10,72,-90,50,22,-79,87,-40,-32,84,-83,29,42,-88,78,-19,-51,90,-70,7,61,-91,64,4,-68,90,-55,-15,75,-89,46,25,-81,85,-36,} {64,-65,4,61,-91,70,-10,-55,90,-73,17,50,-89,78,-24,-44,87,-81,29,39,-85,84,-36,-32,82,-86,42,25,-79,88,-48,-19,75,-90,54,13,-70,90,-59,-6,66,-91,64,-1,-63,91,-68,7,58,-90,72,-15,-51,90,-77,22,46,-88,80,-28,-40,85,-83,34,} {64,-68,13,50,-88,82,-36,-28,78,-90,58,4,-63,90,-73,22,42,-85,85,-44,-19,72,-91,64,-6,-55,90,-79,29,34,-81,88,-51,-10,66,-91,70,-15,-48,87,-83,39,25,-77,90,-59,-1,61,-90,75,-24,-40,84,-86,46,17,-70,91,-65,7,54,-89,80,-32,} {64,-70,22,39,-81,90,-59,4,54,-88,84,-44,-15,66,-91,75,-28,-32,78,-90,64,-10,-48,85,-86,50,7,-63,90,-79,34,25,-73,91,-68,17,42,-83,88,-55,-1,58,-89,82,-40,-19,70,-91,72,-24,-36,80,-90,61,-6,-51,87,-85,46,13,-65,90,-77,29,} {64,-73,29,25,-70,91,-77,34,22,-68,90,-79,39,17,-65,90,-81,42,13,-63,90,-83,46,7,-59,88,-85,50,4,-55,87,-86,54,-1,-51,85,-88,58,-6,-48,84,-89,61,-10,-44,82,-90,64,-15,-40,80,-90,66,-19,-36,78,-91,70,-24,-32,75,-91,72,-28,} {64,-77,39,13,-59,87,-88,61,-15,-36,75,-91,78,-40,-10,58,-86,88,-63,17,34,-73,91,-79,42,7,-55,85,-89,64,-19,-32,72,-91,80,-44,-6,54,-85,90,-65,22,29,-70,90,-81,46,4,-51,84,-90,66,-24,-28,70,-90,82,-48,-1,50,-83,90,-68,25,} {64,-79,46,-1,-44,78,-91,80,-48,4,42,-77,91,-81,50,-6,-40,75,-91,82,-51,7,39,-73,90,-83,54,-10,-36,72,-90,84,-55,13,34,-70,90,-85,58,-15,-32,70,-90,85,-59,17,29,-68,90,-86,61,-19,-28,66,-89,87,-63,22,25,-65,88,-88,64,-24,} {64,-81,54,-15,-28,64,-86,90,-73,42,-1,-40,72,-90,87,-65,29,13,-51,80,-91,82,-55,17,25,-63,85,-90,75,-44,4,39,-70,90,-88,66,-32,-10,50,-79,91,-83,58,-19,-24,61,-85,90,-77,46,-6,-36,70,-89,88,-68,34,7,-48,78,-91,84,-59,22,} {64,-83,61,-28,-10,46,-73,90,-89,72,-44,7,29,-63,84,-91,82,-59,25,13,-48,75,-90,88,-70,42,-6,-32,64,-85,91,-81,58,-24,-15,50,-77,90,-88,70,-40,4,34,-65,85,-91,80,-55,22,17,-51,78,-90,87,-68,39,-1,-36,66,-86,90,-79,54,-19,} {64,-85,66,-40,7,25,-55,78,-90,90,-77,54,-24,-10,42,-68,85,-91,84,-65,39,-6,-28,58,-79,90,-89,75,-51,22,13,-44,70,-86,91,-83,64,-36,4,29,-59,80,-90,88,-73,50,-19,-15,46,-70,87,-91,82,-63,34,-1,-32,61,-81,90,-88,72,-48,17,} {64,-86,72,-51,25,4,-32,58,-77,88,-91,84,-68,46,-19,-10,39,-63,80,-90,90,-81,64,-40,13,17,-44,66,-83,90,-89,78,-59,34,-6,-24,50,-70,85,-91,87,-73,54,-28,-1,29,-55,75,-88,91,-85,70,-48,22,7,-36,61,-79,90,-90,82,-65,42,-15,} {64,-88,78,-63,42,-19,-6,29,-51,70,-83,90,-90,84,-70,54,-32,7,17,-40,61,-77,87,-91,88,-79,64,-44,22,4,-28,50,-68,82,-90,90,-85,72,-55,34,-10,-15,39,-59,75,-86,91,-89,80,-65,46,-24,-1,25,-48,66,-81,90,-91,85,-73,58,-36,13,} {64,-89,82,-70,58,-40,22,-1,-19,39,-55,70,-81,88,-91,90,-83,72,-59,42,-24,4,17,-36,54,-68,80,-88,91,-90,84,-73,61,-44,25,-6,-15,34,-51,66,-79,87,-91,90,-85,75,-63,46,-28,7,13,-32,50,-65,78,-86,90,-90,85,-77,64,-48,29,-10,} {64,-90,85,-79,70,-59,46,-32,17,-1,-15,29,-44,58,-68,78,-85,90,-91,90,-86,80,-70,61,-48,34,-19,4,13,-28,42,-55,66,-77,84,-89,91,-90,87,-81,72,-63,50,-36,22,-6,-10,25,-40,54,-65,75,-83,88,-91,90,-88,82,-73,64,-51,39,-24,7,} {64,-90,88,-85,80,-73,66,-59,50,-40,29,-19,7,4,-15,25,-36,46,-55,64,-70,78,-83,87,-90,91,-91,90,-86,82,-77,70,-63,54,-44,34,-24,13,-1,-10,22,-32,42,-51,61,-68,75,-81,85,-89,90,-91,90,-88,84,-79,72,-65,58,-48,39,-28,17,-6,} {64,-91,90,-89,87,-85,82,-79,75,-70,66,-63,58,-51,46,-40,34,-28,22,-15,7,-1,-6,13,-19,25,-32,39,-44,50,-55,61,-65,70,-73,78,-81,84,-86,88,-90,90,-91,91,-90,90,-88,85,-83,80,-77,72,-68,64,-59,54,-48,42,-36,29,-24,17,-10,4,} {64,-91,91,-91,90,-90,90,-90,90,-89,88,-88,87,-86,85,-85,84,-83,82,-81,80,-79,78,-77,75,-73,72,-70,70,-68,66,-65,64,-63,61,-59,58,-55,54,-51,50,-48,46,-44,42,-40,39,-36,34,-32,29,-28,25,-24,22,-19,17,-15,13,-10,7,-6,4,-1,}.
[0103] The encoding / decoding technique is implemented by one or more processors, which are capable of executing computer software having computer-readable instructions, and which are physically stored in one or more computer-readable media (e.g., hard disk drives). For example, Figure 7 shows a computer system 700 suitable for implementing some embodiments of the disclosed theme.
[0104] Computer software can be encoded in any suitable machine code or computer language, and computer software can be made into code containing instructions through mechanisms such as assembly, compilation, and linking, and such instructions can be executed directly by one or more computer central processing units (CPUs), graphics processing units (GPUs), etc., or by interpretation, microcode, etc.
[0105] The instruction can be executed on various types of computers or their components, including, for example, personal computers, tablets, servers, smartphones, gaming devices, and Internet of Things devices.
[0106] The components of the computer system 700 shown in Figure 7 are illustrative in nature and are not intended to limit the scope or functionality of the computer software used to implement embodiments of the present disclosure. The arrangement of the components should not be construed as having any dependency or requirement relating to any one or any combination thereof of the components shown in the exemplary embodiment of the computer system 700.
[0107] The computer system 700 may include certain human interface input devices. Such human interface input devices can respond to input from one or more human users, for example, tactile input (e.g., keystrokes, slides, data glove movements), audio input (e.g., voice, applause), visual input (e.g., posture), and olfactory input (not shown). The human interface devices may also be used to capture certain media that are not necessarily directly related to conscious human input, such as audio (e.g., voice, music, ambient sounds), images (e.g., scanned images, photographic images acquired from a static image capture device), and video (e.g., 2D video, 3D video including stereo video).
[0108] The human interface input device may include one or more of the following: keyboard 701, mouse 702, touchpad 703, touch panel 710, data glove 704, joystick 705, microphone 706, scanner 707, and imaging device 708 (only one of each is shown).
[0109] The computer system 700 may further include certain human interface output devices. Such human interface output devices can stimulate the senses of one or more human users, for example, by tactile output, sound, light, and smell / taste. Such human interface output devices may include tactile output devices (e.g., touch panel 710, data glove 740, or joystick 705, although some tactile feedback devices are not used as input devices), audio output devices (e.g., speakers 709, headphones (not shown)), visual output devices (e.g., screen 710, including CRT screens, LCD screens, plasma screens, and OLED screens, each of which may or may not have touchscreen input functionality, and may or may not have tactile feedback functionality, some of which may be able to output two-dimensional visual output or three-dimensional or more output by means such as stereo output), virtual reality glasses (not shown), holographic displays and smoke tanks (not shown)), and printers (not shown).
[0110] The computer system 700 may further include human-accessible storage devices and related media, such as optical media like a CD / DVD ROM / RW 720 having a medium 721 such as a CD / DVD, a thumb drive 722, a removable hard drive or solid-state drive 723, conventional magnetic media such as magnetic tape and floppy disks (not shown), and dedicated ROM / ASIC / PLD devices such as dongles (not shown).
[0111] Furthermore, those skilled in the art should understand that the term “computer-readable medium” as used in relation to the present disclosed topic does not include transmission media, carrier waves, or other transient signals.
[0112] The computer system 700 may further include interfaces to one or more communication networks. These networks may be, for example, wireless, wired, or optical networks. The networks may also be local, wide-area, metropolitan, automotive, industrial, real-time, or latency-tolerant networks. Examples of networks include, for example, local area networks such as Ethernet, cellular networks including wireless LAN, GSM, 3G, 4G, 5G, and LTE, wired or wireless wide-area digital television networks including wired television, satellite television, and terrestrial television, and automotive and industrial networks including CANBus. Certain networks generally require connection to an external network interface adapter on a general-purpose data port or peripheral bus (749) (e.g., a USB port on the computer system 700), while other networks are generally integrated into the core of the computer system 700 by connecting to a system bus (e.g., an Ethernet interface on a PC computer system, or a cellular network interface on a smartphone computer system) as described below. Using any of these networks, the computer system 700 can communicate with other entities. Such communications may be one-way, receive only (e.g., broadcast television), transmit only in one direction (e.g., CANbus to a CANbus device), or be bidirectional, reaching other computer systems using, for example, a local area or wide area digital network. Specific protocols and protocol stacks may be used for each of these networks and network interfaces as described above.
[0113] Human interface devices, human-accessible storage devices, and network interfaces can be mounted on the core 740 of the computer system 700.
[0114] The core 740 may include one or more central processing units (CPUs) 741, graphics processing units (GPUs) 742, dedicated programmable processing units in the form of field-programmable gate arrays (FPGAs) 743, hardware accelerators 744 for specific tasks, and the like. These devices can be connected via a system bus 748, along with read-only (ROM) 745, random access memory 746, and internal mass storage devices 747 such as internal hard disk drives or SSDs that are not accessible to the user. In some computer systems, access to the system bus 748 in the form of one or more physical plugs can enable expansion with additional CPUs, GPUs, etc. Peripheral devices can be connected to the core's system bus 748 directly or via a peripheral bus 749. Peripheral bus architectures include PCI, USB, etc.
[0115] The CPU 741, GPU 742, FPGA 743, and accelerator 744 can execute specific instructions, and these instructions, when combined, constitute the computer code mentioned above. This computer code may be stored in ROM 745 or RAM 746. Temporary data may also be stored in RAM 746, and permanent data may be stored, for example, in internal mass storage device 747. By using cache memory, high-speed storage and retrieval to any storage device in the storage device becomes possible, and this cache memory can be closely associated with one or more CPUs 741, GPUs 742, mass storage device 747, ROM 745, RAM 746, etc.
[0116] A computer-readable medium may have computer code on it for performing various operations that a computer can perform. The medium and computer code may be of a type that is specifically designed and constructed for the purposes of this disclosure, or they may be of a type that is well known and available to those skilled in the art of computer software.
[0117] For example, but not limited to, a computer system having architecture 700, in particular core 740, can provide functionality by having (one or more) processors (including CPUs, GPUs, FPGAs, accelerators, etc.) run software implemented on one or more tangible computer-readable media. Such computer-readable media may be media relating to user-accessible mass storage devices, as described above, and specific non-temporary storage devices of core 740, such as core internal mass storage device 747 or ROM 745. Software for implementing various embodiments of the present disclosure can be stored on such devices and executed by core 740. Depending on specific needs, the computer-readable media may include one or more storage devices or chips. The software can cause core 740, in particular processors (including CPUs, GPUs, FPGAs, etc.) within it to perform specific processes or specific parts of specific processes as described herein, including limiting data configurations stored in RAM 746 and modifying such data configurations by the software-limited processes. Furthermore, or alternatively, a computer system may provide functionality by being implemented in logic hardwired or in other forms in circuitry (e.g., accelerator 744), which can perform specific processes or specific parts of specific processes described herein, in place of or in conjunction with software. Where appropriate, references to software may include logic, and conversely, references to logic may include software. Where appropriate, references to computer-readable media may include circuitry (e.g., integrated circuits (ICs)) on which software for execution is stored, circuitry embodying logic for execution, or both. This disclosure includes any appropriate combination of hardware and software.
[0118] While this disclosure describes several exemplary embodiments, there are many variations, substitutions, and alternative equivalents that fall within the scope of this disclosure. Those skilled in the art will understand that many systems and methods, not expressly shown or described herein, embody the principles of this disclosure and thus fall within its spirit and scope.
[0119] (Note 1) A method for decoding or encoding performed by an encoder or decoder, A step of receiving information about a target file for encoding or decoding, wherein the target file for encoding or decoding is one of a compressed video or image data file and an uncompressed video or image data file, A step in the process of encoding or decoding the target file, which determines whether to use a first transformation core matrix having a first size type or a second transformation core matrix having a second size type smaller than the first size type, wherein the first size type is an 8-bit main transformation core matrix, and the 8-bit main transformation core matrix has a core matrix that is represented by 8 bits and has a size of 64 points or more. If it is decided to use a first transformation core matrix having the first size type, the steps include encoding or decoding the target file for encoding or decoding using the 8-bit main transformation core matrix having a size of 64 points or more, If it is decided to use a second transformation core matrix having a second size type smaller than the first size type, the steps include: extracting a second transformation core matrix having the second size type from the 8-bit main transformation core matrix having a size of 64 points or more; and encoding or decoding the target file for encoding or decoding using the extracted second transformation core matrix having the second size type; A method that includes this. (Note 2) The method according to Appendix 1, further comprising the step of pre-storing the 8-bit main transformation core matrix in memory before performing the step of receiving information about a target file for encoding or decoding. (Note 3) The first transformation core matrix is a 64-point 8-bit main transformation core matrix, which is constructed using 31 integers for constructing a 32-point 8-bit main transformation core matrix and 32 additional integers, the 32 additional integers include bf, bg, bh, bi, bj, bk, bl, bm, bn, bo, bp, bq, br, bs, bt, bu, bv, bw, bx, by, bz, ca, cb, cc, cd, ce, cf, cg, ch, ci, cj, ck and their respective sign-changes. The method described in Appendix 1, wherein the aforementioned 32 additional integers {bf,bg,bh,bi,bj,bk,bl,bm,bn,bo,bp,bq,br,bs,bt,bu,bv,bw,bx,by,bz,ca,cb,cc,cd,ce,cf,cg,ch,ci,cj,ck} are equal to {91,90,90,90,88,87,86,84,83,81,79,77,73,71,69,65,62,59,56,52,48,44,41,37,33,28,24,20,15,11,7,2}. (Note 4) The first transformation core matrix is a 128-point 8-bit main transformation core matrix, which is constructed using 63 integers for constructing a 64-point 8-bit main transformation core matrix and 64 additional integers, the 64 additional integers being cl, cm, cn, co, cp, cq, cr, cs, ct, cu, cv, cw, cx, cy, cz, da, db, dc, dd, de, df, dg , dh, di, dj, dk, dl, dm, dn, d_, dp, dq, dr, ds, dt, du, dv, dw, dx, dy, dz, ea, eb, ec, ed, ee, ef, eg, eh, ei, ej, ek, el, em, en, eo, ep, eq, er, es, et, eu, ev, ew and their respective sign conversions (sign changes), and the additional 64 integers {cl, cm, cn, co, cp, cq,cr,cs,ct,cu,cv,cw,cx,cy,cz,da,db,dc,dd,de,df,dg,dh,di,dj,dk,dl,dm,dn,d_,dp,dq,dr,ds,dt,du,dv ,dw,dx,dy,dz,ea,eb,ec,ed,ee,ef,eg,eh,ei,ej,ek,el,em,en,eo,ep,eq,er,es,et,eu,ev,ew} is {90,90,90,90 The method described in Appendix 1, which is equivalent to ,90,90,89,89,89,88,88,87,86,86,85,84,83,82,81,80,79,78,77,76,75,73,72,71,69,68,66,65,63,62,60,58,58,55,53,51,49,48,45,44,42,40,38,36,34,32,29,27,25,23,21,19,17,15,12,10,8,6,3,1}. (Note 5) The method according to any one of the appendices 1 to 4, wherein the size of the 8-bit main transformation core matrix is 64 points or 128 points. (Note 6) The left or right half of the even or odd rows of the 8-bit main transformation core matrix forms a matrix similar to the second transformation core matrix. The aforementioned 8-bit main transformation core matrix is one of DCT-2, DCT-5, DCT-8, DST-1, and DST-7. The second transformation core matrix is one of DCT-2, DCT-5, DCT-8, DST-1, and DST-7, as described in any one of the methods in any one of the appendices 1 to 4. (Note 7) The method according to Appendix 6, wherein the 8-bit main transformation core matrix is identical to the second transformation core matrix and is one of DCT-2, DCT-5, DCT-8, DST-1, and DST-7. (Note 8) The method according to Appendix 7, wherein the 8-bit main transformation core matrix is an 8-bit 64-point DCT-2 transformation matrix, and the second transformation core matrix is an 8-bit 32-point DCT-2 transformation matrix. (Note 9) A method for deriving the 8-bit N-point main transformation core matrix, which consists of M unique numerical values, is: Scale factor 2 B-2 ×log2(N), so Tl = T0 × 2 B-2 The first step is to derive the initial transformation core matrix Tl by scaling the original transformation core T0, which is composed of floating-point numbers, such that it is ×log2(N), where B=8, the row vectors of T0 are orthogonal to each other, and the norm of each row vector is 1. The steps include: deriving the adjusted transformation core matrix T2 by adding offsets to the selected set of M unique numbers for constructing the adjusted main transformation core matrix T2; (T1*T1 T -2 2B-4 ×log2(N) 2 A step of calculating the cost value C as the sum of the absolute values of all elements of ×I), where I is the N×N identity matrix, The method according to any one of the appendices 1 to 4, comprising the step of updating the adjusted transformation matrix T2 such that the cost value is minimized to T2 by adding a calculated offset value to T2, wherein the adjusted transformation matrix T2 is output as the 8-bit N-point main transformation core matrix. (Note 10) The method according to Appendix 9, further comprising minimizing the cost value C by trying all possible combinations of offset values on a selected set of M unique numbers, wherein T2 is output as the 8-bit N-point main transformation core matrix. (Note 11) A device for decoding or encoding, At least one memory location arranged to store computer program code, At least one processor that accesses the at least one memory and is configured to operate based on the computer program code, Includes, The aforementioned computer program code is A first application code configured to cause at least one processor to receive information about a target file for encoding or decoding, wherein the target file for encoding or decoding is one of a compressed video or image data file and an uncompressed video or image data file, A second application code configured to cause at least one processor to determine whether to use a first transformation core matrix having a first size type or a second transformation core matrix having a second size type smaller than the first size type, wherein the first size type is an 8-bit main transformation core matrix, and the 8-bit main transformation core matrix is a core matrix represented by 8 bits and having a size of 64 points or more, When it is decided to use a first transformation core matrix having the first size type, a third application code is provided which is configured to cause the target file for encoding or decoding to be encoded or decoded by the at least one processor using the 8-bit main transformation core matrix having a size of 64 points or more, If it is decided to use a second transformation core matrix having a second size type smaller than the first size type, a fourth application code is provided which extracts a second transformation core matrix having the second size type from the 8-bit main transformation core matrix having a size of 64 points or more, and causes the target file for encoding or decoding to be encoded or decoded by at least one processor using the extracted second transformation core matrix having the second size type, A device that includes this. (Note 12) The first transformation core matrix is a 64-point 8-bit main transformation core matrix, which is constructed using 31 integers for constructing a 32-point 8-bit main transformation core matrix and 32 additional integers, the 32 additional integers include bf, bg, bh, bi, bj, bk, bl, bm, bn, bo, bp, bq, br, bs, bt, bu, bv, bw, bx, by, bz, ca, cb, cc, cd, ce, cf, cg, ch, ci, cj, ck and their respective sign-changes. The apparatus described in Appendix 11, wherein the aforementioned 32 additional integers {bf,bg,bh,bi,bj,bk,bl,bm,bn,bo,bp,bq,br,bs,bt,bu,bv,bw,bx,by,bz,ca,cb,cc,cd,ce,cf,cg,ch,ci,cj,ck} are equal to {91,90,90,90,88,87,86,84,83,81,79,77,73,71,69,65,62,59,56,52,48,44,41,37,33,28,24,20,15,11,7,2}. (Note 13) The first transformation core matrix is a 128-point 8-bit main transformation core, which is constructed using 63 integers for constructing a 64-point 8-bit main transformation core matrix and 64 additional integers, the 64 additional integers being cl, cm, cn, co, cp, cq, cr, cs, ct, cu, cv, cw, cx, cy, cz, da, db, dc, dd, de, df, dg, This includes dh, di, dj, dk, dl, dm, dn, d_, dp, dq, dr, ds, dt, du, dv, dw, dx, dy, dz, ea, eb, ec, ed, ee, ef, eg, eh, ei, ej, ek, el, em, en, eo, ep, eq, er, es, et, eu, ev, ew and their respective sign conversions (sign changes), and these additional 64 integers {cl, cm, cn, co, cp, cq, cr,cs,ct,cu,cv,cw,cx,cy,cz,da,db,dc,dd,de,df,dg,dh,di,dj,dk,dl,dm,dn,d_,dp,dq,dr,ds,dt,du,dv,d w,dx,dy,dz,ea,eb,ec,ed,ee,ef,eg,eh,ei,ej,ek,el,em,en,eo,ep,eq,er,es,et,eu,ev,ew} is {90,90,90,90,9 The apparatus described in Appendix 11, which is equal to {0,90,89,89,89,88,88,87,86,86,85,84,83,82,81,80,79,78,77,76,75,73,72,71,69,68,66,65,63,62,60,58,58,55,53,51,49,48,45,44,42,40,38,36,34,32,29,27,25,23,21,19,17,15,12,10,8,6,3,1}. (Note 14) The apparatus according to any one of the appendices 11 to 13, wherein the size of the aforementioned 8-bit main conversion core matrix is 64 points or 128 points. (Note 15) The left or right half of the even or odd rows of the 8-bit main transformation core matrix forms a matrix similar to the second transformation core matrix. The aforementioned 8-bit main transformation core matrix is one of DCT-2, DCT-5, DCT-8, DST-1, and DST-7. The apparatus described in any one of the appendices 11 to 13, wherein the second transformation core matrix is one of DCT-2, DCT-5, DCT-8, DST-1, and DST-7. (Note 16) The apparatus as described in Appendix 15, wherein the 8-bit main conversion core matrix is identical to the second conversion core matrix and is one of DCT-2, DCT-5, DCT-8, DST-1, and DST-7. (Note 17) The apparatus as described in Appendix 16, wherein the 8-bit main transformation core matrix is an 8-bit 64-point DCT-2 transformation matrix, and the second transformation core matrix is an 8-bit 32-point DCT-2 transformation matrix. (Note 18) The fourth application code is further arranged to derive an 8-bit N-point main transform core matrix consisting of M unique numbers by having at least one processor perform the following steps: Scale factor 2 B-2 ×log2(N), so Tl = T0 × 2 B-2 The first step is to derive the initial transformation core matrix Tl by scaling the original transformation core T0, which is composed of floating-point numbers, so that it is ×log2(N), wherein B=8, the row vectors of T0 as basis vectors are orthogonal to each other, and the norm of each row vector is 1. The steps include: deriving the adjusted main transformation core matrix T2 by adding an offset to the selected set of M unique numbers for constructing the adjusted main transformation core matrix T2; (T1*T1 T -2 2B-4 ×log2(N) 2 A step of calculating the cost value C as the sum of the absolute values of all elements of ×I), where I is the N×N identity matrix, The apparatus according to Appendix 11, comprising the step of updating the adjusted transformation matrix T2 such that the cost value is minimized to T2 by adding a calculated offset value to T2, wherein the adjusted transformation matrix T2 is output as the 8-bit N-point main transformation core matrix. (Note 19) The apparatus according to Appendix 18, wherein the fourth application code is further arranged to cause at least one processor to minimize the cost value C by trying all possible combinations of offset values on a selected set of M unique numerical values, after which T2 is output as the 8-bit N-point main transformation core matrix. (Note 20) A device for decoding or encoding, A receiving module for receiving information about a target file for encoding or decoding, wherein the target file for encoding or decoding is one of a compressed video or image data file and an uncompressed video or image data file, A decision module for determining whether to use a first transformation core matrix having a first size type or a second transformation core matrix having a second size type smaller than the first size type in the process of encoding or decoding the target file, wherein the first size type is an 8-bit main transformation core matrix, and the 8-bit main transformation core matrix has a core matrix that is represented by 8 bits and has a size of 64 points or more, When it is decided to use a first transformation core matrix having the first size type, a first processing module for encoding or decoding the target file for encoding or decoding using the 8-bit main transformation core matrix having a size of 64 points or more, An apparatus comprising: a second processing module for extracting a second transformation core matrix having the second size type from an 8-bit main transformation core matrix having a size of 64 points or more, when it is decided to use a second transformation core matrix having the second size type which is smaller than the first size type, and for encoding or decoding a target file for encoding or decoding using the extracted second transformation core matrix having the second size type. (Note 21) A computer program that includes instructions for causing one or more processors to perform the following operations: Information regarding a target file for encoding or decoding is received, and the target file for encoding or decoding is one of a compressed video or image data file and an uncompressed video or image data file. In the process of encoding or decoding the target file, it is determined whether to use a first transformation core matrix having a first size type or a second transformation core matrix having a second size type smaller than the first size type, wherein the first size type is an 8-bit main transformation core matrix, and the 8-bit main transformation core matrix has a core matrix that is represented by 8 bits and has a size of 64 points or more. If it is decided to use the first transformation core matrix having the first size type, the target file for encoding or decoding is encoded or decoded using the 8-bit main transformation core matrix having a size of 64 points or more. A computer program that, when it is decided to use a second transformation core matrix having a second size type smaller than the first size type, extracts a second transformation core matrix having the second size type from the 8-bit main transformation core matrix having a size of 64 points or more, and encodes or decodes the target file for encoding or decoding using the extracted second transformation core matrix having the second size type.
Claims
1. The method that the processor uses for decoding, A step of receiving information about a target file for decryption, wherein the target file for decryption is one of a compressed video or image data file and an uncompressed video or image data file, A step in determining whether to use a first transformation core matrix having a first size type or a second transformation core matrix having a second size type smaller than the first size type in the decoding of the target file, wherein the first transformation core matrix having the first size type is an 8-bit main transformation core matrix, and the 8-bit main transformation core matrix has a core matrix that is represented by 8 bits and has a size of 64 points or more. If it is decided to use a first transformation core matrix having the first size type, the steps include decoding the target file for decoding using the 8-bit main transformation core matrix having a size of 64 points or more, If it is decided to use a second transformation core matrix having a second size type smaller than the first size type, the steps include: extracting a second transformation core matrix having the second size type from the 8-bit main transformation core matrix having a size of 64 points or more, and decoding the target file for decoding using the extracted second transformation core matrix having the second size type; The first transformation core matrix is a 64-point 8-bit main transformation core matrix exhibiting symmetry or antisymmetry, and the 64-point 8-bit main transformation core matrix is constructed using a predetermined integer used to construct a 32-point 8-bit main transformation core matrix exhibiting symmetry or antisymmetry, and an additional 32 integers, the additional 32 integers include bf, bg, bh, bi, bj, bk, bl, bm, bn, bo, bp, bq, br, bs, bt, bu, bv, bw, bx, by, bz, ca, cb, cc, cd, ce, cf, cg, ch, ci, cj, ck and their positive and negative transformations, The method by which the aforementioned 32 additional integers {bf, bg, bh, bi, bj, bk, bl, bm, bn, bo, bp, bq, br, bs, bt, bu, bv, bw, bx, by, bz, ca, cb, cc, cd, ce, cf, cg, ch, ci, cj, ck} is equal to {91, 90, 90, 90, 88, 87, 86, 84, 83, 81, 79, 77, 73, 71, 69, 65, 62, 59, 56, 52, 48, 44, 41, 37, 33, 28, 24, 20, 15, 11, 7, 2}.
2. The method according to claim 1, wherein the first transformation core matrix is a transformation of the Multipurpose Video Coding (VVC) standard.
3. The method according to claim 1, wherein the second transformation core matrix is one of DCT-8, DST-1, or DCT-5.
4. The method according to claim 1, wherein, when deriving an N-point 8-bit DCT-8 main transform core matrix or an N-point 8-bit DST-7 transform core matrix, the set of M unique numbers used to construct the N-point 8-bit DCT-8 main transform core matrix is the same set of M unique numbers used to construct the N-point 8-bit DST-7 transform core matrix.
5. The method according to claim 4, wherein M is equal to N.
6. The method according to claim 1, wherein the left half or right half of the even or odd rows of the 8-bit main transformation core matrix forms a matrix similar to the second transformation core matrix.
7. The aforementioned 8-bit main conversion core matrix is one of DCT-2, DCT-5, DCT-8, DST-1, and DST-7. The method according to claim 6, wherein the second transformation core matrix is one of DCT-2, DCT-5, DCT-8, DST-1, and DST-7.
8. The method according to claim 7, wherein the 8-bit main transformation core matrix and the second transformation core matrix are identical to any one of DCT-2, DCT-5, DCT-8, DST-1, and DST-7.
9. The method according to claim 8, wherein the 8-bit main transformation core matrix is an 8-bit 64-point DCT-2 transformation matrix, and the second transformation core matrix is an 8-bit 32-point DCT-2 transformation matrix.
10. The 8-bit N-point main transformation core matrix, consisting of M unique numerical values, is formed in the following steps: Scale factor 2 B-2 ×log 2 (N) then Tl = T0 × 2 B-2 ×log 2 The first step is to derive the initial transformation core matrix Tl by scaling the original transformation core T0, which is composed of floating-point numbers, such that (N) is true, where B=8, the row vectors of T0, which are bias vectors, are orthogonal to each other, and the norm of each row vector is 1. The steps include: deriving the adjusted transformation core matrix T2 by adding an offset to the selected set of M unique numerical values for constructing the adjusted main transformation core matrix T2; (T1*T1 T -2 2B-4 ×log 2 (N) 2 A step of calculating the cost value C as the sum of the absolute values of all elements of ×I), where I is the N × N identity matrix, A step of updating the adjusted transformation core matrix T2 such that the cost value for T2 is minimized by adding the calculated offset value to T2, wherein the adjusted transformation core matrix T2 is output as the 8-bit N-point main transformation core matrix, The method according to claim 1, derived by the above.
11. The method according to claim 10, further comprising the step of minimizing the cost value C by trying all possible combinations of offset values on a selected set of M unique numerical values, after which T2 is output as the 8-bit N-point main transformation core matrix.
12. A decryption device, At least one memory configured to store computer program code, A processor configured to access the at least one memory and operate based on the computer program code, Includes, The aforementioned computer program code is: A first application code configured to cause at least one processor to receive information about a target file for decryption, wherein the target file for decryption is one of a compressed video or image data file and an uncompressed video or image data file, A second application code configured to cause at least one processor to decide whether to use a first transformation core matrix having a first size type or a second transformation core matrix having a second size type smaller than the first size type in the decoding of the target file, wherein the first transformation core matrix having a first size type is an 8-bit main transformation core matrix, and the 8-bit main transformation core matrix is a core matrix represented by 8 bits and having a size of 64 points or more, A third application code is configured to cause at least one processor to decode the target file for decoding using the 8-bit main transformation core matrix having a size of 64 points or more, when it is decided to use the first transformation core matrix having the first size type, A fourth application code configured to cause at least one processor to perform the following actions when it is decided to use a second transformation core matrix having a second size type smaller than the first size type: extract the second transformation core matrix having the second size type from the 8-bit main transformation core matrix having a size of 64 points or more, and decode the target file for decoding using the extracted second transformation core matrix having the second size type; The first transformation core matrix is a 64-point 8-bit main transformation core matrix exhibiting symmetry or antisymmetry, and the 64-point 8-bit main transformation core matrix is constructed using a predetermined integer used to construct a 32-point 8-bit main transformation core matrix exhibiting symmetry or antisymmetry, and an additional 32 integers, the additional 32 integers include bf, bg, bh, bi, bj, bk, bl, bm, bn, bo, bp, bq, br, bs, bt, bu, bv, bw, bx, by, bz, ca, cb, cc, cd, ce, cf, cg, ch, ci, cj, ck and their positive and negative transformations, The apparatus is such that the aforementioned 32 additional integers {bf, bg, bh, bi, bj, bk, bl, bm, bn, bo, bp, bq, br, bs, bt, bu, bv, bw, bx, by, bz, ca, cb, cc, cd, ce, cf, cg, ch, ci, cj, ck} are equal to {91, 90, 90, 90, 88, 87, 86, 84, 83, 81, 79, 77, 73, 71, 69, 65, 62, 59, 56, 52, 48, 44, 41, 37, 33, 28, 24, 20, 15, 11, 7, 2}.
13. A method that a processor uses for encoding, A step of receiving information about a target file for encoding, wherein the target file for encoding is one of a compressed video or image data file or an uncompressed video or image data file, A step in encoding the target file, determining whether to use a first transformation core matrix having a first size type or a second transformation core matrix having a second size type smaller than the first size type, wherein the first transformation core matrix having the first size type is an 8-bit main transformation core matrix, and the 8-bit main transformation core matrix has a core matrix that is represented by 8 bits and has a size of 64 points or more. If it is decided to use a first transformation core matrix having the first size type, the steps include encoding the target file for encoding using the 8-bit main transformation core matrix having a size of 64 points or more, If it is decided to use a second transformation core matrix having a second size type smaller than the first size type, the steps include: extracting a second transformation core matrix having the second size type from the 8-bit main transformation core matrix having a size of 64 points or more, and encoding the target file for encoding using the extracted second transformation core matrix having the second size type; The first transformation core matrix is a 64-point 8-bit main transformation core matrix exhibiting symmetry or antisymmetry, and the 64-point 8-bit main transformation core matrix is constructed using a predetermined integer used to construct a 32-point 8-bit main transformation core matrix exhibiting symmetry or antisymmetry, and an additional 32 integers, the additional 32 integers include bf, bg, bh, bi, bj, bk, bl, bm, bn, bo, bp, bq, br, bs, bt, bu, bv, bw, bx, by, bz, ca, cb, cc, cd, ce, cf, cg, ch, ci, cj, ck and their positive and negative transformations, The method by which the aforementioned 32 additional integers {bf, bg, bh, bi, bj, bk, bl, bm, bn, bo, bp, bq, br, bs, bt, bu, bv, bw, bx, by, bz, ca, cb, cc, cd, ce, cf, cg, ch, ci, cj, ck} is equal to {91, 90, 90, 90, 88, 87, 86, 84, 83, 81, 79, 77, 73, 71, 69, 65, 62, 59, 56, 52, 48, 44, 41, 37, 33, 28, 24, 20, 15, 11, 7, 2}.
14. The way in which a processor executes A step of receiving information about a target file for encoding, wherein the target file for encoding is one of a compressed video or image data file or an uncompressed video or image data file, A step in encoding the target file, determining whether to use a first transformation core matrix having a first size type or a second transformation core matrix having a second size type smaller than the first size type, wherein the first transformation core matrix having the first size type is an 8-bit main transformation core matrix, and the 8-bit main transformation core matrix has a core matrix that is represented by 8 bits and has a size of 64 points or more. When it is decided to use a first transformation core matrix having the first size type, a first encoding step is performed to encode the target file for encoding using the 8-bit main transformation core matrix having a size of 64 points or more, If it is decided to use a second transformation core matrix having a second size type smaller than the first size type, a second encoding step is performed in which a second transformation core matrix having the second size type is extracted from the 8-bit main transformation core matrix having a size of 64 points or more, and the target file for encoding is encoded using the extracted second transformation core matrix having the second size type. A step of generating an encoded video bitstream that includes the target file encoded in the first encoding step, or the target file encoded in the second encoding step, The steps include storing the encoded video bitstream in a storage device or transmitting it to a decoder, The first transformation core matrix is a 64-point 8-bit main transformation core matrix exhibiting symmetry or antisymmetry, and the 64-point 8-bit main transformation core matrix is constructed using a predetermined integer used to construct a 32-point 8-bit main transformation core matrix exhibiting symmetry or antisymmetry, and an additional 32 integers, the additional 32 integers include bf, bg, bh, bi, bj, bk, bl, bm, bn, bo, bp, bq, br, bs, bt, bu, bv, bw, bx, by, bz, ca, cb, cc, cd, ce, cf, cg, ch, ci, cj, ck and their positive and negative transformations, The method by which the aforementioned 32 additional integers {bf, bg, bh, bi, bj, bk, bl, bm, bn, bo, bp, bq, br, bs, bt, bu, bv, bw, bx, by, bz, ca, cb, cc, cd, ce, cf, cg, ch, ci, cj, ck} is equal to {91, 90, 90, 90, 88, 87, 86, 84, 83, 81, 79, 77, 73, 71, 69, 65, 62, 59, 56, 52, 48, 44, 41, 37, 33, 28, 24, 20, 15, 11, 7, 2}.
15. A computer program that causes a processor to perform the method according to any one of claims 1-11, 13, or 14.