Method, device and computer program for decoding
The use of an 8-bit primary transform core matrix in video compression technologies addresses the challenge of reducing complexity and memory requirements, achieving efficient encoding and decoding processes.
Patent Information
- Application Number
- JP2025020476
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2018-12-19
- Filing Date
- 2025-02-12
- Publication Date
- 2025-05-09
- Estimated Expiration
- 2039-06-03
AI Technical Summary
Existing video compression technologies, such as VVC, face challenges in reducing complexity and memory requirements for 8-bit primary transform cores, particularly for large core sizes like 64 points or more.
A method and apparatus for decoding or encoding video data using an 8-bit primary transform core matrix, which determines whether to use a first transform core matrix of a specific size or a second transform core matrix of a smaller size, allowing for efficient encoding or decoding processes.
This approach reduces complexity and memory requirements by using an 8-bit primary transform core matrix, enabling more efficient multiplier/add/subtract operations and cost-effective implementation of main conversions.
Smart Images

Figure 2025072600000001_ABST
Abstract
Description
Priority information
[0001] This application claims priority to U.S. Provisional Application No. 62 / 692,658, filed in the U.S. Patent and Trademark Office on June 29, 2018, the entire contents of which are incorporated herein by reference. [Technical Field]
[0002] The present disclosure relates to video compression technology. Specifically, the present disclosure relates to next-generation video coding technology, including video encoding / decoding technology beyond High Efficiency Video Coding (HEVC), such as Versatile Video Coding (VVC). More specifically, one aspect of the present disclosure relates to a VVC main conversion method, device, and computer medium using an 8-bit transform core having a size of 64x64 or larger. [Background technology]
[0003] Video encoding and decoding using inter-picture prediction with motion compensation has been known for decades. Uncompressed digital video consists of a series of pictures, each with spatial dimensions of, for example, 1920 x 1080 luma samples and associated chroma samples. This series of pictures can have a fixed or variable picture rate (also informally called the frame rate), for example, 60 pictures per second or 60 hertz (Hz). Uncompressed video has high bitrate requirements. For example, 1080p60 4:2:0 video (resolution of 1920 x 1080 luma samples at a 60 Hz frame rate) with 8 bits per sample requires a bandwidth approaching 1.5 Gbit / s. One hour of such video requires more than 600 GB of storage space.
[0004] One goal of video encoding and decoding can be to reduce redundancy in a video input signal 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 techniques that can reconstruct an exact replica of the original signal from a compressed version. When lossy compression is used, the reconstructed signal may differ from the original signal, but the distortion between the original and reconstructed signal is small enough to make the reconstructed signal useful for certain applications. In the case of video, lossy compression is widely adopted. The amount of acceptable distortion varies depending on the application; for example, users of certain consumer streaming applications tolerate higher distortion than users of television streaming applications. The achievable compression ratio can reflect the fact that the higher the allowable / tolerable distortion, the higher the achievable compression ratio.
[0005] Those skilled in the art generally understand video compression / decompression technology. Generally, to compress video or image data, a series of functional steps are performed to generate a compressed video or image file. Although images such as 360° images (e.g., images captured by a 360° camera) are suitable for compression, for ease of reading, the compression of video files will be described. To generate a compressed video file, common standards (e.g., H.264, H.265) perform division or analysis on an uncompressed video sample stream received from a video source to obtain sample blocks of two or more reference pictures.
[0006] Bidirectional prediction involves predicting a prediction unit (PU), such as a predicted sample block, 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 techniques and standards, such as MPEG-2 Part 2 (or H.262), H.264, and H.265.
[0007] When decompressing a compressed video file, during reconstruction of samples for a bi-predictive PU, the motion-compensated and interpolated input samples from each reference block may be multiplied by a different weighting factor for each reference block, and the weighted sample values of the two reference blocks may be added together to generate the reconstructed sample. Such samples may also be further processed through mechanisms such as loop filtering.
[0008] In MPEG-1 and MPEG-2, the weighting factor can be determined based on the relative temporal 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 "past" the B picture being reconstructed (in display order) and the other is "future" the B picture being reconstructed, and furthermore, in MPEG-1 and MPEG-2, a well-defined timing relationship is established for every picture being reconstructed with respect to its reference pictures.
[0009] Starting with H.264, the concept of reference picture selection for bidirectionally predicted pictures is relaxed, so that reference pictures only need to be earlier in decoding order, not necessarily earlier in display order. The concept of time is also relaxed, since neither H.264 nor H.265 requires constraints / fixed picture spacing in the temporal domain. Therefore, decoders can no longer calculate weighting factors based on timing information available in the bitstream. Instead, H.264 and H.265 include a "default value" of 0.5 as the weighting factor for reference samples of bidirectionally predicted pictures. This default value can be overridden 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 bidirectionally predicted PUs in a given slice.
[0010] Non-Patent Document 1 describes the H.265 / HEVC standard. However, the inventors have already considered the need for standardization of future video coding technologies that have compression capabilities significantly exceeding the HEVC standard (including its extensions).
[0011] Non-Patent Document 2 discloses a recently announced standard format for next-generation video coding beyond HEVC, which is called Versatile Video Coding (VVC) with a VTM version (VVC Test Model). VVC typically uses 10-bit integer matrices to provide a large (e.g., 64-point or larger) transform 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 Video Coding Joint Cooperation Group (JCT-VC), 5th Meeting: Geneva, Switzerland, March 16-23, 2011 (File: JCTVC-E243). The H.265 / HEVC (High Efficiency Video Coding) standard includes 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 Experts Group (JVET), 10th Meeting: San Diego, USA, April 10-20, 2018 (File: JVET-Jl002-v2). Summary of the Invention [Problem to be solved by the invention]
[0014] However, a large 8-bit (e.g., 64-point or larger) core in VVC is required to reduce complexity, reduce memory for storing the transform core, and / or reduce the input bit width of the multiplier / addition / subtraction operations. Generally, for example, since it is not possible to extract 8-bit 2-point, 4-point, 8-point, 16-point, and 32-point DCT-2 transform cores from a 10-bit 64-point DCT-2 transform core in conventional VVC, a single 64-point transform core necessarily increases the cost of applying the main transform because it requires additional memory and logic for implementation. Compared with a 10-bit main transform core, an 8-bit main transform core reduces complexity because it reduces memory for storing the transform core and reduces the input bit width of the 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 prime transform core matrix includes receiving information regarding 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 the encoding or decoding of the target file, wherein the first transform core matrix having the first size type is an 8-bit prime transform core matrix, and the 8-bit prime transform core matrix has a core matrix represented by 8 bits and having a size of 64 points or greater. The method according to the aspect of the present disclosure may further include, when the result of the determination is to use a first transform core matrix having the first size type, encoding or decoding the target file for the encoding or decoding using the 8-bit main transform core matrix having a size of 64 points or more, and, when the result of the determination is to use a second transform core matrix having the second size type 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 the encoding or decoding using the extracted second transform core matrix having the second size type.
[0016] According to one aspect of the present disclosure, an apparatus for decoding compressed video or image data and decoding uncompressed video or image data utilizing an 8-bit prime transform core matrix may include at least one memory configured to store computer program code, and at least one processor configured to access the at least one memory and operate based on the computer program code, the computer program code may include first application code, second application code, third application code, and fourth application code.
[0017] The first application code may be configured 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 being one of a compressed video or image data file and an uncompressed video or image data file. The second application code may be configured to cause the at least one processor to determine 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 the encoding or decoding of the target file, the first size type being an 8-bit primary transform core matrix, the 8-bit primary transform core matrix having a core matrix represented by 8 bits and having a size of 64 points or greater.
[0018] The third application code may be configured to cause the at least one processor to generate or transmit information causing the target file for encoding or decoding to be encoded or decoded using the 8-bit main transform core matrix having a size of 64 points or greater, when a result of the determination is to use a first transform core matrix having the first size type. The fourth application code may be configured to cause the at least one processor to extract 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 greater, and generate or transmit information causing the target file for encoding or decoding to be encoded or decoded using the extracted second transform core matrix having the second size type, when a result of the determination is to use a second transform core matrix having the second size type smaller than the first size type.
[0019] According to one aspect of the present disclosure, a non-transitory computer-readable storage medium stores instructions for causing a computer to perform one or more of the following operations: receive information regarding a target file for encoding or decoding, the target file for encoding or decoding being one of a compressed video or image data file and an uncompressed video or image data file; determine 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 the encoding or decoding of the target file, the first size type being an 8-bit primary transform core matrix, and the 8-bit primary transform core matrix having a core matrix represented by 8 bits and having a size of 64 points or greater.
[0020] The instructions stored in the non-transitory computer-readable storage medium may further cause one or more processors to perform the following operations: when the result of the determination is to use a first transform core matrix having the first size type, generate or transmit information that causes the target file for the encoding or decoding to be encoded or decoded using the 8-bit main transform core matrix having a size of 64 points or greater; and when the result of the determination is to use a second transform core matrix having the second size type smaller than the first size type, extract 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 greater, and generate or transmit information that causes the target file for the encoding or decoding to be encoded or decoded using the extracted second transform core matrix having the second size type. [Brief explanation of the drawings]
[0021] Further features, nature and various advantages of the disclosed subject matter will become more apparent from the following detailed description and drawings, in which: [Figure 1] FIG. 1 is a schematic diagram of a simplified block diagram of a communication system according to one embodiment. [Figure 2] FIG. 1 is a schematic diagram of a simplified block diagram of a streaming system according to one embodiment. [Figure 3] FIG. 2 is a schematic diagram of a simplified block diagram of a decoder according to one embodiment. [Figure 4] FIG. 2 is a schematic diagram of a simplified block diagram of an encoder according to one embodiment. [Figure 5] 2 is a schematic diagram of an exemplary method of encoding or decoding according to one embodiment; [Figure 6] FIG. 10 is a schematic diagram of outputting a transform core matrix according to one embodiment; [Figure 7] FIG. 1 is a schematic diagram of a computer system according to one embodiment. DETAILED DESCRIPTION OF THE INVENTION
[0022] 1 shows a simplified block diagram of an example communication system (100) according to 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, a first terminal (110) may locally encode video data and transmit it to another terminal (120) via the network (150). The second terminal (120) may receive the encoded video data of the other terminal from the network (150), decode the encoded data, and display the decompressed video data. One-way data transmission is common in media service applications, for example.
[0023] 1 illustrates a second pair of terminals (130, 140) provided to support bidirectional transmission of encoded video, such as may occur during a video conference. For bidirectional data transmission, each terminal (130, 140) can encode video data captured locally and transmit it to the other terminal over a network (150). Each terminal (130, 140) can also receive encoded video data transmitted from the other terminal, decode the encoded data, and display the decoded video data on a local display device.
[0024] In FIG. 1 , the terminals (110-140) are illustrated as a laptop computer 110, a server 120, and smartphones 130 and 140, but the principles of the present disclosure are not limited thereto. Embodiments of the present disclosure may be applied to other devices, including, but not limited to, laptop computers, tablets, media players, and / or dedicated videoconferencing equipment. The network (150) represents any number of networks transmitting encoded video data between the terminals (110-140), including, for example, wired and / or wireless communication networks. The communication network (150) may exchange data over circuit-switched and / or packet-switched channels. Exemplary networks include telecommunications networks, local area networks, wide area networks, and / or the Internet. For purposes of this description, unless otherwise noted below, the architecture and topology of the network (150) may not be important to the operation of the present disclosure.
[0025] As an example of an application of the disclosed subject matter, Figure 2 shows a video encoder and decoder arrangement in a streaming environment. The disclosed subject matter can be equally applied to other applications that support video, including, for example, video conferencing, digital TV, and storing compressed video on digital media including CDs, DVDs, memory sticks, and the like.
[0026] The streaming system can include a capture subsystem (213), which can include a video source (201), such as a digital camera, capable of creating an uncompressed video sample stream (202). The sample stream (202) is depicted as a thick line to emphasize its large amount of data compared to an encoded video bitstream. The sample stream (202) can be processed by an encoder (203) coupled to the camera (201). The encoder (203) can include hardware (e.g., a processor, or circuitry and memory), software, or a combination thereof to realize or implement aspects of the disclosed subject matter, which are described in detail below. The encoded video bitstream (204) is depicted as a thin line to emphasize its small amount of data compared to the sample stream. The encoded video bitstream (204) can be stored on a streaming server (205) for future use. One or more streaming clients (206, 208) can access the streaming server (205) to retrieve replicas (207, 209) of the encoded video bitstream (204). The client (206) can include a video decoder (210) that decodes the 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 device (not shown).
[0027] FIG. 3 illustrates a functional block diagram of a video decoder (210) according to one embodiment of the present disclosure. As shown in FIG. 3, the receiver (310) can receive one or more codec video sequences to be decoded by the decoder (210), which, in the same or other embodiments, receives one coded video sequence at a time, with the decoding of each coded video sequence being independent of the other coded video sequences. The coded video sequences can be received from a channel (312), which may be a hardware / software link to a storage device for storing the coded video data. The receiver (310) can receive coded video data and other data, such as coded audio data and / or auxiliary data streams, which can be forwarded to respective using entities (not shown). The receiver (310) can separate the coded video sequences from other data. To prevent network jitter, a buffer memory (315) can be coupled between the receiver (310) and the entropy decoder / parser (320) (hereinafter referred to as the "parser"). When the receiver 310 receives data from a store-and-forward device or an isochronous real-time network with sufficient bandwidth and controllability, the receiver 310 may not require a buffer 315, or the buffer 315 may be small. For use with best-effort packet networks, such as the Internet, the buffer 315 may be required, and the buffer 315 may be relatively large and advantageously have an adaptive 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 a display device that is not part of the decoder but may be coupled to the decoder, such as a display (212). The control information for one or more display devices may be in the form of a supplemental enhancement information (SEI) message or a video usability information (VUI) parameter set fragment (not shown). The parser (320) may parse / entropy decode the received encoded video sequence. The encoding of the encoded video sequence may be performed according to a video coding technique or standard and may follow principles known to those skilled in the art, including variable-length coding, Huffman coding, context-sensitive or non-context-sensitive arithmetic coding, etc. The parser (320) can extract a subgroup parameter set for at least one subgroup of pixels in the video decoder from the coded video sequence based on at least one parameter corresponding to the group. The subgroup can include a group of pictures (GOP), a picture, a tile, a slice, a macroblock, a coding unit (CU), a block, a transform unit (TU), a prediction unit (PU), etc. The entropy decoder / parser can also extract information from the coded video sequence, such as transform coefficients, quantizer parameter values, motion vectors, etc.
[0029] The parser (320) can create symbols (321) by performing entropy decoding / parsing operations on the video sequence received from the buffer (315). The reconstruction of the symbols (321) involves several different units, depending on the type of coded video picture or portion thereof (e.g., inter-picture vs. intra-picture, inter-block vs. intra-block) and other factors. The units involved and the type of involvement are controlled by subgroup control information parsed by the parser (320) from the coded video sequence. For simplicity, the flow of such subgroup control information between the parser (320) and the following units is not shown:
[0030] In addition to the functional blocks already mentioned, the decoder 210 is conceptually subdivided into the following functional units. In an actual implementation operating under business constraints, some of these units may interact closely with each other and may be at least partially integrated with each other. However, for purposes of illustrating the disclosed subject matter, a conceptual subdivision into the following functional units is appropriate:
[0031] The first unit is a scalar / inverse transform unit (351). The scalar / inverse transform unit (351) receives quantized transform coefficients as one or more symbols (321) from the parser (320) and control information, including the transform scheme to be used, block size, quantization factor, quantization scaling matrix, etc. The scalar / inverse transform unit (351) can output blocks containing sample values that are input to an aggregator (355).
[0032] In some cases, the output samples of the scaler / inverse transform 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 current picture. Such prediction information can be provided by an intra-picture prediction unit (352). In some cases, the intra-picture prediction unit (352) uses surrounding reconstructed information extracted from the current (partially reconstructed) picture (356) to generate blocks of the same size and shape as the block being reconstructed. In some cases, the aggregator (355) adds, for each sample, the prediction information generated from the intra-prediction unit (352) to the output sample information provided by the scaler / inverse transform unit (351).
[0033] In other cases, the output samples of the scaler / inverse transform unit (351) may belong to an inter-coded, potentially motion-compensated block. In such cases, the motion compensation prediction unit (353) can access the reference picture memory (357) to extract samples for prediction. After performing motion compensation on the extracted samples based on the symbols (321) belonging to the block, these samples are added by the aggregator (355) to the output of the scaler / inverse transform unit (in this case, referred to as residual samples or residual signals) to generate output sample information. The addresses in the reference picture memory from which the motion compensation unit extracts prediction samples are controlled by motion vectors, which are used by the motion compensation unit in the form of symbols (321), which may have, for example, X, Y, and reference picture components. Motion compensation may also include interpolation of sample values extracted from the reference picture memory when performing motion vector accuracy by sub-samples, motion vector prediction mechanisms, etc.
[0034] Various loop filtering techniques can be employed in the loop filter unit 356 on the output samples of the aggregator 355. Video compression techniques can include in-loop filtering techniques 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 techniques can also be responsive to meta-information obtained during decoding of previous portions (in decoding order) of the encoded picture or encoded video sequence, and previously reconstructed loop-filtered sample values.
[0035] The output of the loop filter unit (356) may be a sample stream, which can be output to the display device (212) and stored in the reference picture memory (356) for use in future inter-picture prediction.
[0036] Once a coded picture is fully reconstructed, it is used as a reference picture for future prediction. For example, once a coded picture is fully reconstructed and the coded picture is recognized as a reference picture (e.g., via the parser (320)), the current reference picture (356) is changed to be part of the reference picture buffer (357), and a new current picture memory is reallocated before starting reconstruction of the subsequent coded picture.
[0037] The video decoder 320 may perform decoding operations according to a predetermined video compression technology, for example, in the ITU-T H.265 Recommendation standard. A coded video sequence conforms to the syntax specified by the video compression technology or standard being used, in the sense that the coded video sequence conforms to the syntax of the video compression technology or standard as presented in the video compression technology document or standard and its profile. Compliance further requires that the complexity of the coded video sequence be within a range limited by the level of the video compression technology or standard. In some cases, the level limits the maximum picture size, maximum frame rate, maximum reconstruction sampling rate (e.g., measured in megasamples per second), and / or maximum reference picture size. In some cases, the limits imposed by the level are further limited by the specifications of a hypothetical reference decoder (HRD) and metadata managed by the HRD buffer signaled in the coded video sequence.
[0038] In one embodiment, the receiver (310) can receive additional (redundant) data and encoded video. 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 be in the form of, for example, temporal, spatial, or SNR enhancement layers, redundant slices, redundant pictures, forward error correction codes, etc.
[0039] FIG. 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) (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 to be encoded by the encoder (203). The digital video sample stream may have any suitable bit depth (e.g., 8-bit, 10-bit, 12-bit, etc.), any suitable 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) can be a storage device for storing previously prepared video, which may include a memory and a processor. In a video conferencing system, the video source (203) can include a camera for capturing local image information as a video sequence. The video data can be provided as multiple individual pictures that, when viewed sequentially, impart motion. The pictures themselves are organized as a spatial pixel array, 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 readily apparent to those skilled in the art. The following explanation will focus on the sample.
[0042] According to one embodiment, the video encoder (203) can encode and compress 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. Running at an appropriate encoding rate is one of the functions of the controller (450). The controller (450) controls and is operatively coupled to other functional units described below. For simplicity, coupling is not shown. Parameters set by the controller may include rate control-related parameters (e.g., picture skip, quantizer, lambda value for rate-distortion optimization techniques), picture size, group of pictures (GOP) placement, maximum motion vector search range, etc. One skilled in the art can easily determine other functions of the controller (450) that belong to a video encoder (203) optimized for a particular system design.
[0043] Some video encoders operate in a manner that those skilled in the art will readily recognize as a "coding loop." In very simple terms, the encoding loop can include an encoding portion of the encoder (430) (hereafter referred to as the "source encoder") responsible for creating a symbol stream based on an 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 lossless in the video compression techniques considered in the disclosed subject matter). The reconstructed sample stream is input into a reference picture memory (434). Decoding the symbol stream produces bit-exact results independent of the decoder location (local or remote), so the contents of the reference picture buffer are bit-exact between the local and remote encoders. In other words, the reference picture samples "seen" by the prediction part of the encoder are exactly the same sample values that the decoder will "see" when using prediction during decoding. The basic principles of such reference picture synchrony (and the drift that occurs when synchrony cannot be maintained, e.g., due to channel error) are well 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), for example, as described in detail above in connection with Figure 3. However, with further brief reference to Figure 3, if symbols are available and the entropy encoder (445) and parser (320) losslessly encode / decode the symbols into an 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 implemented in the local decoder (433).
[0045] At this point, it can be observed that in addition to the analytical / entropy decoding present in the decoder, any decoding techniques are necessarily present in the corresponding encoder in essentially the same functional form. The description of the encoding techniques is the inverse of the fully described decoding techniques. More detailed descriptions are only necessary in certain areas and are provided below.
[0046] As part of its operation, the source encoder (430) can perform motion-compensated predictive encoding, which predictively encodes an input frame with reference to one or more previously encoded frames from a video sequence, designated as “reference frames.” In this manner, the encoding engine (432) encodes the differences between pixel blocks of the input frame and pixel blocks of one or more reference frames selected as the input frame's prediction reference(s).
[0047] The local video decoder (433) can decode the encoded video data of frames that can be designated as reference frames based on symbols created by the source encoder (430). The operation of the encoding engine (432) can advantageously be a lossy process. When the encoded video data is decoded by a video decoder (not shown in FIG. 4), the reconstructed video sequence can generally be a replica of the source video sequence, with some errors. The local video decoder (433) can replicate the decoding process performed by the video decoder on the reference frames and store the reconstructed reference frames in a reference picture cache (434). In this way, the video encoder (203) locally stores replicas of reconstructed reference frames that have common content (free of transmission errors) with the reconstructed reference frames obtained by the remote video decoder.
[0048] The predictor (435) performs a prediction search for the coding engine (432). That is, for a new frame to be coded, the predictor (435) can search the reference picture memory (434) for sample data (referred to as candidate reference pixel blocks) that are suitable prediction references for the new frame, or for metadata, such as reference picture motion vectors, block shapes, etc. The predictor (435) can find suitable prediction references by operating on a pixel block-by-pixel block basis based on the sample blocks. In some situations, as determined by the search results obtained by the predictor (435), the input picture will have prediction references obtained from multiple reference pictures stored in the reference picture memory (434).
[0049] The controller (450) can manage the encoding operations of the video encoder (430), including, for example, setting parameters and subgroup parameters for encoding the video data.
[0050] The output of all the functional units mentioned above can be entropy coded in an entropy coder (445) that performs lossless compression on the symbols produced by each functional unit, converting them into an encoded video sequence, according to techniques known to those skilled in the art, such as Huffman coding, variable length coding, arithmetic coding, etc.
[0051] The transmitter (440) can buffer the encoded video sequence(s) created by the entropy encoder (445) in preparation for transmission over a communication channel (460), which may be a hardware / software link to a storage device for storing the encoded video data. The transmitter (440) can 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 (sources 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 particular encoding picture type, which can affect the encoding technique applied to the corresponding picture. For example, pictures are typically assigned as one of the following picture types:
[0053] An intra-picture (I-picture) may be a picture that is coded and decoded without using any other frame in a sequence as a source of prediction. Some video codecs allow different types of intra-pictures, including, for example, independent decoder refresh ("IDR") pictures. Those skilled in the art are aware of these variations of I-pictures and their corresponding uses and characteristics.
[0054] A predicted picture (P picture) may be a picture that is coded and decoded using intra- or inter-prediction, where at most one motion vector and reference index are used to predict the sample values of each block.
[0055] A bidirectionally predicted picture (B-picture) may be a picture that is encoded and decoded using intra- or inter-prediction, where at most two motion vectors and reference indices are used to predict the sample values of each block. Similarly, a multiple-prediction picture applies more than two reference pictures and associated metadata to the reconstruction of a single block.
[0056] A source picture is typically spatially subdivided into multiple sample blocks (e.g., blocks of 4x4, 8x8, 4x8, or 16x16 samples each) and can be coded block by block. These blocks can be predictively coded with reference to other (coded) blocks, which are determined by the coding assignment applied to the block's corresponding picture. For example, blocks of an I-picture can be non-predictively coded, or they can be predictively coded (spatial prediction or intra prediction) with reference to already coded blocks of the same picture. Pixel blocks of a P-picture can be predictively coded via spatial or temporal prediction with reference to one previously coded reference picture. Blocks of a B-picture can be predictively coded via spatial or temporal prediction with reference to one or two previously coded reference pictures.
[0057] The video encoder (203) may perform encoding operations based on a given video encoding technique or standard, such as the ITU-T H.265 recommendation. In doing so, the video encoder (203) may perform various compression operations, including predictive encoding operations that use temporal and spatial redundancies in the input video sequence. Thus, the encoded video data may conform to the syntax specified by the video encoding technique or standard being used.
[0058] In one embodiment, the transmitter (440) can transmit additional data and the encoded video. The source encoder (430) may include such data as part of the encoded video sequence. The additional data may include temporal / spatial / SNR enhancement layers, other forms of redundant data such as redundant pictures and slices, Supplemental Enhancement Information (SEI) messages, Video Usability Information (VUI) parameter set fragments, etc.
[0059] As noted above, the encoding of the encoded video sequence may be performed according to any video coding technique or standard, and may follow principles known to those skilled in the art, including variable length coding, Huffman coding, context-sensitive or non-context-sensitive arithmetic coding, etc. In a particular streaming system, the video bitstreams (204, 207, 209) may be encoded according to certain video coding / compression standards, examples of which include the ITU-T HEVC Recommendation for H.265.
[0060] In HEVC, the main transform has a 4-point, 8-point, 16-point or 32-point DCT-2 transform core matrix, and the transform core matrix may be expressed as an 8-bit integer (i.e., an 8-bit transform core matrix). The HEVC transform core matrix of the small DCT-2 is a part of the large DCT-2, and is shown as follows:
[0061] 4x4 DCT-2 transformation JPEG2025072600000002.jpg51166
[0062] 8x8 DCT-2 transformation TIFF2025072600000003.tif44140
[0063] 16x16 DCT-2 transformation JPEG2025072600000004.jpg83140
[0064] 32x32 DCT-2 transform JPEG2025072600000005.jpg78152
[0065] As mentioned above, each DCT-2 core exhibits symmetric / antisymmetric properties. Therefore, it supports the implementation of so-called "partial butterfly" to reduce the number of operation counts (multiplication, addition / subtraction, shift), and the same result of matrix multiplication can be obtained by the partial butterfly. For more details on HEVC transform design, please refer to Non-Patent Document 1.
[0066] A video coding standard informally called Versatile Video Coding (VVC) is under development, and the disclosed subject matter can be used in the context of VVC.
[0067] The primary transform in VVC may include 4-point, 8-point, 16-point, and 32-point DCT-2 transforms similar to those in HEVC, as well as other 2-point, 64-point, and 128-point DCT-2 transforms. The 2-point DCT-2 core may be an 8-bit integer matrix in line with the HEVC primary transform design, but the 64-point and 128-point DCT-2s use a 10-bit transform core, which means that the 2-point, 4-point, 8-point, 16-point, and 32-point DCT-2 transforms cannot be extracted from the 64-point DCT-2 core or the 128-point DCT-2 core in VVC.
[0068] Below is a portion of an exemplary 64-point DCT-2 core 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,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,bk,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,-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa,aaaaaaaaaaaaaaaaaaaaaaaa,aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa,aaaaaaaaaaaaaaaaaaaa,aaaaaaaaaaaaaaaaaaaa being haing-ing-aaa ,aa,-aa,-aa,aa,aa,-aa,-aa,aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa,-aa,aa,aa,aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa,-aaa,-aa,-aa,-aa,-aa,-aa,-aa,-aa,-aa,-aa,-aa,-aa,-aa,-aa,-aa,aa,-aa,aa,-aa,aa,-aa,aa,-aa,aa,-aa,-aa,aa,-aa,aa,-aa,aa,aaa {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 {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,-ci,-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,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,-eh,}-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,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 {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,q,-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,-bce,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,-a,-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,-a,-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 the DCT-2 and 4x4 DST-7 employed in HEVC, a method of adaptive multiple transform (AMT, also called 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. The newly introduced transform matrices may include DST-7, DCT-8, DST-1, and DCT-5. Table 1 below shows exemplary basis functions of selected DST / DCT.
[0072] [Table 1]
[0073] To maintain the orthogonality of the transform matrices, compared to those in HEVC, the transform matrices can be accurately quantized with a 10-bit representation instead of the 8-bit representation in HEVC. After the horizontal and vertical transforms, to keep the intermediate values of the transformed coefficients within the 16-bit range, all coefficients can be further right-shifted by 2 bits, compared to the right shift used in current HEVC transforms. AMT can be applied to coding units (CUs) whose width and height are both 64 or less, and whether to apply AMT can be controlled by a CU-level flag. If the CU-level flag is equal to 0, a DCT-2 can be applied to the CU to encode the residual. For luma coding blocks within a CU with AMT enabled, two additional flags can be signaled to identify the horizontal and vertical transforms to be used.
[0074] For intra residual coding, because the residual statistics for different intra prediction modes are different, a mode-related transform candidate selection process can be used. As shown in Table 2 below, three transform subsets can be defined, and the transform subset can be selected based on the intra prediction mode specified in Table 3 below. [Table 2]
[0075] Using the subset concept, first, the intra prediction modes of CUs whose CU-level AMT flags are equal to 1 can be used to recognize a transform subset based on Table 3. Then, for each of the horizontal and vertical transforms, one of the two transform candidates in the transform subset recognized based on Table 2 can be selected based on the explicit signal representation using the flags.
[0076] [Table 3]
[0077] However, for inter prediction residuals, only one transform set consisting of DST-7 and DCT-8 can be used for all inter modes and horizontal and vertical transforms. Of the four additional transform types, DST-7, DCT-8, DST-1, and DCT-5, the most effectively used transform types are DST-7 and DCT-8. Note that DCT-8 is essentially a left-right inversion of the DST-7 basis by changing the sign, so DCT-8 and DST-7 can essentially share the same transform basis.
[0078] The transform core of DST-7 is a matrix composed of basis vectors, which can also be expressed as: 4-point DST-7: JPEG2025072600000009.jpg 401418 points DST-7: JPEG2025072600000010.jpg 5914716 points DST-7: JPEG2025072600000011.jpg 7614432 points DST-7: JPEG2025072600000012.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 formula shown in Table 1, and their values may differ for different sizes of DST-7. For example, the value of "a" may be different for a 4-point DST-7 and an 8-point DST-7. To avoid floating-point operations, the transform core of the DST-7, similar to the DCT-2 core used in HEVC, is, for example, TIFF2025072600000013.tif16158 (compatible with 8-bit conversion core), or It may be scaled by a predefined factor such as TIFF2025072600000014.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 main transform cores including DCT-2 may be represented by 10-bit integers, i.e., 10-bit transform cores, although at least one (but not all) of the main transform cores may be represented by 10-bit integers.
[0081] The main transform in VVC can apply 8-bit (e.g., used for all transform sizes except 64-point or larger) and 10-bit (e.g., used for transforms larger than 64-point) transform cores. In this application, for example, 2, 4, 8, 16, and 32-point DCT-2 transform cores cannot be extracted from a 64-point DCT-2 transform core, which inevitably increases the application cost of the main transform because a single 64-point transform core requires additional storage and logic for implementation. Compared with a 10-bit main transform core, an 8-bit main transform core reduces complexity by reducing the memory required to store the transform core and reducing the input bit width of the multiplier / addition / subtraction operations.
[0082] Therefore, the present disclosure provides a set of 8-bit main transform cores for all transform size types applied to the exemplary AMT, including DCT-2, DCT-5, DCT-8, DST-1, and DST-7. The exemplary methods proposed below can be used alone or in combination in any order.
[0083] Referring to FIG. 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 prime 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 of FIG. 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 prime transform core matrix, which has a core matrix represented by 8 bits and having a size of 64 points or greater. A method according to one aspect of the present disclosure may further include step 503. Step 503 includes, if the result of the determination is to use a first transform core matrix having a first size type, generating or transmitting information causing the target file for encoding or decoding to be encoded or decoded using an 8-bit main transform core matrix having a size of 64 points or greater. The method of Figure 5 may further include step 504. Step 504 includes, if the result of the determination is to use a second transform core matrix having a second size type 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 greater, and generating or transmitting information causing the target file for encoding or decoding to be encoded or decoded using the extracted second transform core matrix having the second size type.
[0084] The method shown in Figure 5 may further include performing, by one or more processors, processing steps 501-504. The method shown in Figure 5 may further include pre-storing, by the one or more processors, the 8-bit main transform core matrix in a memory before or during performance of steps 501-504.
[0085] The method shown in FIG. 5 may further include: the first transform core matrix is a 64-point 8-bit main transform core matrix, constructed using 31 integers and additional 32 integers for constructing a 32-point 8-bit main transform core matrix, wherein the additional 32 integers are 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; 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}, including their respective sign inversions, 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 illustrated in FIG. 5 may further include constructing a 128-point 8-bit main conversion core using 63 integers for constructing the 64-point 8-bit main conversion core and additional 64 integers, where the additional 64 integers include 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 their respective positive and negative conversions, where these additional 64 integers are {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 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] 5 may further include: a size of the 8-bit main transform core matrix is 64 points or 128 points; and the method shown in FIG. 5 may further include: a left half or a right half of an even-numbered or odd-numbered row of the 8-bit main transform core matrix forms a matrix similar to the second transform core matrix, and the 8-bit main transform core matrix is any one of DCT-2, DCT-5, DCT-8, DST-1, and DST-7, and / or the second transform core matrix is any one of DCT-2, DCT-5, DCT-8, DST-1, and DST-7.
[0088] 5 may further include: the 8-bit main transform core matrix is the same as the second transform core matrix, and is any 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 transform core matrix is an 8-bit 64-point DCT-2 transform matrix, and / or the second transform core matrix is an 8-bit 32-point DCT-2 transform matrix.
[0089] The method shown in Figure 5 may further include deriving an 8-bit N-point main transform core matrix composed of M unique numerical values by the following steps shown in Figure 6. Figure 6 shows step 601. Step 601 includes deriving an initial transform core matrix by scaling an original transform core using a scale factor. For example, step 601 may include deriving an initial transform core matrix by scaling an original transform core using a scale factor of 2 B-2 ×log2(N), T1 = T0 × 2 B-2 The method includes deriving an initial transform core matrix T1 by scaling the original transform core T0, which is composed of floating-point numbers, to be ×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] 6 may further include step 602. Step 602 includes deriving an adjusted transform core matrix. For example, step 602 may include deriving the adjusted transform core matrix (T2) by adding an offset to a selected set of M unique numerical values for constructing an adjusted main transform core matrix T2.
[0091] 6 may further include step 603. Step 603 may include calculating a cost value C as the sum of the absolute values of all elements. For example, step 603 may calculate the cost value C as (T1 * T1 T -2 2B-4 ×log2(N) 2 × I), where I is an N×N identity matrix.
[0092] 6 may further include step 604. Step 604 includes updating the adjusted transformation matrix. For example, step 604 may include updating the adjusted transformation matrix T2 by adding the calculated offset value to T2 so 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 of Figure 6, the offset value for each of the M unique numerical values may include one or more of the following values: -2, -1, 0, +1, and +2. The method of Figure 6 may also include minimizing the cost value C by trying all possible combinations of offset values for the selected set of M unique numerical values, and then outputting T2 as an 8-bit N-point prime transform core matrix.
[0094] Next, different types of transform cores (transform core matrices) will be described. For example, a 64-point DCT-2 transform core may be represented by an 8-bit integer, and the left half of the even rows (rows 0, 2, 4, ... 30) of the transform core matrix will form the same matrix as a 32-point DCT-2 transform core matrix. In one embodiment, the 64-point DCT-2 core matrix can be derived by the following setting parameters: {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] The 128-point DCT-2 transform core may be represented by an 8-bit integer, and the left half of the even rows (rows 0, 2, 4, ..., 126) of the transform core matrix forms the same matrix as the 64-point DCT-2 transform core matrix. In one embodiment, the 128-point DCT-2 transform core matrix can be derived using the following setting parameters: {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] A B-bit N-point master transform core consisting of M unique numbers (regardless of sign and zero) can be derived by the following steps: (a) Scale factor 2 B-2 ×log2(N), Tl = T0x2 B-2 (b) derive an initial transform core T1 by scaling the original transform core T0, which is composed of floating-point numbers, so that it is (T1 * T1), and the row vectors, i.e., the basis vectors, of T0 are orthogonal to each other and the norm of each row vector is 1; (b) derive an adjusted transform core T2 by trying to add an offset to the selected set of M unique numbers for constructing the main transform core T2; and (c) calculate the cost value C by (T1 * T1 T -2 2B-4 ×log2(N) 2 ×I), where I is an N×N identity matrix. Then, the offset value that minimizes the cost value can be added to T2 to update T2. Exemplary offset values for each of the M unique numbers include, but are not limited to, −2, −1, 0, +1, and +2. After minimizing the cost value by trying all possible combinations of offset values for the selected set of M unique numbers, T2 is output as a B-bit N-point primary transform core.
[0097] When deriving an N-point DCT-8 and DST-7 transform core, the set of M unique numbers for constructing the N-point DCT-8 core matrix and the set of M unique numbers for constructing the N-point DST-7 core matrix may be restricted to be the same set. In one embodiment, M is equal to N. In one embodiment, the following shows an 8-bit DCT-8 and DST-7 transform core. For example, a 4-point DST-7 core may have four unique numbers including 28, 55, 74, and 84, which is the same as the set of four unique numbers for constructing a 4-point DCT-8 core.
[0098] 4-point DST-7: {29,55,74,84,} {74,74,0,-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,} {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-point 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 numbers, the cost value is minimized, and then T2 is output as a B-bit N-point main conversion core.
[0100] When deriving a 2N-point DST-1 transform core, the set of M unique values for constructing the 2N-point DST-1 core matrix is constrained to be the same as the set of M unique values for constructing the N-point DST-7 and / or N-point DCT-8 core matrix. In one embodiment, M equals N. In one embodiment, one of the 8-bit DST-1 transform cores shown below can be used. For example, an 8-point DST-1 has four unique values, including 28, 55, 74, and 84, which are the same as the set of four unique values for constructing a 4-point DST-7 and a 4-point DCT-8 core using the M equals N embodiment described above.
[0101] The 8-bit DST-1 conversion core may include: 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 transform cores can be used for the main transform. By way of example, an 8-bit DCT-5 transform core can be shown as follows: 4-point DCT-5: {47,69,69,69,} {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,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,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,-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,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-point DCT-5: {44,6 ...} {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 techniques for encoding / decoding are performed by one or more processors capable of executing computer software having computer-readable instructions that are physically stored on one or more computer-readable media (e.g., hard disk drives). For example, Figure 7 illustrates a computer system 700 suitable for implementing some embodiments of the disclosed subject matter.
[0104] Computer software can be encoded in any suitable machine code or computer language, and can be, through mechanisms such as assembling, compiling, linking, etc., created to create code including instructions that can be executed directly by one or more computer central processing units (CPUs), graphics processing units (GPUs), etc., or that can be interpreted, executed by microcode, etc.
[0105] The instructions may be executed by various types of computers or components thereof, including, for example, personal computers, tablets, servers, smartphones, gaming devices, Internet of Things devices, etc.
[0106] 7 are exemplary in nature and are not intended to imply any limitation on the scope or functionality of the computer software used to implement embodiments of the present disclosure. The arrangement of components should not be interpreted as having any dependency or requirement relating to any one or combination of components illustrated in the exemplary embodiment of computer system 700.
[0107] The computer system 700 may also include certain human interface input devices. Such human interface input devices may respond to one or more human user inputs, for example, via tactile input (e.g., keystrokes, slides, data glove movements), audio input (e.g., voice, claps), visual input (e.g., posture), and olfactory input (not shown). The human interface devices may also be used to capture certain media not necessarily directly related to conscious human input, such as audio (e.g., voice, music, ambient sounds), images (e.g., scanned images, photographic images obtained from static image capture devices), and video (e.g., two-dimensional video, three-dimensional video including stereo video).
[0108] The human interface input devices may include one or more of a keyboard 701, a mouse 702, a touchpad 703, a touch panel 710, a data glove 704, a joystick 705, a microphone 706, a scanner 707, and an imaging device 708 (only one of each is shown).
[0109] The computer system 700 may also include certain human interface output devices. Such human interface output devices may stimulate one or more of the human user's senses, for example, through haptic output, sound, light, and smell / taste. Such human interface output devices may include haptic output devices (e.g., haptic feedback via a touch panel 710, data gloves 740, or joystick 705, although some haptic feedback devices may not be used as input devices), audio output devices (e.g., speakers 709, headphones (not shown)), visual output devices (e.g., a screen 710, including a CRT screen, LCD screen, plasma screen, or OLED screen, each with or without touchscreen input capability and with or without haptic feedback capability, some of which may be capable of outputting two-dimensional visual output or three-dimensional or higher-dimensional output, such as by means of stereo output), virtual reality glasses (not shown), holographic displays and smoke tanks (not shown), and printers (not shown).
[0110] Computer system 700 may also include human-accessible storage devices and associated media, such as optical media such as CD / DVD ROM / RW 720 with media 721 such as CD / DVD, thumb drive 722, removable hard drive or solid state drive 723, conventional magnetic media such as magnetic tape and floppy disks (not shown), dedicated ROM / ASIC / PLD based devices such as dongles (not shown), etc.
[0111] Additionally, those skilled in the art should understand that the term "computer-readable medium" as used in connection with the presently disclosed subject matter does not include transmission media, carrier waves, or other transitory signals.
[0112] The computer system 700 may further include interfaces to one or more communications networks. The networks may be, for example, wireless, wired, optical, etc. The networks may also be local, wide-area, metropolitan, in-vehicle, industrial, real-time, delay-tolerant, etc. Examples of networks include, for example, local area networks such as Ethernet; cellular networks including WLAN, GSM, 3G, 4G, 5G, LTE, etc.; television wired or wireless wide-area digital network television, including cable television, satellite television, and terrestrial television; and vehicle and industrial networks including CANbus. Certain networks typically require connection to an external network interface adapter on some general-purpose data port or peripheral bus (749) (e.g., a USB port on the computer system 700), while other networks are typically 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 communication may be one-way, receive only (e.g., broadcast television), one-way transmit only (e.g., a CANbus to a CANbus device), or two-way, for example, using a local-area or wide-area digital network to reach another computer system. 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 may be attached to 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, etc. These devices, along with read-only memory (ROM) 745, random access memory 746, and internal mass storage device 747, such as an internal hard disk drive or SSD that is not user accessible, may be connected via a system bus 748. In some computer systems, the system bus 748 may be accessible in the form of one or more physical plugs, allowing expansion with additional CPUs, GPUs, etc. Peripheral devices may 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 certain instructions, which, when combined, constitute the computer code referred to above. The computer code may be stored in ROM 745 or RAM 746. Temporary data may also be stored in RAM 746, while permanent data may be stored, for example, in internal mass storage device 747. Cache memory may be used to enable fast storage and retrieval of any memory device in memory, and may be closely associated with one or more of the CPU 741, GPU 742, mass storage device 747, ROM 745, RAM 746, etc.
[0116] The computer-readable medium may have computer code thereon for performing various computer-implemented operations. The medium and computer code may be specially designed and constructed for the purposes of the present disclosure, or they may be of the type well known and available to those skilled in the art of computer software.
[0117] By way of example and not limitation, a computer system having architecture 700, and in particular core 740, can provide functionality by having one or more processors (including CPUs, GPUs, FPGAs, accelerators, etc.) execute software embodied in one or more tangible computer-readable media. Such computer-readable media may be user-accessible mass storage media, as described above, as well as non-transitory specific storage devices of core 740, such as core internal mass storage 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 particular needs, computer-readable media may include one or more storage devices or chips. The software can cause core 740, and in particular the processors therein (including CPUs, GPUs, FPGAs, etc.), to perform particular processes or portions of particular processes described herein, including defining data structures stored in RAM 746 and modifying such data structures through software-defined operations. Additionally or alternatively, a computer system may provide functionality by hardwired logic or other circuitry (e.g., accelerator 744) that may operate in place of or in conjunction with software to perform particular operations or portions of particular operations described herein. 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., an integrated circuit (IC)) on which software is stored for execution, circuitry embodying logic for execution, or both. The present disclosure includes any appropriate combination of hardware and software.
[0118] While this disclosure has described several exemplary embodiments, there are alterations, substitutions, and various substitute equivalents that fall within the scope of this disclosure. It should thus be understood that those skilled in the art will be able to devise many systems and methods that, although not explicitly shown or described herein, embody the principles of the present disclosure and are therefore within its spirit and scope.
[0119] (Appendix 1) A method for decoding or encoding performed by an encoder or decoder, comprising: receiving information regarding 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; In a process of encoding or decoding the target file, 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, wherein the first size type is an 8-bit main transform core matrix, and the 8-bit main transform core matrix has a core matrix represented by 8 bits and having a size equal to or greater than 64 points; When it is determined to use a first transform core matrix having the first size type, 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; When it is determined to use a second transform core matrix having the second size type 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; A method comprising: (Appendix 2) 2. The method of claim 1, further comprising the step of pre-storing the 8-bit master transform core matrix in a memory before performing the step of receiving information about a target file for encoding or decoding. (Appendix 3) the first transform core matrix is a 64-point 8-bit primary transform core matrix, and the 64-point 8-bit primary transform core matrix is constructed using 31 integers for constructing a 32-point 8-bit primary transform core matrix and additional 32 integers, the additional 32 integers including 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; 2. The method of claim 1, wherein the additional 32 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}. (Appendix 4) The first transform core matrix is a 128-point 8-bit primary transform core matrix, and the 128-point 8-bit primary transform core matrix is constructed using 63 integers for constructing a 64-point 8-bit primary transform core matrix and additional 64 integers, and the additional 64 integers are 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 changes (sign changes), as well as 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 ,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 ,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}. (Appendix 5) 5. The method according to any one of Supplementary notes 1 to 4, wherein the size of the 8-bit main transform core matrix is 64 points or 128 points. (Appendix 6) The left half or right half of the even or odd rows of the 8-bit main transform core matrix forms a matrix similar to the second transform core matrix; The 8-bit main transform core matrix is one of DCT-2, DCT-5, DCT-8, DST-1 and DST-7; 5. The method according to any one of appendices 1 to 4, wherein the second transform core matrix is any one of DCT-2, DCT-5, DCT-8, DST-1 and DST-7. (Appendix 7) 7. The method of claim 6, wherein the 8-bit main transform core matrix is the same as the second transform core matrix and is any one of DCT-2, DCT-5, DCT-8, DST-1, and DST-7. (Appendix 8) 8. The method of claim 7, wherein the 8-bit main transform core matrix is an 8-bit 64-point DCT-2 transform matrix and the secondary transform core matrix is an 8-bit 32-point DCT-2 transform matrix. (Appendix 9) The method for deriving the 8-bit N-point main transform core matrix, which is composed of M unique numbers, is as follows: Scale Factor 2 B-2 ×log2(N), Tl = T0 × 2 B-2 deriving an initial transform core matrix Tl by scaling an original transform core T0 composed of floating-point numbers to be ×log2(N), where B=8, the row vectors of T0 are orthogonal to each other, and the norm of each row vector is 1; deriving the adjusted primary transform core matrix T2 by adding an offset to the selected set of M unique numerical values to construct the adjusted primary transform core matrix T2; (T1*T1 T -2 2B-4 ×log2(N) 2 calculating a cost value C as the sum of the absolute values of all elements of (N×N × I), where I is an N×N identity matrix; A method according to any one of Supplementary Notes 1 to 4, comprising: a step of updating the adjusted transformation matrix T2 by adding the calculated offset value to T2 so that the cost value is minimized in T2, and a step of outputting the adjusted transformation matrix T2 as the 8-bit N-point main transformation core matrix. (Appendix 10) 10. The method of claim 9, further comprising: after minimizing the cost value C by trying all possible combinations of offset values for a selected set of M unique numerical values, T2 is output as the 8-bit N-point prime transform core matrix. (Appendix 11) A decoding or encoding device, comprising: at least one memory arranged to store computer program code; at least one processor configured to access said at least one memory and to operate on said computer program code; Including, The computer program code first application code configured 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 being one of a compressed video or image data file and an uncompressed video or image data file; second application code configured to cause the at least one processor to determine 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 in the process of encoding or decoding the target file, wherein the first size type is an 8-bit primary transform core matrix, and the 8-bit primary transform core matrix has a core matrix represented by 8 bits and having a size of 64 points or more; third application code configured to cause the at least one processor to encode or decode the target file for encoding or decoding using the 8-bit main transform core matrix having a size of 64 points or more when it is determined to use a first transform core matrix having the first size type; fourth application code configured to, when it is determined to use a second transform core matrix having the second size type smaller than the first size type, extract 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 cause the at least one processor to encode or decode the target file for encoding or decoding using the extracted second transform core matrix having the second size type; An apparatus comprising: (Appendix 12) the first transform core matrix is a 64-point 8-bit main transform core matrix, and the 64-point 8-bit main transform core matrix is constructed using 31 integers for constructing a 32-point 8-bit main transform core matrix and additional 32 integers, the additional 32 integers including 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; 12. The apparatus of claim 11, wherein the additional 32 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}. (Appendix 13) The first transform core matrix is a 128-point 8-bit primary transform core, and the 128-point 8-bit primary transform core matrix is constructed using 63 integers for constructing a 64-point 8-bit primary transform core matrix and additional 64 integers, and the additional 64 integers are 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 changes (sign changes), and these are 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,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 12. The apparatus of claim 11, wherein the number of pulses is equal to {0, 90, 89, 89, 89, 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}. (Appendix 14) 14. The device according to any one of Supplementary notes 11 to 13, wherein the size of the 8-bit main transform core matrix is 64 points or 128 points. (Appendix 15) The left half or right half of the even or odd rows of the 8-bit main transform core matrix forms a matrix similar to the second transform core matrix; The 8-bit main transform core matrix is one of DCT-2, DCT-5, DCT-8, DST-1 and DST-7; 14. The apparatus according to any one of Supplementary notes 11 to 13, wherein the second transform core matrix is any one of DCT-2, DCT-5, DCT-8, DST-1 and DST-7. (Appendix 16) 16. The apparatus of claim 15, wherein the 8-bit main transform core matrix is the same as the second transform core matrix and is any one of DCT-2, DCT-5, DCT-8, DST-1, and DST-7. (Appendix 17) 17. The apparatus of claim 16, wherein the 8-bit main transform core matrix is an 8-bit 64-point DCT-2 transform matrix and the secondary transform core matrix is an 8-bit 32-point DCT-2 transform matrix. (Appendix 18) The fourth application code is further configured to derive an 8-bit N-point prime transform core matrix composed of M unique numerical values by causing the at least one processor to perform the following steps: Scale Factor 2 B-2 ×log2(N), Tl = T0 × 2 B-2 deriving an initial transform core matrix Tl by scaling the original transform core T0 composed of floating-point numbers so that Tl 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; deriving the adjusted primary transform core matrix T2 by adding an offset to the selected set of M unique numerical values for constructing the adjusted primary transform core matrix T2; (T1*T1 T -2 2B-4 ×log2(N) 2 calculating a cost value C as the sum of the absolute values of all elements of (N×N × I), where I is an N×N identity matrix; updating the adjusted transformation matrix T2 by adding the calculated offset value to T2 so that the cost value is minimized in T2, and outputting the adjusted transformation matrix T2 as the 8-bit N-point main transformation core matrix. (Appendix 19) 19. The apparatus of claim 18, wherein the fourth application code is further configured to cause the at least one processor to output T2 as the 8-bit N-point prime transform core matrix after minimizing the cost value C by trying all possible combinations of offset values for the selected set of M unique numerical values. (Appendix 20) A decoding or encoding device, comprising: 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 determination module for 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 in the process of encoding or decoding the target file, wherein the first size type is an 8-bit main transform core matrix, and the 8-bit main transform core matrix has a core matrix represented by 8 bits and having a size of 64 points or more; a first processing module for 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 when it is determined to use a first transform core matrix having the first size type; and a second processing module for, when it is determined to use a second transform core matrix having the second size type 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 greater, and encoding or decoding the target file for encoding or decoding using the extracted second transform core matrix having the second size type. (Appendix 21) A computer program comprising instructions for causing one or more processors to perform the following operations: receiving information regarding a target file for encoding or decoding, the target file for encoding or decoding being 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, determine 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, wherein the first size type is an 8-bit main transform core matrix, and the 8-bit main transform core matrix has a core matrix represented by 8 bits and having a size of 64 points or more; When it is determined to use a first transform core matrix having the first size type, the target file for encoding or decoding is encoded or decoded using the 8-bit main transform core matrix having a size of 64 points or more; A computer program for 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 greater when it is determined to use a second transform core matrix having the second size type smaller than the first size type, and encoding or decoding a target file for encoding or decoding using the extracted second transform core matrix having the second size type.
Claims
[Claim 1] A processor-implemented method for decoding, comprising: receiving information regarding a target file for decoding, the target file for decoding being one of a compressed video or image data file and an uncompressed video or image data file; determining whether to use a first transform core matrix of a first size type or a second transform core matrix of a second size type smaller than the first size type in decoding the target file, the first transform core matrix of the first size type being an 8-bit main transform core matrix, the 8-bit main transform core matrix having a core matrix represented by 8 bits and having a size of 64 points or more; When it is determined to use a first transform core matrix of the first size type, the target file for decoding is decoded using the 8-bit main transform core matrix having a size of 64 points or more; When it is determined to use a second transform core matrix of the second size type smaller than the first size type, extracting a second transform core matrix of the second size type from the 8-bit main transform core matrix having a size of 64 points or more, and decoding the target file for decoding using the extracted second transform core matrix of the second size type; the first transform core matrix is a 64 point 8 bit primal transform core matrix, the 64 point 8 bit primal transform core matrix being constructed using 31 integers used to construct a 32 point 8 bit primal transform core matrix and an additional 32 integers; The 8-bit main transform core matrix is one of DCT-2, DCT-5, DCT-8, DST-1, and DST-7; The method of claim 1, wherein the second transform core matrix is one of DCT-2, DCT-5, DCT-8, DST-1, and DST-7.
Citation Information
Patent Citations
Multiple enhanced transformations for prediction residuals
JP2018506905A
Transform and Quantization Architecture for Video Coding and Decoding
US20120082212A1