Method, device and computer program for decoding
Patent Information
- Application Number
- JP2024050625
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2018-12-19
- Filing Date
- 2024-03-27
- Publication Date
- 2025-02-25
- Estimated Expiration
- 2039-06-03
AI Technical Summary
【0020】 非一時的なコンピュータ読み取り可能な記憶媒体に記憶される命令はさらに、以下の動作を1つ以上のプロセッサに実行させてもよく、即ち、前記決定の結果が前記第1サイズタイプを有する第1変換コア行列を使用することである場合に、前記符号化又は復号化のための対象ファイルを、64ポイント以上のサイズを有する前記8ビットの主変換コア行列を使用して符号化又は復号化するようにする情報を生成又は伝送し、及び、前記決定の結果が前記第1サイズタイプよりも小さい前記第2サイズタイプを有する第2変換コア行列を使用することである場合に、64ポイント以上のサイズを有する前記8ビットの主変換コア行列から前記第2サイズタイプを有する第2変換コア行列を抽出し、前記符号化又は復号化のための対象ファイルを、抽出された前記第2サイズタイプを有する第2変換コア行列を使用して符号化又は復号化するようにする情報を生成又は伝送する。
Smart Images

Figure 0007635447000014 
Figure 0007635447000015 
Figure 0007635447000016
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 coding / 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 conversion core having a size of 64×64 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 sequence of pictures, each with spatial dimensions of, for example, 1920x1080 luma samples and associated chroma samples. This sequence of pictures can have a fixed or variable picture rate (also informally called frame rate), for example, 60 pictures per second or 60 Hertz (Hz). Uncompressed video has high bitrate requirements. For example, a 1080p60 4:2:0 video (resolution of 1920x1080 luma samples at a 60Hz frame rate) with 8 bits per sample requires a bandwidth close to 1.5Gbit / s. One hour of such video requires more than 600GB of storage capacity.
[0004] One goal of video encoding and decoding may be to reduce redundancy in a video input signal by 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 may be employed. Lossless compression refers to techniques that can reconstruct an exact replica of the original signal from the compressed original signal. When lossy compression is used, the reconstructed signal may differ from the original signal, but the distortion between the original signal and the reconstructed signal is small enough to make the reconstructed signal useful in the expected application. In the case of video, lossy compression is widely adopted. The amount of distortion that is tolerated varies from application to application, for example, users of certain consumer streaming applications tolerate higher distortion than users of television streaming applications. The achievable compression ratio may reflect that the higher the permitted / tolerable distortion, the higher the achievable compression ratio.
[0005] Those skilled in the art generally understand video compression / decompression technology. In general, 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 the sake of convenience of reading, the compression of video files is described. To generate a compressed video file, in a typical standard (e.g., H.264, H.265), a division or analysis is performed 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 a sample of 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 such weighted sample values of the two reference blocks may be added 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 in the "past" of the B picture being reconstructed (in display order) and the other is in the "future" of the B picture being reconstructed, 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 reference picture selection concept for bidirectionally predicted pictures is relaxed, so that the reference picture only needs to be earlier in the decoding order, but not necessarily earlier in the display order. The concept of time is also relaxed, since neither H.264 nor H.265 require constraints / fixed picture intervals in the time domain. Thus, the decoder cannot calculate the weighting factor 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 shows the H.265 / HEVC standard. However, the inventors have already considered the need for standardization of future video coding technologies with 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 can include version 1 (2013), version 2 (2014), version 3 (2015) and version 4 (2016) published by ITU-T VCEG (Q6 / 16) ISO / IEC MPEG (JTC l / 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, in order to reduce the complexity, reduce the memory for storing the transform core, and / or reduce the width of the input bits of the multiplier / addition / subtraction operation, a large core of 8 bits (e.g., 64 points or more) is necessary in VVC. In general, since it is not possible to extract 8 bits of 2 points, 4 points, 8 points, 16 points and 32 points of 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, since it requires additional memory and logic for implementation. Compared with a 10 bit main transform core, an 8 bit main transform core reduces the complexity, since it reduces the memory for storing the transform core and reduces the width of the input bits of the multiplier / addition / subtraction operation. [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, the target file for encoding or decoding being 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, the first transform core matrix having the first size type being an 8-bit prime transform core matrix, the 8-bit prime transform core matrix having a core matrix represented in 8 bits and having a size equal to or greater than 64 points. 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 a target file for the encoding or decoding 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, 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 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 or 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 a first application code, a second application code, a third application code, and a fourth application code.
[0017] The first application code may be arranged to cause the at least one processor to receive information regarding a target file for encoding or decoding, the target file for encoding or decoding being one of a compressed video or image data file and an uncompressed video or image data file. The second application code may be arranged 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 equal to or greater than 64 points.
[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 equal to or greater than 64 points, 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 equal to or greater than 64 points, 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, 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.
[0019] According to one aspect of the present disclosure, a non-transitory computer-readable storage medium has stored thereon 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 main transform core matrix, the 8-bit main transform core matrix having a core matrix represented in 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 to encode or decode 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, generate or transmit information 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 more, and encode or decode the target file for the encoding or decoding using the extracted second transform core matrix having the second size type. [Brief description 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. [Diagram 2] FIG. 1 is a schematic diagram of a simplified block diagram of a streaming system according to one embodiment. [Diagram 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. [Diagram 5] 2 is a schematic diagram of an exemplary method of encoding or decoding according to one embodiment; [Figure 6] FIG. 13 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 PREFERRED EMBODIMENTS
[0022] FIG. 1 shows a simplified block diagram of a communication system (100) according to an embodiment of the present disclosure. The system (100) may include at least two terminals (110, 120) connected to each other via a network (150). For one-way data transmission, a first terminal (110) may encode video data at a local location 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 restored 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 the bidirectional transmission of data, each terminal (130, 140) can encode video data captured at a local location and transmit it to the other terminal over the network (150). Each terminal (130, 140) can also receive encoded video data transmitted from the other terminal, decode the encoded data, and display the reconstructed 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, 140, but the principles of the present disclosure are not limited thereto. The embodiments of the present disclosure may be applied to other devices, including, but not limited to, laptop computers, tablets, media players, and / or dedicated video conferencing equipment. The network (150) represents any number of networks that transmit encoded video data between the terminals (110-440), including, for example, wired and / or wireless communication networks. The communication network (150) may exchange data in circuit-switched and / or packet-switched channels. Representative networks include telecommunications networks, local area networks, wide area networks, and / or the Internet. For purposes described in this application, unless otherwise interpreted 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 the like, storing compressed video and the like 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 the 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 the small amount of data compared to the sample stream. The encoded video bitstream (204) can be stored in 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 encoded video sequence at a time, with the decoding of each encoded video sequence being independent of the other encoded video sequences. The encoded video sequences can be received from a channel (312), which may be a hardware / software link to a storage device for storing the encoded video data. The receiver (310) can receive the encoded video data and other data, such as encoded audio data and / or auxiliary data streams, which can be forwarded to a respective using entity (not shown). The receiver (310) can separate the encoded video sequences from the 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 coded video sequence. As shown in Figures 2 and 3, these categories of symbols 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 the display device(s) 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 coded video sequence. The coding of the coded 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, arithmetic coding with or without context-dependent coding, etc. The parser (320) can extract a subgroup parameter set for at least one of the subgroups of pixels in the video decoder from the encoded 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 further extract information from the encoded 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 a number of different units, depending on the type of encoded video picture or part 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 that the parser (320) parses from the encoded 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 closely interact 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 symbol(s) (321) and control information from the parser (320), including the transform scheme to be used, block size, quantization factor, quantization scaling matrix, etc. The scalar / inverse transform unit (351) can output a block containing sample values that are input to an aggregator (355).
[0032] In some cases, the output samples of the scalar / 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 part 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 a block 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 scalar / inverse transform unit (351).
[0033] In other cases, the output samples of the scalar / inverse transform unit (351) may belong to an inter-coded, potentially motion-compensated block. In such cases, the motion compensation prediction unit (353) may 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 scalar / inverse transform unit (in this case, called residual samples or residual signals) to generate output sample information. The addresses in the reference picture memory from which the motion compensation unit extracts the prediction samples are controlled by a motion vector, which is used by the motion compensation unit in the form of a symbol (321), which may have, for example, X, Y and reference picture components. Motion compensation may further include interpolation of sample values extracted from the reference picture memory when performing the motion vector exactly by sub-samples, a motion vector prediction mechanism, etc.
[0034] Various loop filtering techniques can be employed in the loop filter unit (356) on the output samples of the aggregator (355). The video compression techniques can include in-loop filter 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 previously reconstructed loop filtered sample values and meta information obtained during decoding of the encoded picture or previous portion of the encoded video sequence (in decoding order).
[0035] The output of the loop filter unit (356) may be a sample stream, which can be output to a display device (212) and stored in a reference picture memory (356) for use in future inter-picture prediction.
[0036] Once a coded picture is fully reconstructed, it is used as a reference picture for future predictions. For example, once a coded picture is fully reconstructed and the coded picture is recognized (e.g., via the parser (320)) as a reference picture, 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 the reconstruction of the subsequent coded picture.
[0037] The video decoder 320 may perform decoding operations according to a given video compression technique, for example in the ITU-T H.265 Recommendation standard. The encoded video sequence is compliant with the syntax specified by the video compression technique or standard used, in the sense that the encoded video sequence conforms to the syntax of the video compression technique or standard presented in the video compression technique document or standard and its profile. Compliance is further required to ensure that the complexity of the encoded video sequence is in a range limited by the level of the video compression technique or standard. In some cases, the level limits the maximum picture size, the maximum frame rate, the maximum reconstruction sampling rate (e.g., measured in megasamples / second), and / or the maximum reference picture size, etc. In some cases, the limits placed 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 encoded video sequence.
[0038] In one embodiment, the receiver (310) can receive the encoded video along with additional (redundant) data. The additional data may be included as part of the encoded video sequence(s). 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 the video image(s) that are encoded by the encoder (203).
[0041] The video source (201) may provide a source video sequence in the form of a digital video sample stream, which may have any suitable bit depth (e.g.: 8-bit, 10-bit, 12-bit...), any color space (e.g. BT.601 Y CrCB, RGB...), and any suitable sampling configuration (e.g. Y CrCb 4:2:0, Y CrCb 4:4:4), to be encoded by the encoder (203). In a media service system, the video source (201) may be a storage device for storing previously prepared videos, which may include a memory and a processor. In a video conferencing system, the video source (203) may include a camera for capturing local image information as a video sequence. The video data may be provided as a number of separate pictures that, when viewed in sequence, 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 easily understood by 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 constraint required by an 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, couplings are not shown. Parameters established by the controller may include rate control related parameters (picture skip, quantizer, lambda value for rate distortion optimization techniques, etc.), 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 the 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." As a very simple description, the encoding loop may include an encoding part 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 reference picture(s), and a (local) decoder (433) embedded in the encoder (203). The decoder (433) reconstructs the symbols to create the sample data that the (remote) decoder also intends 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 to a reference picture memory (434). The decoding of the symbol stream produces a bit-exact result that is independent of the decoder location (local or remote), so that the contents of the reference picture buffer are bit-exact between the local and remote encoders. In other words, the reference picture samples that the predictive part of the encoder "sees" are exactly the same as the sample values that the decoder "sees" 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 errors) are well known to those skilled in the art.
[0044] The operation of the "local" decoder (433) may be the same as that of the "remote" decoder (210), e.g., as described in detail above in connection with Figure 3. However, and 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 analysis / entropy decoding present in the decoder, any decoding techniques are also necessarily present in the corresponding encoder, in essentially the same functional form. The description of the encoding techniques is mutually inverse with 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 the video sequence, designated as “reference frames.” In this manner, the encoding engine (432) encodes differences between pixel blocks of the input frame and pixel blocks of reference frame(s) that are selected as the prediction reference(s) for the input frame.
[0047] The local video decoder (433) can decode the encoded video data of frames that can be designated as reference frames based on the symbols produced 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) stores locally a replica of the reconstructed reference frame that has a common content (no transmission errors) with the reconstructed reference frame 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 (say candidate reference pixel blocks) that are suitable prediction references for the new frame, or metadata, such as reference picture motion vectors, block shapes, etc. The predictor (435) can find suitable prediction references by working pixel block by pixel block based on the sample blocks. In some situations, as determined by the search results obtained by the predictor (435), the input picture has prediction references that are 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 for encoding the video data and subgroup parameters.
[0050] The output of all the functional units mentioned above can be entropy coded in an entropy coder (445) which converts the symbols generated by each functional unit into an encoded video sequence by lossless compression 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 predictive picture (P-picture) may be a picture that is encoded 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 predicted picture applies more than two reference pictures and associated metadata to the reconstruction of a single block.
[0056] A source picture is generally spatially subdivided into a number of sample blocks (e.g., blocks of 4x4, 8x8, 4x8 or 16x16 samples, respectively) 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 predictively coded (spatial or intra prediction) with reference to already coded blocks of the same picture. Blocks of pixels 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, for example in the ITU-T H.265 recommendation, in which the video encoder (203) may perform various compression operations, including predictive encoding operations that use temporal and spatial redundancies in the input video sequence, such that the encoded video data may conform to a syntax specified by the video encoding technique or standard being used.
[0058] In one embodiment, the transmitter (440) can transmit the encoded video with additional data. 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, arithmetic coding with or without context-dependent coding, etc. In a particular streaming system, the video bitstreams (204, 207, 209) may be encoded according to certain video encoding / 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] 4×4 DCT-2 transformation JPEG0007635447000001.jpg51166
[0062] 8x8 DCT-2 transformation TIFF0007635447000002.tif44140
[0063] 16x16 DCT-2 conversion JPEG0007635447000003.jpg83140
[0064] 32×32 DCT-2 conversion JPEG0007635447000004.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 (multiplications, additions / subtractions, shifts), and the same result of matrix multiplication can be obtained by 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 subject matter disclosed may be used in the context of VVC.
[0067] The main transform in VVC may further include another 2-point, 64-point and 128-point DCT-2 in addition to the 4-point, 8-point, 16-point and 32-point DCT-2 transform similar to HEVC. The 2-point DCT-2 core may be an 8-bit integer matrix aligned with the HEVC main transform design, but the 64-point and 128-point DCT-2 use a 10-bit transform core, which indicates that the 2-point, 4-point, 8-point, 16-point and 32-point DCT-2 transform 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,b,bd,ay,at,ap,au,az,be,-ba,-av,-aq,-as,-ax,-bc,bc,ax,as,aq,av,ba,-be,-az,-au,-ap,-at,-ay,-bd,bb,aw,ar} {bk,bv,cg,-ce,-bt,-bi,-bm,-bx,-ci,cc,br,bg,bo,bz,ck,-ca,-bp,-bf,-bq,-cb,cj,by,bn,bh,bs,cd,-ch,-bw,-bl,-bj, f,cf,bu,bj,bl,bw,ch,-cd,-bs,-bh,-bn,-by,-cj,cb,bq,bf,bp,ca,-ck,-bz,-bo,-bg,-br,-cc,ci,bx,bm,bi,bt,ce,-cg,-bv {ai,al,ao,-am,-aj,-ah,-ak,-an,an,ak,ah,aj,am,-ao,-al,-ai,-ai,-al,-ao,am,aj,ah,ak,an,-ak,-ah,-aj,-am,ao,al,ai ,ai,al,ao,-am,-aj,-ah,-ak,-an,an,ak,ah,aj,am,-ao,-al,-ai,-ai,-al,-ao,am,aj,ah,ak,an,-ak,-ah,-aj,-am,ao,al,ai} {bl,by,-ck,-bx,-bk,-bm,-bz,cj,bw,bj,bn,ca,-ci,-bv,-bi,-bo,-cb,ch,bu,bh,bp,cc,-cg,-bt,-bg,-bq,-cd,cf,bs,bf,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,ad,af,-af,-ad,-ag,ae ,ae,-ag,-ad,-af,af,ad,ag,-ae,-ae,ag,ad,af,-af,-ad,-ag,ae,ae,-ag,-ad,-af,af,ad,ag,-ae,-ae,ag,ad,af,-af,-ad,-ag,ae} {br,-cf,-bg,-cc,bu,bo,-ci,-bj,-bz,bx,bl,ck,-bm,-bw,ca,bi,ch,-bp,-bt,cd,bf,ce,-bs,-bq,cg,bh,cb,-bv,-bkn,bycj-b by,-bk,-cj,bn,bv,-cb,-bh,-cg,bq,bs,-ce,-bf,-cd,bt,bp,-ch,-bi,-ca,bj,bm,-ck,-bl,-bx,bz,bj,ci,-bo,-bu,cc,-bg,bg,cf {av,-bb,-ap,-bc,au,aw,-ba,-aq,-bd,at,ax,-az,-ar,-be,as,ay,-ay,-as,be,ar,az,-ax,-at,bd,aq,ba,-aw,-au,bc,ap,bb,-av ,-av,bb,ap,bc,-au,-aw,ba,aq,bd,-at,-ax,az,ar,be,-as,-ay,ay,as,-be,-ar,-az,ax,at,-bd,-aq,-ba,aw,au,-bc,-ap,-bb,av} {bs,-cc,-bi,-cj,bl,bz,-bv,-bp,cf,bf,cg,-bo,-bw,by,bm,-ci,-bh,-cd,br,bt,-cb,-bj,-ck,bk,ca,-bu,-bq,ce,bng,-ch-, x,bx,bn,-ch,-bg,-ce,bq,bu,-ca,-bk,ck,bj,cb,-bt,-br,cd,bh,ci,-bm,-by,bw,bo,-cg,-bf,-cf,bp,bv,-bz,-bl,cc,-cj,bi,bi, {ak,-am,-ai,ao,ah,an,-aj,-al,al,aj,-an,-ah,-ao,ai,am,-ak,-ak,am,ai,-ao,-ah,-an,aj,al,-al,-aj,an,ah,ao,-ai,-am,ak ,ak,-am,-ai,ao,ah,an,-aj,-al,al,aj,-an,-ah,-ao,ai,am,-ak,-ak,am,ai,-ao,-ah,-an,aj,al,-al,-aj,an,ah,ao,-ai,-am,ak} {bt,-bz,-bn,cf,bh,ck,-bi,-ce,bo,by,-bu,-bs,ca,bm,-cg,-bg,-cj,bj,cd,-bp,-bx,bv,br,-cb,-bl,ch,bf,ci,-bk,-cc,bq,bw, -bw,-bq,cc,bk,-ci,-bf,-ch,bl,cb,-br,-bv,bx,bp,-cd,-bj,cj,bg,cg,-bm,-ca,bs,bu,-by,-bo,ce,bi,-ck,-bh,-cf,bn,bz,-bt}} {aw,-ay,-au,ba,as,-bc,-aq,be,ap,bd,-ar,-bb,at,az,-av,-ax,ax,av,-az,-at,bb,ar,-bd,-ap,-be,aq,bc,-as,-ba,au,ay,-aw ,-aw,ay,au,-ba,-as,bc,aq,-be,-ap,-bd,ar,bb,-at,-az,av,ax,-ax,-av,az,at,-bb,-ar,bd,ap,be,-aq,-bc,as,ba,-au,-ay,aw} {bu,-bw,-bs,by,bq,-ca,-bo,cc,bm,-ce,-bk,cg,bi,-ci,-bg,ck,bf,cj,-bh,-ch,bj,cf,-bl,-cd,bn,cb,-bp,-bz,br,bx,-bv,-bv ,bv,bt,-bx,-br,bz,bp,-cb,-bn,cd,bl,-cf,-bj,ch,bh,-cj,-bf,-ck,bg,ci,-bi,-cg,bk,ce,-bm,-cc,bo,ca,-bq,-by,bw,b,bu} {Ah,-aa,-aa,aa,aa,aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa being being ,aa,-aa,-aa,aa,aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa being being {bv,-bt,-bx,br,bz,-bp,-cb,bn,cd,-bl,-cf,bj,ch,-bh,-cj,bf,-ck,-bg,ci,bi,-cg,-bk,ce,bm,-cc,-bo,ca,bq,bq,-wby,bu,-bs ,-bu,-bw,bs,by,-bq,-ca,bo,cc,-bm,-ce,bk,cg,-bi,-ci,bg,ck,-bf,cj,bh,-ch,-bj,cf,bl,-cd,-bn,cb,bp,-bz,-br,,bx,}b {ax,-av,-az,at,bb,-ar,-bd,ap,-be,-aq,bc,as,-ba,-au,ay,aw,-aw,-ay,au,ba,-as,-bc,aq,be,-ap,bd,ar,-bb,-at,az,av,-ax ,-ax,av,az,-at,-bb,ar,bd,-ap,be,aq,-bc,-as,ba,au,-ay,-aw,aw,ay,-au,-ba,as,bc,-aq,-be,ap,-bd,-ar,bb,at,-az,-av,ax} {bw,-bq,-cc,bk,ci,-bf,ch,bl,-cb,-br,bv,bx,-bp,-cd,bj,cj,-bg,cg,bm,-ca,-bs,bu,by,-bo,-ce,bi,ck,-bh,cf,bn-bt,-bz bt,bz,-bn,-cf,bh,-ck,-bi,ce,bo,-by,-bu,bs,ca,-bm,-cg,bg,-cj,-bj,cd,bp,-bx,-bv,br,cb,-bl,-ch,bf,-ci,-bk,bc,cc}bq {al,-aj,-an,ah,-ao,-ai,am,ak,-ak,-am,ai,ao,-ah,an,aj,-al,-al,aj,an,-ah,ao,ai,-am,-ak,ak,am,-ai,-ao,ah,-an,-aj,al ,al,-aj,-an,ah,-ao,-ai,am,ak,-ak,-am,ai,ao,-ah,an,aj,-al,-al,aj,an,-ah,ao,ai,-am,-ak,ak,am,-ai,-ao,ah,-an,-aj,al} {bx,-bn,-ch,bg,-ce,-bq,bu,ca,-bk,-ck,bj,-cb,-bt,br,cd,-bh,ci,bm,-by,-bw,bo,cg,-bf,cf,bp,-bv,-bz,bl,cj,-bi,cc,bs -bs,-cc,bi,-cj,-bl,bz,bv,-bp,-cf,bf,-cg,-bo,bw,by,-bm,-ci,bh,-cd,-br,bt,cb,-bj,ck,bk,-ca,-bu,bq,ce,-bg,ch,bn,-bx}} {ay,-as,-be,ar,-az,-ax,at,bd,-aq,ba,aw,-au,-bc,ap,-bb,-av,av,bb,-ap,bc,au,-aw,-ba,aq,-bd,-at,ax,az,-ar,be,as,-ay ,-ay,as,be,-ar,az,ax,-at,-bd,aq,-ba,-aw,au,bc,-ap,bb,av,-av,-bb,ap,-bc,-au,aw,ba,-aq,bd,at,-ax,-az,ar,-be,-as,ay} {by,-bk,cj,bn,-bv,-cb,bh,-cg,-bq,bs,ce,-bf,cd,bt,-bp,-ch,bi,-ca,-bw,bm,ck,-bl,bx,bz,-bj,ci,bo,-bu,-cc,bg,-cf,-br ,br,cf,-bg,cc,bu,-bo,-ci,bj,-bz,-bx,bl,-ck,-bm,bw,ca,-bi,ch,bp,-bt,-cd,bf,-ce,-bs,bq,cg,-bh,cb,bv,-bn,-cj,-by} {af,-ad,ag,ae,-ae,-ag,ad,-af,-af,ad,-ag,-ae,ae,ag,-ad,af,af,-ad,ag,ae,-ae,-ag,ad,-af,-af,ad,-ag,-ae,ae,ag,-ad,af ,af,-ad,ag,ae,-ae,-ag,ad,-af,-af,ad,-ag,-ae,ae,ag,-ad,af,af,-ad,ag,ae,-ae,-ag,ad,-af,-af,ad,-ag,-ae,ae,ag,-ad,af} {bz,-bh,ce,bu,-bm,cj,bp,-br,-ch,bk,-bw,-cc,bf,-cb,-bx,bj,-cg,-bs,bo,ck,-bn,bt,cf,-bi,by,ca,-bg,cd,bv,b,-b,-ci bq,-ci,bl,-bv,-cd,bg,-ca,-by,bi,-cf,-bt,bn,-ck,-bo,bs,cg,-bj,bx,cb,-bf,cc,bw,-bk,ch,br,-bp,-cj,bm,-bu,-bz,-bh {az,-ap,ba,ay,-aq,bb,ax,-ar,bc,aw,-as,bd,av,-at,be,au,-au,-be,at,-av,-bd,as,-aw,-bc,ar,-ax,-bb,aq,-ay,-ba,ap,-az ,-az,ap,-ba,-ay,aq,-bb,-ax,ar,-bc,-aw,as,-bd,-av,at,-be,-au,au,be,-at,av,bd,-as,aw,bc,-ar,ax,bb,-aq,ay,ba,-ap,az} {ca,-bf,bz,cb,-bg,by,cc,-bh,bx,cd,-bi,bw,ce,-bj,bv,cf,-bk,bu,cg,-bl,bt,ch,-bm,bs,ci,-bn,br,cj,-bo,bq,bck,-bp ck,-bq,bo,-cj,-br,bn,-ci,-bs,bm,-ch,-bt,bl,-cg,-bu,bk,-cf,-bv,bj,-ce,-bw,bi,-cd,-bx,bh,-cc,-by,bg,-bf,-caz,} {am,-ah,al,an,-ai,ak,ao,-aj,aj,-ao,-ak,ai,-an,-al,ah,-am,-am,ah,-al,-an,ai,-ak,-ao,aj,-aj,ao,ak,-ai,an,al,-ah,am ,am,-ah,al,an,-ai,ak,ao,-aj,aj,-ao,-ak,ai,-an,-al,ah,-am,-am,ah,-al,-an,ai,-ak,-ao,aj,-aj,ao,ak,-ai,an,al,-ah,am} {cb,-bi,bu,ci,-bp,bn,-cg,-bw,bg,-bz,-cd,bk,-bs,-ck,br,-bl,ce,by,-bf,bx,cf,-bm,bq,-cj,-bt,bj,-cc,-ca,bh,-bv,-bv o,-bo,ch,bv,-bh,ca,cc,-bj,bt,cj,-bq,bm,-cf,-bx,bf,-by,-ce,bl,-br,ck,bs,-bk,cd,bz,-bg,bw,cg,-bn,bp,-ci,-bu,bi,-cb} {ba,-ar,av,-be,-aw,aq,-az,-bb,as,-au,bd,ax,-ap,ay,bc,-at,at,-bc,-ay,ap,-ax,-bd,au,-as,bb,az,-aq,aw,be,-av,ar,-ba ,-ba,ar,-av,be,aw,-aq,az,bb,-as,au,-bd,-ax,ap,-ay,-bc,at,-at,bc,ay,-ap,ax,bd,-au,as,-bb,-az,aq,-aw,-be,av,-ar,ba} {cc,-bl,bp,-cg,-by,bh,-bt,ck,bu,-bg,bx,ch,-bq,bk,-cb,-cd,bm,-bo,cf,bz,-bi,bs,-cj,-bv,bf,-bw,-ci,br,-bj,ca,bn ,bn,-ce,-ca,bj,-br,ci,bw,-bf,bv,cj,-bs,bi,-bz,-cf,bo,-bm,cd,cb,-bk,bq,-ch,-bx,bg,-bu,-ck,bt,-bh,by,cg,-bp,-cc}} {ac,-ab,ab,-ac,-ac,-ab,-ab,ac,ac,-ab,-ac,-ac,-ab,-ab,ac,ac,-ab,-ac,-ac,-ab,-ab,ac,ac,-ab,-ac,-ac,ab,-ab,ac ,ac,-ab,ab,-ac,-ac,-ab,-ab,ac,ac,-ab,-ac,-ac,-ab,-ab,ac,ac,-ab,-ac,-ac,-ab,-ab,ac,ac,-ab,-ac,-ac,ab,-ab,ac} {cd,-bo,bk,-bz,-ch,bs,-bg,bv,-ck,-bw,bh,-br,cg,ca,-bl,bn,-cc,-ce,bp,-bj,by,ci,-bt,bf,-bu,cj,bx,-bi,bcb,-cf,- ,-bm,cb,cf,-bq,bi,-bx,-cj,bu,-bf,bt,-ci,-by,bj,-bp,ce,cc,-bn,bl,-ca,-cg,br,-bh,bw,ck,-bv,bg,-bs,ch,bz,-cd,bk} {bb,-au,aq,-ax,be,ay,-ar,at,-ba,-bc,av,-ap,aw,-bd,-az,as,-as,az,bd,-aw,ap,-av,bc,ba,-at,ar,-ay,-be,ax,-aq,au,-bb ,-bb,au,-aq,ax,-be,-ay,ar,-at,ba,bc,-av,ap,-aw,bd,az,-as,as,-az,-bd,aw,-ap,av,-bc,-ba,at,-ar,ay,be,-ax,aq,-au,bb} {ce,-br,bf,-bs,cf,cd,-bq,bg,-bt,cg,cc,-bp,bh,-bu,ch,cb,-bo,bi,-bv,ci,ca,-bn,bj,-bw,cj,bz,-bm,bk,-bx,ck,bb,by,- ,-by,-ck,bx,-bk,bm,-bz,-cj,bw,-bj,bn,-ca,-ci,bv,-bi,bo,-cb,-ch,bu,-bh,bp,-cc,-cg,bt,-bg,bq,-cd,-cf,bs,-bf,} {an,-ak,ah,-aj,am,ao,-al,ai,-ai,al,-ao,-am,aj,-ah,ak,-an,-an,ak,-ah,aj,-am,-ao,al,-ai,ai,-al,ao,am,-aj,ah,-ak,an ,an,-ak,ah,-aj,am,ao,-al,ai,-ai,al,-ao,-am,aj,-ah,ak,-an,-an,ak,-ah,aj,-am,-ao,al,-ai,ai,-al,ao,am,-aj,ah,-ak,an} {cf,-bu,bj,-bl,bw,-ch,-cd,bs,-bh,bn,-by,cj,cb,-bq,bf,-bp,ca,ck,-bz,bo,-bg,br,-cc,-ci,bx,-bm,bi,-bt,ce,cg,-bv,bk -bk,bv,-cg,-ce,bt,-bi,bm,-bx,ci,cc,-br,bg,-bo,bz,-ck,-ca,bp,-bf,bq,-cb,-cj,by,-bn,bh,-bs,cd,ch,-bw,bl,-bj,bu,-cf} {bc,-ax,as,-aq,av,-ba,-be,az,-au,ap,-at,ay,-bd,-bb,aw,-ar,ar,-aw,bb,bd,-ay,at,-ap,au,-az,be,ba,-av,aq,-as,ax,-bc ,-bc,ax,-as,aq,-av,ba,be,-az,au,-ap,at,-ay,bd,bb,-aw,ar,-ar,aw,-bb,-bd,ay,-at,ap,-au,az,-be,-ba,av,-aq,as,-ax,bc} {cg,-bx,bo,-bf,bn,-bw,cf,ch,-by,bp,-bg,bm,-bv,ce,ci,-bz,bq,-bh,bl,-bu,cd,cj,-ca,br,-bi,bk,-bt,cc,ck,-cb,bs,-bj,b j,-bs,cb,-ck,-cc,bt,-bk,bi,-br,ca,-cj,-cd,bu,-bl,bh,-bq,bz,-ci,-ce,bv,-bm,bg,-bp,by,-ch,-cf,bw,-bn,bf,-bx,-cg}} {ag,-af,ae,-ad,ad,-ae,af,-ag,-ag,af,-ae,ad,-ad,ae,-af,ag,ag,-af,ae,-ad,-ae,af,-ag,-ag,af,-ae,ad,-ad,ae,-af,ag ,ag,-af,ae,-ad,ad,-ae,af,-ag,-ag,af,-ae,ad,-ad,ae,-af,ag,ag,-af,ae,-ad,-ae,af,-ag,-ag,af,-ae,ad,-ad,ae,-af,ag} {ch,-ca,bt,-bm,bf,-bl,bs,-bz,cg,ci,-cb,bu,-bn,bg,-bk,br,-by,cf,cj,-cc,bv,-bo,bh,-bj,bq,-bx,ce,ck,-cd,biw,-bx,ce,ck,-cd,bw,- bi,bp,-bw,cd,-ck,-ce,bx,-bq,bj,-bh,bo,-bv,cc,-cj,-cf,by,-br,bk,-bg,bn,-bu,cb,-ci,-cg,bz,-bs,bl,-bf,cam,-ch}bt, {bd,-ba,ax,-au,ar,-ap,as,-av,ay,-bb,be,bc,-az,aw,-at,aq,-aq,at,-aw,az,-bc,-be,bb,-ay,av,-as,ap,-ar,au,-ax,ba,-bd ,-bd,ba,-ax,au,-ar,ap,-as,av,-ay,bb,-be,-bc,az,-aw,at,-aq,aq,-at,aw,-az,bc,be,-bb,ay,-av,as,-ap,ar,-au,ax,-ba,bd} {ci,-cd,by,-bt,bo,-bj,bf,-bk,bp,-bu,bz,-ce,cj,ch,-cc,bx,-bs,bn,-bi,bg,-bl,bq,-bv,ca,-cf,ck,cg,-cb,bw,-br,bm bh,-bm,br,-bw,cb,-cg,-ck,cf,-ca,bv,-bq,bl,-bg,bi,-bn,bs,-bx,cc,-ch,-cj,ce,-bz,bu,-bp,bk,-bf,bj,-bo,bt,-ci},c {ao,-an,am,-al,ak,-aj,ai,-ah,ah,-ai,aj,-ak,al,-am,an,-ao,-ao,an,-am,al,-ak,aj,-ai,ah,-ah,ai,-aj,ak,-al,am,-an,ao ,ao,-an,am,-al,ak,-aj,ai,-ah,ah,-ai,aj,-ak,al,-am,an,-ao,-ao,an,-am,al,-ak,aj,-ai,ah,-ah,ai,-aj,ak,-al,am,-an,ao} {cj,-cg,cd,-ca,bx,-bu,br,-bo,bl,-bi,bf,-bh,bk,-bn,bq,-bt,bw,-bz,cc,-cf,ci,ck,-ch,ce,-cb,by,-bv,bs,-bp,bm,-bj,bg -bg,bj,-bm,bp,-bs,bv,-by,cb,-ce,ch,-ck,-ci,cf,-cc,bz,-bw,bt,-bq,bn,-bk,bh,-bf,bi,-bl,bo,-br,bu,-bx,ca,-cd,cg,-cj}} {be,-bd,bc,-bb,ba,-az,ay,-ax,aw,-av,au,-at,as,-ar,aq,-ap,ap,-aq,ar,-as,at,-au,av,-aw,ax,-ay,az,-ba,bb,-bc,bd,-be ,-be,bd,-bc,bb,-ba,az,-ay,ax,-aw,av,-au,at,-as,ar,-aq,ap,-ap,aq,-ar,as,-at,au,-av,aw,-ax,ay,-az,ba,-bb,bc,-bd,be} {ck,-cj,ci,-ch,cg,-cf,ce,-cd,cc,-cb,ca,-bz,by,-bx,bw,-bv,bu,-bt,bs,-br,bq,-bp,bo,-bn,bm,-bl,bk,-bj,bi,-bh,bg,-bf ,bf,-bg,bh,-bi,bj,-bk,bl,-bm,bn,-bo,bp,-bq,br,-bs,bt,-bu,bv,-bw,bx,-by,bz,-ca,cb,-cc,cd,-ce,cf,-cg,ch,-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,-cy,}-dc {ab,ac,-ac,-ab,-ab,-ac,ac,ab,ab,ac,-ab,-ab,-ac,ac,ab,ab,ac,-ac,-ab,-ab,-ac,ab,ab,ac,-ac,-ab,-ab,-ac,ac,ab ,ab,ac,-ac,-ab,-ab,-ac,ac,ab,ab,ac,-ab,-ab,-ac,ac,ab,ab,ac,-ac,-ab,-ab,-ac,ac,ab,ab,ac,-ac,-ab,-ab,-ac,ac,ab} {db,ei,-ee,-cx,-df,-em,ea,ct,dj,eq,-dw,-cp,-dn,-eu,ds,cl,dr,-ev,-d_,-co,-dv,er,dk,cs,dz,-en,-dg,-cw,-ed,ej,dc ,eh,-ef,-cy,-de,-el,eb,cu,di,ep,-dx,-cq,-dm,-et,dt,cm,dq,-ew,-dp,-cn,-du,es,dl,cr,dy,-eo,-dh,-cv,-ec,ek,dd,cz,eg} {bn,ce,-ca,-bj,-br,-ci,bw,bf,bv,-cj,-bs,-bi,-bz,cf,bo,bm,cd,-cb,-bk,-bq,-ch,bx,bg,bu,-ck,-bt,-bh,-by,bcg,ccbp ,-cc,-bl,-bp,-cg,by,bh,bt,ck,-bu,-bg,-bx,ch,bq,bk,cb,-cd,-bm,-bo,-cf,bz,bi,bs,cj,-bv,-bf,-bw,ci,br,bj,bn,}- {dc,el,-dz,-cq,-d_,ew,dn,cr,ea,-ek,-db,-dd,-em,dy,cp,dp,-ev,-dm,-cs,-eb,ej,da,de,en,-dx,-co,-dq,eu,dl,ct,ec,-ei,- cz,-df,-eo,dw,cn,dr,-et,-dk,-cu,-ed,eh,cy,dg,ep,-dv,-cm,-ds,es,dj,cv,ee,-eg,-cx,-dh,-eq,du,cl,dt,-er,-di,-cw,-ef {at,bc,-ay,-ap,-ax,bd,au,as,bb,-az,-aq,-aw,be,av,ar,ba,-ba,-ar,-av,-be,aw,aq,az,-bb,-as,-au,-bd,ax,ap,ay,-bc,-at ,-at,-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} {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,-bv}- {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,-cid,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,-dz,}-cr,- {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,-b,-ci bq,-ci,bl,-bv,-cd,bg,-ca,-by,bi,-cf,-bt,bn,-ck,-bo,bs,cg,-bj,bx,cb,-bf,cc,bw,-bk,ch,br,-bp,-cj,bm,-bu,-bz,-bh {ea,-co,eh,dt,-cv,eo,dm,-dc,ev,df,-dj,-er,cy,-dq,-ek,cr,-dx,-ed,cl,-ee,-dw,cs,-el,-dp,cz,-es,-di,dg,eu,-end,db,d -cu,du,eg,-cn,eb,dz,-cp,ei,ds,-cw,ep,dl,-dd,ew,de,-dk,-eq,cx,-dr,-ej,cq,-dy,-ec,cm,-ef,-dv,ct,-em,-d_,da,-et,-dh} {az,-ap,ba,ay,-aq,bb,ax,-ar,bc,aw,-as,bd,av,-at,be,au,-au,-be,at,-av,-bd,as,-aw,-bc,ar,-ax,-bb,aq,-ay,-ba,ap,-az ,-az,ap,-ba,-ay,aq,-bb,-ax,ar,-bc,-aw,as,-bd,-av,at,-be,-au,au,be,-at,av,bd,-as,aw,bc,-ar,ax,bb,-aq,ay,ba,-ap,az} {eb,-cl,ec,ea,-cm,ed,dz,-cn,ee,dy,-co,ef,dx,-cp,eg,dw,-cq,eh,dv,-cr,ei,du,-cs,ej,dt,-ct,ek,ds,-cu,el,dr,-cv ,em,dq,-cw,en,dp,-cx,eo,d_,-cy,ep,dn,-cz,eq,dm,-da,er,dl,-db,es,dk,-dc,et,et,dj,-dd,eu,di,-de,ev,dh,-df,ew,dg} {ca,-bf,bz,cb,-bg,by,cc,-bh,bx,cd,-bi,bw,ce,-bj,bv,cf,-bk,bu,cg,-bl,bt,ch,-bm,bs,ci,-bn,br,cj,-bo,bq,bck,-bp ck,-bq,bo,-cj,-br,bn,-ci,-bs,bm,-ch,-bt,bl,-cg,-bu,bk,-cf,-bv,bj,-ce,-bw,bi,-cd,-bx,bh,-cc,-by,bg,-bf,-caz,} {ec,-cn,dx,eh,-cs,ds,em,-cx,dn,er,-dc,di,ew,-dh,dd,-es,-dm,cy,-en,-dr,ct,-ei,-dw,co,-ed,-eb,cm,-dy,-eg,cr,-dt,- el,cw,-d_,-eq,db,-dj,-ev,dg,-de,et,dl,-cz,eo,dq,-cu,ej,dv,-cp,ee,ea,-cl,dz,ef,-cq,du,ek,-cv,dp,ep,-da,dk,eu,-df {am,-ah,al,an,-ai,ak,ao,-aj,aj,-ao,-ak,ai,-an,-al,ah,-am,-am,ah,-al,-an,ai,-ak,-ao,aj,-aj,ao,ak,-ai,an,al,-ah,am ,am,-ah,al,an,-ai,ak,ao,-aj,aj,-ao,-ak,-ai,-an,-al,ah,-am,-am,ah,-al,-an,ai,-ak,-ao,-aj,-aj,-ao,ak,-ai,an,al,-ah,am} {ed,-cq,ds,eo,-db,dh,-eu,-dm,cw,-ej,-dx,cl,-dy,-ei,cv,-dn,-et,dg,-dc,ep,dr,-cr,ee,ec,-cp,dt,en,-da,di,-ev,-dl,cx, -ek,-dw,cm,-dz,-eh,cu,-d_,-es,df,-dd,eq,dq,-cs,ef,eb,-co,du,em,-cz,dj,-ew,-dk,cy,-el,-dv,cn,-ea,-eg,ct,-dp,-er,de} {cb,-bi,bu,ci,-bp,bn,-cg,-bw,bg,-bz,-cd,bk,-bs,-ck,br,-bl,ce,by,-bf,bx,cf,-bm,bq,-cj,-bt,bj,-cc,-ca,bh,-bv,-ch,b o,-bo,ch,bv,-bh,ca,cc,-bj,bt,cj,-bq,bm,-cf,-bx,bf,-by,-ce,bl,-br,ck,bs,-bk,cd,bz,-bg,bw,cg,-bn,bp,-ci,-bu,bi,-cb} {ee,-ct,dn,ev,-dk,cw,-eh,-eb,cq,-dq,-es,dh,-cz,ek,dy,-cn,dt,ep,-de,dc,-en,-dv,cl,-dw,-em,db,-df,eq,ds,-co,dz,ej, -cy,di,-et,-dp,cr,-ec,-eg,cv,-dl,ew,dm,-cu,ef,ed,-cs,d_,eu,-dj,cx,-ei,-ea,cp,-dr,-er,dg,-da,el,dx,-cm,du,eo,-dd} {ba,-ar,av,-be,-aw,aq,-az,-bb,as,-au,bd,ax,-ap,ay,bc,-at,at,-bc,-ay,ap,-ax,-bd,au,-as,bb,az,-aq,aw,be,-av,ar,-ba ,-ba,ar,-av,be,aw,-aq,az,bb,-as,au,-bd,-ax,ap,-ay,-bc,at,-at,bc,ay,-ap,ax,bd,-au,as,-bb,-az,aq,-aw,-be,av,-ar,ba} {ef,-cw,di,-er,-dt,cl,-du,-eq,dh,-cx,eg,ee,-cv,dj,-es,-ds,cm,-dv,-ep,dg,-cy,eh,ed,-cu,dk,-et,-dr,cn,-dw,-eo,df ,ei,ec,-ct,dl,-eu,-dq,co,-dx,-en,de,-da,ej,eb,-cs,dm,-ev,-dp,cp,-dy,-em,dd,-db,ek,ea,-cr,dn,-ew,-d_,cq,-dz,-el,dc} {cc,-bl,bp,-cg,-by,bh,-bt,ck,bu,-bg,bx,ch,-bq,bk,-cb,-cd,bm,-bo,cf,bz,-bi,bs,-cj,-bv,bf,-bw,-ci,br,ce,-bj,ca, ,bn,-ce,-ca,bj,-br,ci,bw,-bf,bv,cj,-bs,bi,-bz,-cf,bo,-bm,cd,cb,-bk,bq,-ch,-bx,bg,-bu,-ck,bt,-bh,by,cl,-ccp {eg,-cz,dd,-ek,-ec,cv,-dh,eo,dy,-cr,dl,-es,-du,cn,-dp,ew,dq,-cm,dt,et,-dm,cq,-dx,-ep,di,-cu,eb,el,-de,cy,-ef,-eh ,da,-dc,ej,ed,-cw,dg,-en,-dz,cs,-dk,er,dv,-co,d_,-ev,-dr,cl,-ds,-eu,dn,-cp,dw,eq,-dj,ct,-ea,-em,df,-cx,bee},ei,-d {ac,-ab,ab,-ac,-ac,ab,-ab,ac,ac,-ab,-ac,-ac,-ab,-ab,ac,ac,-ab,-ac,-ac,ab,-ab,ac,ac,-ab,-ac,-ac,ab,-ab,ac ,ac,-ab,ab,-ac,-ac,-ab,-ab,ac,ac,-ab,-ac,-ac,-ab,-ab,ac,ac,-ab,-ac,-ac,-ab,-ab,ac,ac,-ab,-ac,-ac,ab,-ab,ac} {eh,-dc,cy,-ed,-el,dg,-cu,dz,ep,-dk,cq,-dv,-et,d_,-cm,dr,-ew,-ds,cn,-dn,es,dw,-cr,dj,-eo,-ea,cv,-df,ek,deb,-cz ,-eg,-ei,dd,-cx,ec,em,-dh,ct,-dy,-eq,dl,-cp,du,eu,-dp,cl,-dq,ev,dt,-co,dm,-er,-dx,cs,-di,en,eb,-cw,de,-ej,-ef,da} {cd,-bo,bk,-bz,-ch,bs,-bg,bv,-ck,-bw,bh,-br,cg,ca,-bl,bn,-cc,-ce,bp,-bj,by,ci,-bt,bf,-bu,cj,bx,-bi,bcb,-cf,- ,-bm,cb,cf,-bq,bi,-bx,-cj,bu,-bf,bt,-ci,-by,bj,-bp,ce,cc,-bn,bl,-ca,-cg,br,-bh,bw,ck,-bv,bg,-bs,ch,bz,-cd,bk} {ei,-df,ct,-dw,-eu,dr,-co,dk,-en,-ed,da,-cy,eb,ep,-dm,cm,-dp,es,dy,-cv,dd,-eg,-ek,dh,-cr,du,ew,-dt,cq,-di,el,ef, -dc,cw,-dz,-er,d_,-cl,dn,-eq,-ea,cx,-db,ee,em,-dj,cp,-ds,ev,dv,-cs,dg,-ej,-eh,de,-cu,dx,et,-dq,cn,-dl,ezo},ec,- {bb,-au,aq,-ax,be,ay,-ar,at,-ba,-bc,av,-ap,aw,-bd,-az,as,-as,az,bd,-aw,ap,-av,bc,ba,-at,ar,-ay,-be,ax,-aq,au,-bb ,-bb,au,-aq,ax,-be,-ay,ar,-at,ba,bc,-av,ap,-aw,bd,az,-as,as,-az,-bd,aw,-ap,av,-bc,-ba,at,-ar,ay,be,-ax,aq,-au,bb} {ej,-di,co,-dp,eq,ec,-db,cv,-dw,-ew,dv,-cu,dc,-ed,-ep,d_,-cn,dj,-ek,-ei,dh,-cp,dq,-er,-eb,da,-cw,dx,ev,-du,ct,-dd ,ee,eo,-dn,cm,-dk,el,eh,-dg,cq,-dr,es,ea,-cz,cx,-dy,-eu,dt,-cs,de,-ef,-en,dm,-cl,dl,-em,-eg,df,-cr,ds,-}et,-dz {ce,-br,bf,-bs,cf,cd,-bq,bg,-bt,cg,cc,-bp,bh,-bu,ch,cb,-bo,bi,-bv,ci,ca,-bn,bj,-bw,cj,bz,-bm,bk,-bx,ck,bb,by,- ,-by,-ck,bx,-bk,bm,-bz,-cj,bw,-bj,bn,-ca,-ci,bv,-bi,bo,-cb,-ch,bu,-bh,bp,-cc,-cg,bt,-bg,bq,-cd,-cf,bs,-bf,} {ek,-dl,cm,-di,eh,en,-d_,cp,-df,ee,eq,-dr,cs,-dc,eb,et,-du,cv,-cz,dy,ew,-dx,cy,-cw,dv,-eu,-ea,db,-ct,ds,-er,-ed,d e,-cq,dp,-eo,-eg,dh,-cn,dm,-el,-ej,dk,-cl,dj,-ei,-em,dn,-co,dg,-ef,-ep,dq,-cr,dd,-ec,-es,dt,-cu,da,-dz,-ev,-cx,dw, {an,-ak,ah,-aj,am,ao,-al,ai,-ai,al,-ao,-am,aj,-ah,ak,-an,-an,ak,-ah,-al,-am,-al,-ai,ai,-al,ao,am,-aj,ah,-ak,an ,an,-ak,ah,-aj,am,ao,-al,ai,-ai,al,-ao,-am,aj,-ah,ak,-an,-an,-ak,-ah,-al,-ak,-ah,-al,ao,-am,-al,-ao,-am,-am,-am,-ah,-ah,-an,-ak,-ah,-al,-ah,-ak,-ah} {el,-d_,cr,-db,dy,-ev,-eb,de,-co,dl,-ei,-eo,dr,-cu,cy,-dv,es,ee,-dh,cl,-di,ef,er,-du,cx,-cv,ds,-ep,-eh,dk,-cn,df ,-ec,-eu,dx,-da,cs,-dp,em,ek,-dn,cq,-dc,dz,-ew,-ea,dd,-cp,dm,-ej,-en,dq,-ct,cz,-dw,et,ed,-dg,cm,-dj,eg,eq,-dt,cw} {cf,-bu,bj,-bl,bw,-ch,-cd,bs,-bh,bn,-by,cj,cb,-bq,bf,-bp,ca,ck,-bz,bo,-bg,br,-cc,-ci,bx,-bm,bi,-bt,ce,cg,-bv,bk, -bk,bv,-cg,-ce,bt,-bi,bm,-bx,ci,cc,-br,bg,-bo,bz,-ck,-ca,bp,-bf,bq,-cb,-cj,by,-bn,bh,-bs,cd,ch,-bw,bl,-bj,bu,-cf} {em,-dr,cw,-cu,dp,-ek,-eo,dt,-cy,cs,-dn,ei,eq,-dv,da,-cq,dl,-eg,-es,dx,-dc,co,-dj,ee,eu,-dz,de,-cm,dh,-ec,-ew,eb, -dg,cl,-df,ea,-ev,-ed,di,-cn,dd,-dy,et,ef,-dk,cp,-db,dw,-er,-eh,dm,-cr,cz,-du,ep,ej,-d_,ct,-cx,ds,-en,-el,dq,-cv} {bc,-ax,as,-aq,av,-ba,-be,az,-au,ap,-at,ay,-bd,-bb,aw,-ar,ar,-aw,bb,bd,-ay,at,-ap,au,-az,be,ba,-av,aq,-as,ax,-bc ,-bc,ax,-as,aq,-av,ba,be,-az,au,-ap,at,-ay,bd,bb,-aw,ar,-ar,aw,-bb,-bd,ay,-at,ap,-au,az,-be,-ba,av,-aq,as,-ax,bc} {en,-du,db,-cn,dg,-dz,es,ei,-dp,cw,-cs,dl,-ee,-ew,ed,-dk,cr,-cx,dq,-ej,-er,dy,-df,cm,-dc,dv,-eo,-em,dt,-da,co,co, h,ea,-et,-eh,d_,-cv,ct,-dm,ef,ev,-ec,dj,-cq,cy,-dr,ek,eq,-dx,de,-cl,dd,-dw,ep,el,-ds,cz,-cp,di,-eb,eu,eg,-dn,cu} {cg,-bx,bo,-bf,bn,-bw,cf,ch,-by,bp,-bg,bm,-bv,ce,ci,-bz,bq,-bh,bl,-bu,cd,cj,-ca,br,-bi,bk,-bt,cc,ck,-bjb,bs, j,-bs,cb,-ck,-cc,bt,-bk,bi,-br,ca,-cj,-cd,bu,-bl,bh,-bq,bz,-ci,-ce,bv,-bm,bg,-bp,by,-ch,-cf,bw,-bn,bf,-cg,}b {eo,-dx,dg,-cp,cx,-d_,ef,-ew,-eg,dp,-cy,co,-df,dw,-en,-ep,dy,-dh,cq,-cw,dn,-ee,ev,eh,-dq,cz,-cn,de,-dv,em,eq ,di,-cr,cv,-dm,ed,-eu,-ei,dr,-da,cm,-dd,du,-el,-er,ea,-dj,cs,-cu,dl,-ec,et,ej,-ds,db,-cl,dc,-dt,ek,es,-eb,dk,-ct} {ag,-af,ae,-ad,ad,-ae,af,-ag,-ag,af,-ae,ad,-ad,ae,-af,ag,ag,-af,ae,-ad,-ae,af,-ag,-ag,af,-ae,ad,-ad,ae,-af,ag ,ag,-af,ae,-ad,ad,-ae,af,-ag,-ag,af,-ae,ad,-ad,ae,-af,ag,ag,-af,ae,-ad,-ae,af,-ag,-ag,af,-ae,ad,-ad,ae,-af,ag} {ep,-ea,dl,-cw,co,-dd,ds,-eh,ew,ei,-dt,de,-cp,cv,-dk,dz,-eo,-eq,eb,-dm,cx,-cn,dc,-dr,eg,-ev,-ej,du,-df,cj,-cu,d ,-dy,en,er,-ec,dn,-cy,cm,-db,dq,-ef,eu,ek,-dv,dg,-cr,ct,-di,dx,-em,-es,ed,-d_,cz,-cl,da,-dp,ee,-et,-el,dw,-dh,cs} {ch,-ca,bt,-bm,bf,-bl,bs,-bz,cg,ci,-cb,bu,-bn,bg,-bk,br,-by,cf,cj,-cc,bv,-bo,bh,-bj,bq,-bx,ce,ck,-cd,biw,-bx,ce,ck,-cd,bw,- bi,bp,-bw,cd,-ck,-ce,bx,-bq,bj,-bh,bo,-bv,cc,-cj,-cf,by,-br,bk,-bg,bn,-bu,cb,-ci,-cg,bz,-bs,bl,-bf,cam,-ch}bt, {eq,-ed,dq,-dd,cq,-cs,df,-ds,ef,-es,-eo,eb,-d_,db,-co,cu,-dh,du,-eh,eu,em,-dz,dm,-cz,cm,-cw,dj,-dw,ej,-ew,-ek,dx, -dk,cx,-cl,cy,-dl,dy,-el,-ev,ei,-dv,di,-cv,cn,-da,dn,-ea,en,et,-eg,dt,-dg,ct,-cp,dc,-dp,ec,-ep,-er,ee,-dr},de,-c {bd,-ba,ax,-au,ar,-ap,as,-av,ay,-bb,be,bc,-az,aw,-at,aq,-aq,at,-aw,az,-bc,-be,bb,-ay,av,-as,ap,-ar,au,-ax,ba,-bd ,-bd,ba,-ax,au,-ar,ap,-as,av,-ay,bb,-be,-bc,az,-aw,at,-aq,aq,-at,aw,-az,bc,be,-bb,ay,-av,as,-ap,ar,-au,ax,-ba,bd} {er,-eg,dv,-dk,cz,-co,cs,-dd,d_,-dz,ek,-ev,-en,ec,-dr,dg,-cv,cl,-cw,dh,-ds,ed,-eo,-eu,ej,-dy,dn,-dc,cr,-dlp,da ,dw,-eh,es,eq,-ef,du,-dj,cy,-cn,ct,-de,dp,-ea,el,-ew,-em,eb,-dq,df,-cu,cm,-cx,di,-dt,ee,-ep,-et,ei,-dx,dm,-db,cq} {ci,-cd,by,-bt,bo,-bj,bf,-bk,bp,-bu,bz,-ce,cj,ch,-cc,bx,-bs,bn,-bi,bg,-bl,bq,-bv,ca,-cf,ck,cg,-cb,bw,-br,bm bh,-bm,br,-bw,cb,-cg,-ck,cf,-ca,bv,-bq,bl,-bg,bi,-bn,bs,-bx,cc,-ch,-cj,ce,-bz,bu,-bp,bk,-bf,bj,-bo,bt,-ci},c {es,-ej,ea,-dr,di,-cz,cq,-co,cx,-dg,dp,-dy,eh,-eq,-eu,el,-ec,dt,-dk,db,-cs,cm,-cv,de,-dn,dw,-ef,eo,ew,-en,ee,-dv ,dm,-dd,cu,-cl,ct,-dc,dl,-du,ed,-em,ev,ep,-eg,dx,-d_,df,-cw,cn,-cr,da,-dj,ds,-eb,ek,-et,-er,ei,-dz,dq,-dh,cy,-cp} {ao,-an,am,-al,ak,-aj,ai,-ah,ah,-ai,aj,-ak,al,-am,an,-am,-al,-ak,----------------------------------------------------------in ,ao,-an,am,-al,ak,-aj,ai,-ah,ah,-ai,-al,-ak,al,-am,-an,-ao,-ao,-an,-am,-al,-ak,-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 DCT-2 and DST-7, which is 4×4, adopted in HEVC, a method of adaptive multiple transform (AMT, also called extended multiple transform (EMT)) is also proposed for redundancy 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 precisely quantized with 10-bit representation instead of 8-bit 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 to 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 less than or equal to 64, and whether to apply AMT can be controlled by a CU-level flag. If the CU-level flag is equal to 0, DCT-2 can be applied to the CU to code the residual. For luma coding blocks in 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 of 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 concept of subsets, 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 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 set of transforms consisting of DST-7 and DCT-8 can be used for all inter modes and horizontal and vertical transforms. Among 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 points DST-7: JPEG0007635447000008.jpg401418 points of DST-7: JPEG0007635447000009.jpg5914716 points of DST-7: JPEG0007635447000010.jpg7614432 points of DST-7: JPEG0007635447000011.jpg7413964 points of 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 be different 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, similar to the DCT-2 core used in HEVC, the transform core of DST-7 may be, for example, TIFF0007635447000012.tif16158 (compatible with 8-bit conversion core), or It may be scaled by a predefined factor such as TIFF0007635447000013.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 the AMT, when the AMT is applied, all the main transform cores including the DCT-2 may be represented by 10-bit integers, i.e., 10-bit transform cores, where 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 other transform sizes except 64 points or more) and 10-bit (e.g., used for transforms of 64 points or more) transform cores. In this application, for example, 2, 4, 8, 16 and 32-point DCT-2 transform cores cannot be derived 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 to implement. Compared with a 10-bit main transform core, the 8-bit main transform core reduces the memory required to store the transform core and reduces the width of the input bits of the multiplier / addition / subtraction operations, reducing the complexity.
[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 methods proposed below as examples 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, and the 8-bit prime transform core matrix has a core matrix represented by 8 bits and having a size equal to or larger than 64 points. The method according to an 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 to cause the target file for encoding or decoding to be encoded or decoded using an 8-bit main transform core matrix having a size equal to or larger than 64 points. The method of FIG. 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 a second size type from the 8-bit main transform core matrix having a size equal to or larger than 64 points, and generating or transmitting information to cause 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 prime transform core matrix in a memory before or during performance of steps 501-504.
[0085] The method illustrated 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 an additional 32 integers for constructing a 32-point 8-bit main transform core matrix, the additional 32 integers being bf, bg, bh, bi, bj, bk, bl, bm, bn, bo, bp, bq, br, bs, bt, bu, bv, bw, bx, by, bz, ca, cb, cc, cd, ce, cf, cg, ch, ci, cj, and ck, and Including their respective sign inversions, 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} is equal to {91, 90, 90, 90, 88, 87, 86, 84, 83, 81, 79, 77, 73, 71, 69, 65, 62, 59, 56, 52, 48, 44, 41, 37, 33, 28, 24, 20, 15, 11, 7, 2}.
[0086] The method illustrated in FIG. 5 may further include constructing a 128-point 8-bit main transform core using the 63 integers and additional 64 integers for constructing a 64-point 8-bit main transform core, the additional 64 integers including 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 transforms, 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} 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] The method shown in Figure 5 may further include: a size of the 8-bit main transform core matrix is 64 points or 128 points. The method shown in Figure 5 may further include: a left half or a right half of an even or odd 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-l and DST-7, and / or the second transform core matrix is any one of DCT-2, DCT-5, DCT-8, DST-l and DST-7.
[0088] The method shown in Figure 5 may further include: the 8-bit main transform core matrix is the same as the second transform core matrix, and is 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 master 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 an original transform core T0 composed of floating-point numbers to be ×log2(N), where B=8, the row vectors of T0 as basis vectors are mutually orthogonal, and the norm of each row vector is 1.
[0090] 6 may further include step 602. Step 602 may include 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 includes updating the adjusted transformation matrix T2 by adding the calculated offset value to T2 such that a cost value for T2 is minimized, and the adjusted transformation matrix T2 is output as an 8-bit N-point prime 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, +2. The method of Figure 6 may also include outputting T2 as an 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.
[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 forms 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 form 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 with 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 an original transform core T0 consisting of floating-point numbers to be (T1*T1 × log2(N), where the row vectors, i.e., the basis vectors, of T0 are mutually orthogonal and the norm of each row vector is 1; (b) derive an adjusted transform core T2 by trying to add an offset to a selected set of M unique numbers for constructing the main transform core T2; and (c) calculate a cost value C by multiplying the cost value C by (T1*T1 T -2 2B-4 ×log2(N) 2 The cost value is calculated as the sum of the absolute values of all elements of T2 (×I), where I is an N×N identity matrix. An offset value that minimizes the cost value can then be added to T2 to update T2. Exemplary offset values for each of the M unique numerical values include, but are not limited to, −2, −1, 0, +1, and +2. After minimizing the cost value by trying all possible combinations of offset values for the selected set of M unique numerical values, T2 is output as a B-bit N-point main transform core.
[0097] When deriving an N-point DCT-8 and DST-7 transform core, the set of M unique values for constructing an N-point DCT-8 core matrix and the set of M unique values for constructing an 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, in a 4-point DST-7 core, there may be four unique values including 28, 55, 74, and 84, which is the same as the set of four unique values for constructing a 4-point DCT-8 core.
[0098] 4 points 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,-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 the selected set of M unique numbers, the cost value is minimized, and then T2 is output as the B-bit N-point main transform core.
[0100] When deriving a 2N-point DST-1 transform core, it is constrained that the set of M unique values for constructing the 2N-point DST-1 core matrix is 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 is equal to 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 equal to 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. As an example, an 8-bit DCT-5 transform core is shown below: 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,} {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,} {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, 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,} {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 implemented by one or more processors capable of executing computer software having computer-readable instructions that are physically stored on one or more computer-readable mediums (e.g., hard disk drives). For example, FIG. 7 illustrates a computer system 700 suitable for implementing some embodiments of the disclosed subject matter.
[0104] Computer software may be encoded in any suitable machine code or computer language, and may be, through mechanisms such as assembling, compiling, linking, etc., produced code including instructions that may be executed directly by one or more computer central processing units (CPUs), graphics processing units (GPUs), etc., or may be interpreted, executed by microcode, etc.
[0105] The instructions may be executed on 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 include certain human interface input devices. Such human interface input devices may be responsive to one or more human user inputs, for example, by tactile input (e.g., keystrokes, slides, data glove movements), audio input (e.g., voice, clapping), visual input (e.g., posture), olfactory input (not shown). The human interface devices may also be used to capture certain media that are not necessarily directly related to conscious human input, such as, for example, audio (e.g., voice, music, ambient sounds), images (e.g., scanned images, photographic images obtained from a static image capture device), video (e.g., two-dimensional video, three-dimensional video including stereo video), and the like.
[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 further include certain human interface output devices. Such human interface output devices may stimulate one or more of the human user's senses, for example, by 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, but also haptic feedback devices that are not used as input devices), audio output devices (e.g., speakers 709, headphones (not shown)), visual output devices (e.g., screens 710, including CRT screens, LCD screens, plasma screens, and OLED screens, each with or without touch screen input capabilities and with or without haptic feedback capabilities, some of which may be capable of outputting two-dimensional visual output or three or more 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 further include human accessible storage devices and associated media, such as optical media such as a CD / DVD ROM / RW 720 having media 721 such as CDs / DVDs, thumb drives 722, removable hard drives or solid state drives 723, conventional magnetic media such as magnetic tape and floppy disks (not shown), dedicated ROM / ASIC / PLD based devices such as dongles (not shown), and the like.
[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 an interface to one or more communication networks. The network may be, for example, a wireless, wired, optical, etc. network. The network may further be a local, wide area, metropolitan, in-vehicle, industrial, real-time, delay tolerant, etc. network. Examples of networks include, for example, local area networks such as Ethernet, cellular networks including wireless LAN, GSM, 3G, 4G, 5G, LTE, etc., television wired or wireless wide area digital networks including cable television, satellite television, and terrestrial television, vehicle and industrial networks including CANBus, etc. Certain networks typically require connection to an external network interface adapter of some general purpose data port or peripheral bus (749) (e.g., a USB port of 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 of a PC computer system, or a cellular network interface of a smartphone computer system) as described below. Using any of these networks, the computer system 700 may 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, to other computer systems using local or wide area digital networks. 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 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 may be connected via a system bus 748, along with read only memory (ROM) 745, random access memory 746, internal mass storage 747, e.g., an internal hard disk drive, SSD, etc. that is not accessible to the user. 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 747. A cache memory may be used to allow fast storage and retrieval of any memory in the memory, and may be closely associated with one or more of the CPU 741, GPU 742, mass storage 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, may provide functionality by having processor(s) (including CPU, GPU, FPGA, accelerator, etc.) execute software implemented in one or more tangible computer-readable media. Such computer-readable media may be media related to user-accessible mass storage devices, as described above, as well as non-transitory specific storage devices of core 740, such as core internal mass storage device 747 or ROM 745. Software for implementing various embodiments of the present disclosure may be stored in such devices and executed by core 740. Depending on specific needs, computer-readable media may include one or more storage devices or chips. The software may cause core 740, and in particular the processors therein (including CPU, GPU, FPGA, etc.) to perform certain operations or certain parts of certain operations described herein, including defining data structures stored in RAM 746 and modifying such data structures through operations defined by the software. Additionally or alternatively, a computer system may provide functionality by logic hardwired or otherwise implemented in 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., integrated circuits (ICs)) 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 modifications, substitutions, and various substitute equivalents that fall within the scope of this disclosure. It should thus be understood that those skilled in the art can contemplate 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 the steps of: 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 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, 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 equal to or larger 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; The method includes: (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 primal transform core matrix, the 64-point 8-bit primal transform core matrix is constructed using 31 integers for constructing a 32-point 8-bit primal 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 primal transform core matrix, and the 128-point 8-bit primal transform core matrix is constructed using 63 integers for constructing a 64-point 8-bit primal 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, as well as 64 additional 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 appendices 1 to 4, wherein the size of the 8-bit primary 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 form 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 appendixes 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 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 primal transform core matrix, which is composed of M unique values, 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 such that B=8, the row vectors of T0 are mutually orthogonal, 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 x N matrix (N x I), where I is an N x N identity matrix; A method according to any one of appendices 1 to 4, comprising: 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 10) 10. The method of claim 9, further comprising: after minimizing the cost value C by trying all possible combinations of offset values for the 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 based on said computer program code; Including, The computer program code comprises: a 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; a 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, 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; a 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; a 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 primal transform core matrix, the 64-point 8-bit primal transform core matrix is constructed using 31 integers for constructing a 32-point 8-bit primal 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 primal transform core, and the 128-point 8-bit primal transform core matrix is constructed using 63 integers for constructing a 64-point 8-bit primal 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, and 64 additional 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 adjacent channels is equal to 0, 90, 89, 89, 89, 88, 88, 87, 86, 86, 85, 84, 83, 82, 81, 80, 79, 78, 77, 76, 75, 73, 72, 71, 69, 68, 66, 65, 63, 62, 60, 58, 58, 55, 53, 51, 49, 48, 45, 44, 42, 40, 38, 36, 34, 32, 29, 27, 25, 23, 21, 19, 17, 15, 12, 10, 8, 6, 3, 1}. (Appendix 14) 14. The device according to any one of claims 11 to 13, wherein a size of the 8-bit prime 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 form 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 appendixes 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 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 an original transform core T0 composed of floating-point numbers so that Tl = 1 × log2(N), where B=8, the row vectors of T0 as basis vectors are mutually orthogonal, 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 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 x N matrix (N x I), where I is an N x N identity matrix; and 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 prime transform 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, 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; 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, 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; 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 a target file for the 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, 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 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 more 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 the encoding or decoding using the extracted second transform core matrix having the second size type.
Claims
1. A processor-implemented method for encoding, comprising: receiving information regarding a target file for encoding, the target file for encoding 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 encoding the target file, the first transform core matrix of the first size type being an 8-bit primary transform core matrix, the 8-bit primary transform core matrix being 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, encoding the target file for encoding 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 encoding the target file for encoding 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.
2. The additional 32 integers include bf, bg, bh, bi, bj, bk, bl, bm, bn, bo, bp, bq, br, bs, bt, bu, bv, bw, bx, by, bz, ca, cb, cc, cd, ce, cf, cg, ch, ci, cj, ck, and their positive and negative inversions; 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}.
3. 2. The method of claim 1, wherein when deriving an N-point 8-bit DCT-8 primal transform core matrix or an N-point 8-bit DST-7 transform core matrix, the set of M unique numerical values used to construct the N-point 8-bit DCT-8 primal transform core matrix is the same set of M unique numerical values that construct the N-point 8-bit DST-7 transform core matrix.
4. The method of claim 3 , wherein M is equal to N.
5. The method of claim 1 , wherein the left or right half of even or odd rows of the 8-bit main transform core matrix forms a matrix similar to the second transform core matrix.
6. 2. The method of claim 1, wherein the 8-bit main transform core matrix and the second transform core matrix are the same as any one of DCT-2, DCT-5, DCT-8, DST-1, and DST-7.
7. 7. The method of claim 6, wherein the 8-bit primary 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.
8. The 8-bit N-point main transform core matrix, consisting of M unique values, is calculated by the following steps: Scale factor 2 B-2 ×log 2 (N), Tl = T0 x 2 B-2 ×log 2 deriving an initial transform core matrix T by scaling an original transform core T0 composed of floating point numbers to (N), where B=8, the row vectors of T0, which are bias vectors, are mutually orthogonal, and the norm of each row vector is 1; deriving an adjusted main transform core matrix T2 by adding an offset to the selected set of M unique numerical values for constructing the adjusted main transform core matrix T2; (T1*T1 T -2 2B-4 ×log 2 (N) 2 Calculating a cost value C as the sum of the absolute values of all elements of N x N matrix (N x I), where I is an N x N identity matrix; updating the adjusted transform core matrix T2 by adding the calculated offset value to T2 such that the cost value for T2 is minimized, and the adjusted transform core matrix T2 is output as the 8-bit N-point master transform core matrix; The method of claim 1 , wherein the
9. 9. The method of claim 8, further comprising the step of 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 the 8-bit N-point prime transform core matrix.
10. A processor-implemented method for encoding, comprising: receiving information regarding a target file for encoding, the target file for encoding 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 encoding the target file, the first transform core matrix of the first size type being an 8-bit primary transform core matrix, the 8-bit primary transform core matrix being 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, encoding the target file for encoding 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 encoding the target file for encoding using the extracted second transform core matrix of the second size type; the first transform core matrix is a 128-point 8-bit primal transform core matrix, the 128-point 8-bit primal transform core matrix being constructed using 63 integers for constructing a 64-point 8-bit primal transform core matrix and an additional 64 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.
11. 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, ew, and their respective positive and negative inversions; The additional 64 integers {cl, cm, cn, co, cp, cq, cr, cs, ct, cu, cv, cw, cx, cy, cz, da, db, dc, dd, de, df, dg, dh, di, dj, dk, dl, dm, dn, d _, dp, dq, dr, ds, dt, du, dv, dw, dx, dy, dz, ea, eb, ec, ed, ee, ef, eg, eh, ei, ej, ek, el, em, en, eo, ep, eq, er, es, et, eu, ev, ew} 11. The method of claim 10, wherein is equal to {90, 90, 90, 90, 90, 90, 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}.
12. A processor-implemented method for encoding, comprising: receiving information regarding a target file for encoding, the target file for encoding 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 encoding the target file, the first transform core matrix of the first size type being an 8-bit primary transform core matrix, the 8-bit primary transform core matrix being a core matrix represented by 8 bits and having a size of 64 points or more; a first encoding step of encoding the target file for encoding 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 of the first size type; a second encoding step of 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 when it is determined to use a second transform core matrix of the second size type that is smaller than the first size type, and encoding the target file for encoding using the extracted second transform core matrix of the second size type; generating an encoded video bitstream comprising the object file encoded in the first encoding step or the object file encoded in the second encoding step; 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.
13. A processor-implemented method for encoding, comprising: receiving information regarding a target file for encoding, the target file for encoding 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 encoding the target file, the first transform core matrix of the first size type being an 8-bit primary transform core matrix, the 8-bit primary transform core matrix being a core matrix represented by 8 bits and having a size of 64 points or more; a first encoding step of encoding the target file for encoding 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 of the first size type; a second encoding step of 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 when it is determined to use a second transform core matrix of the second size type that is smaller than the first size type, and encoding the target file for encoding using the extracted second transform core matrix of the second size type; generating an encoded video bitstream comprising the object file encoded in the first encoding step or the object file encoded in the second encoding step; the first transform core matrix is a 128-point 8-bit primal transform core matrix, the 128-point 8-bit primal transform core matrix being constructed using 63 integers for constructing a 64-point 8-bit primal transform core matrix and an additional 64 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.
14. An apparatus for encoding, comprising: at least one memory configured to store computer program code; at least one processor configured to access said at least one memory and to operate based on said computer program code; Including, 14. Apparatus, wherein the computer program code causes the at least one processor to carry out a method according to any one of claims 1 to 13.
15. A computer program product causing said processor to carry out a method according to any one of claims 1 to 13.
Citation Information
Patent Citations
Transform and Quantization Architecture for Video Coding and Decoding
US20120082212A1
Mode-dependent transforms for residual coding with low latency
US20130003856A1
Enhanced multiple transforms for prediction residual
US20160219290A1
Transform selection for video coding
US20180098081A1