(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022105120
(43)【公開日】2022-07-12
(54)【発明の名称】符号化のための方法、装置及びコンピュータプログラム
(51)【国際特許分類】
H04N 19/122 20140101AFI20220705BHJP
【FI】
H04N19/122
【審査請求】有
【請求項の数】9
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2022074298
(22)【出願日】2022-04-28
(62)【分割の表示】P 2020544649の分割
【原出願日】2019-06-03
(31)【優先権主張番号】62/692,658
(32)【優先日】2018-06-29
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】16/225,982
(32)【優先日】2018-12-19
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】520353802
【氏名又は名称】テンセント・アメリカ・エルエルシー
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【弁理士】
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】ジャオ,シン
(72)【発明者】
【氏名】リ,シアン
(72)【発明者】
【氏名】リィウ,シャン
(57)【要約】 (修正有)
【課題】8ビットの主変換コアを利用して画像データを符号化する方法及び装置を提供する。
【解決手段】符号化方法は、第1サイズタイプを有する第1変換コア行列を使用するか、それとも第1サイズタイプよりも小さい第2サイズタイプを有する第2変換コア行列を使用するかを決定することと、第1変換コア行列を使用することを決定した場合には、64ポイント以上のサイズを有する8ビットの主変換コア行列を使用して対象ブロックを符号化し、そうでない場合、第1変換コア行列から第2サイズタイプを有する第2変換コア行列を抽出することと、抽出された第2変換コア行列を使用して対象ブロックを符号化することと、を含む。
【選択図】
図5
【特許請求の範囲】
【請求項1】
符号化のためにプロセッサが実行する方法であって、
符号化のための対象ファイルに関する情報を受信するステップであって、前記符号化のための対象ファイルが、圧縮されたビデオ又は画像データのファイル、又は非圧縮のビデオ又は画像データのファイルのうちの1つであるステップと、
前記対象ファイルの符号化において、第1サイズタイプを有する第1変換コア行列を使用するか、又は前記第1サイズタイプよりも小さい第2サイズタイプを有する第2変換コア行列を使用するかを決定するステップであって、前記第1サイズタイプを有する第1変換コア行列が8ビットの主変換コア行列であり、前記8ビットの主変換コア行列が、8ビットで表され且つ64ポイント以上のサイズを有するコア行列を有するステップと、
前記第1サイズタイプを有する第1変換コア行列を使用することを決定した場合に、前記符号化のための対象ファイルを、64ポイント以上のサイズを有する前記8ビットの主変換コア行列を使用して、符号化するステップと、
前記第1サイズタイプよりも小さい前記第2サイズタイプを有する第2変換コア行列を使用することを決定した場合に、64ポイント以上のサイズを有する前記8ビットの主変換コア行列から、前記第2サイズタイプを有する第2変換コア行列を抽出し、前記符号化のための対象ファイルを、抽出された前記第2サイズタイプを有する第2変換コア行列を使用して、符号化するステップと、
を含み、前記第1変換コア行列は、64ポイント8ビットの主変換コア行列であり、前記64ポイント8ビットの主変換コア行列は、32ポイント8ビットの主変換コア行列を構築するための33個の整数と、付加的な32個の整数を使用して構築され、前記付加的な32個の整数は、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及び、それらの正負変換を含み、
前記付加的な32個の整数である{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}は、{91,90,90,90,88,87,86,84,83,81,79,77,73,71,69,65,62,59,56,52,48,44,41,37,33,28,24,20,15,11,7,2}に等しい、方法。
【請求項2】
符号化のための対象ファイルに関する情報を受信するステップを実行する前に、更に前記8ビットの主変換コア行列をメモリに予め記憶するステップを含む請求項1に記載の方法。
【請求項3】
前記8ビットの主変換コア行列の偶数行又は奇数行の、左半分又は右半分は、前記第2変換コア行列に類似する行列を形成し、
前記8ビットの主変換コア行列は、DCT-2、DCT-5、DCT-8、DST-l及びDST-7の何れか1つであり、
前記第2変換コア行列は、DCT-2、DCT-5、DCT-8、DST-l及びDST-7の何れか1つである請求項1に記載の方法。
【請求項4】
前記8ビットの主変換コア行列が前記第2変換コア行列と同一であり、DCT-2、DCT-5、DCT-8、DST-l及びDST-7の何れか1つである請求項3に記載の方法。
【請求項5】
前記8ビットの主変換コア行列は8ビット64ポイントのDCT-2変換行列であり、前記第2変換コア行列は8ビット32ポイントのDCT-2変換行列である請求項4に記載の方法。
【請求項6】
M個の固有(unique)の数値で構成される、8ビットNポイントの前記主変換コア行列を導出する方法は、
スケール因子2B-2×log2(N)で、Tl=T0×2B-2×log2(N)となるように浮動小数点数で構成されるオリジナル変換コアT0をスケーリングすることで、初期変換コア行列Tlを導出するステップであって、B=8で、T0の行ベクトルは互いに直交し、各行ベクトルのノルムが1である、ステップと、
調整された主変換コア行列T2を構築するための、前記M個の固有(ユニック)の数値の選択済みセットに、オフセットを追加することで、前記調整された変換コア行列T2を導出するステップと、
(T1*T1T -22B-4×log2(N)2×I)の全ての要素の絶対値の合計としてコスト値Cを計算するステップであって、IはN×N単位行列であるステップと、
計算されたオフセット値をT2に追加することで、前記コスト値がT2に最小化されるように、前記調整された変換行列T2を更新するステップであって、前記調整された変換行列T2は、前記8ビットNポイントの主変換コア行列として出力されるステップと、を含む、請求項1に記載の方法。
【請求項7】
M個の固有(unique)の数値の選択済みセットにオフセット値の全ての可能な組み合わせを試すことで前記コスト値Cを最小化した後、T2が前記8ビットNポイントの主変換コア行列として出力されることをさらに含む請求項6に記載の方法。
【請求項8】
請求項1~7のうちの何れか一項に記載の方法をコンピュータのプロセッサに実行させるコンピュータプログラム。
【請求項9】
符号化のための装置であって、
コンピュータプログラムコードを記憶するように構成された少なくとも1つのメモリと、
前記少なくとも1つのメモリにアクセスし、前記コンピュータプログラムコードに基づいて動作するように構成された少なくとも1つのプロセッサと、
を含み、前記コンピュータプログラムコードは、請求項1に記載の方法を前記少なくとも1つのプロセッサに実行させる、装置。
【発明の詳細な説明】
【優先権情報】
【0001】
本出願は、2018年6月29日にアメリカ特許商標庁に提出された、アメリカ仮出願第62/692、658号に基づく優先権を主張し、その全内容を本明細書に参照により援用する。
【技術分野】
【0002】
本開示はビデオ圧縮技術に関わる。具体的に、本開示は、次世代ビデオ符号化技術に関わり、例えば、多用途ビデオ符号化(VVC)などの、高効率ビデオ符号化(HEVC)を超えたビデオ符号化/復号化技術を含む。より具体的に、本開示の一態様は、64×64以上のサイズを有する8ビットの変換コアを使用するVVC主変換方法、機器及びコンピュータ媒体に関わる。
【背景技術】
【0003】
動き補償を伴うインターピクチャ予測を使用するビデオ符号化及び復号化は何十年も前から知られている。非圧縮のディジタルビデオは一連のピクチャで構成され、各ピクチャは、例えば1920×1080輝度サンプル及び関連する色度サンプルの空間次元を有する。この一連のピクチャは、例えば毎秒60枚ピクチャや60ヘルツ(Hz)などの固定又は可変のピクチャレート(非公式にフレームレートとも呼ばれる)を持っていることができる。非圧縮のビデオには高いビットレート要件がある。例えば、1サンプルあたり8ビットの1080p60 4:2:0のビデオ(60Hzフレームレートの1920×1080輝度サンプルの解像度)は、1.5Gbit/sに近い帯域幅が必要である。このようなビデオを1時間使用するには、600GBを超えるストレージ容量が必要である。
【0004】
ビデオ符号化及び復号化の1つの目的は、圧縮によってビデオ入力信号の冗長性を低減することであり得る。場合によって、圧縮により、前記帯域幅又はストレージスペースに対する要件を2桁以上減らすことに寄与することができる。可逆圧縮、非可逆圧縮、及びそれらの組み合わせを採用できる。可逆圧縮とは、圧縮された元の信号から元の信号の正確なレプリカを再構築できる技術を指す。非可逆圧縮を使用する場合、再構築された信号は、元の信号と異なる場合があるが、元の信号と再構築された信号との間の歪みは十分に小さいから、再構築された信号は、予期のアプリケーションで有用にする。ビデオの場合に、非可逆圧縮は広く採用される。許容される歪み量は、アプリケーションによって異なり、例えば、特定のコンシューマストリーミングアプリケーションのユーザーは、テレビ貢献アプリケーションのユーザーよりも高い歪みを許容する。達成可能な圧縮率は、許可/許容可能な歪みが高いほど、達成可能な圧縮率が高くなることを反映することができる。
【0005】
当業者は、一般に、ビデオ圧縮/解凍技術を理解している。一般に、ビデオ又は画像データを圧縮するために、一連の機能ステップを実行することで、圧縮されたビデオ又は画像ファイルを生成する。360°画像(例えば、360°撮影装置で撮影された画像)などの画像は圧縮に適しているが、読み取りの便宜上、ビデオファイルの圧縮について説明する。圧縮されたビデオファイルを生成するには、通常の規格(例えば、H.264、H.265)では、ビデオソースから受信された非圧縮のビデオサンプルストリームに対して分割又は解析を実行することで、2つ以上の参照ピクチャのサンプルブロックを取得する。
【0006】
双方向予測は、2つ以上の参照ピクチャの2つの動き補償サンプルブロックから、予測されたサンプルブロックのような予測ユニット(PU)を予測するという技術に関わる。双方向予測はまず、MPEG-1ビデオコーディング規格に導入されるとともに、MPEG-2 Part2(又はH.262)、H.264及びH.265のような他のビデオコーディング技術及び規格にも含まれる。
【0007】
圧縮されたビデオファイルを解凍する場合に、双方向予測のPUのサンプルの再構築中に、各参照ブロックからの動き補償及び補間された入力サンプリングに、各参照ブロックごとに異なる重み係数を乗算するとともに、2つの参照ブロックのこのような重み付けされたサンプル値を加算することで、再構築中のサンプルを生成することができる。ループフィルタリングのようなメカニズムを介してこのようなサンプルをさらに処理することもできる。
【0008】
MPEG-1及びMPEG-2では、再構築中のPUが属するピクチャと2つの参照ピクチャとの間の相対時間距離に基づき、重み係数を決定することができる。これは可能であり、なぜならば、MPEG-1及びMPEG-2では、2つの参照I又はPピクチャの一方は、(表示順序で)再構築中のBピクチャの「過去」にあり、他方は再構築中のBピクチャの「未来」にあるためであり、さらに、MPEG-1及びMPEG-2では、再構築中の全てのピクチャについて、その参照ピクチャに対して明確に定義されたタイミング関係が確立されるためである。
【0009】
H.264以降、双方向予測ピクチャのための参照ピクチャの選択概念が緩和されるので、参照ピクチャは、復号化順序で前にあるだけでよく、表示順序で前にある必要がない。また、H.264及びH.265はいずれも、時間領域における制約/固定されたピクチャ間隔を必要としないため、時間の概念も緩和される。従って、復号器は、ビットストリームで使用可能なタイミング情報に基づき、重み係数を計算することができなくなる。その代わりに、H.264及びH.265には、双方向予測ピクチャの参照サンプルの重み係数として、0.5である「デフォルト値」が含まれる。このデフォルト値は、pred_weight_table()と呼ばれるスライスヘッダで使用可能な構文によって書き替えられることができる。デフォルト値0.5又はpred_weight_tableにおける情報は、所定のスライスにおける全ての双方向予測のPUに適用されることができる。
【0010】
非特許文献1は、H.265/HEVC規格を示している。しかしながら、発明者らは、HEVC規格(その拡張を含む)を大幅に超える圧縮能力を有する未来のビデオ符号化技術の規格化の必要性を既に検討した。
【0011】
非特許文献2は、最近発表された、HEVCを超える次世代ビデオ符号化用の規格化フォーマットを開示し、それは、VTMバージョンを有する多用途ビデオ符号化(VVC)(VVCテストモデル)と呼ばれる。VVCは通常、10ビットの整数行列を使用して、大きな(例えば、64ポイント以上の)変換コアを提供することができる。
【先行技術文献】
【非特許文献】
【0012】
【非特許文献1】「Transform design for HEVC with 16 bit intermediate data representation(16ビット中間データ表現形式を有するHEVCの変換設計)」;ITU-T SG16 WP3及びISO/IEC JTC1/SC29/WG11ビデオ符号化共同協力グループ(JCT-VC)によって出版され、第5回会議:ジュネーブ、スイス、2011年3月16日~23日(ファイル:JCTVC-E243)。H.265/HEVC(高効率ビデオ符号化)規格は、ITU-T VCEG(Q6/16)ISO/IEC MPEG(JTC l/SC 29/WG 11)から発表されたバージョン1(2013)、バージョン2(2014)、バージョン3(2015)及びバージョン4(2016)を含むことができる。
【0013】
【非特許文献2】「Algorithm description for Versatile Video Coding and Test Model 1 (VTM 1)( 汎用ビデオコーディングとテストモデルのアルゴリズム説明)」;ITU-T SG 16 WP 3及びISO/IEC JTC l/SC 29/WG 11共同ビデオ専門家グループ(JVET)によって出版され、第10回会議:サンディエゴ、アメリカ、2018年4月10日~20日(ファイル:JVET-Jl002-v2)。
【発明の概要】
【発明が解決しようとする課題】
【0014】
しかしながら、複雑さを低減し、変換コアを記憶するためのメモリを削減し、及び/又は、乗算器/加算/減算演算の入力ビットの幅を削減するために、VVCにおける8ビット(例えば、64ポイント以上)の大きなコアが必要である。一般に、例えば、従来のVVCにおいて10ビットの64ポイントのDCT-2変換コアから8ビットの2ポイント、4ポイント、8ポイント、16ポイント及び32ポイントのDCT-2変換コアを抽出することができないから、単一の64ポイントの変換コアは、実現のために追加のメモリ及びロジックを必要とするため、主変換を適用するコストを必然的に増やす。8ビットの主変換コアは、10ビットの主変換コアに比べると、変換コアを記憶するためのメモリが削減され、乗算器/加算/減算演算の入力ビットの幅が削減されるので、複雑さが低減される。
【課題を解決するための手段】
【0015】
本開示の一態様によれば、8ビットの主変換コア行列を利用して、圧縮されたビデオ又は画像データを復号化したり、非圧縮のビデオ又は画像データを符号化したりする方法であって、符号化又は復号化のための対象ファイルに関する情報を受信するステップであって、前記符号化又は復号化のための対象ファイルが、圧縮されたビデオ又は画像データのファイル、及び非圧縮のビデオ及び画像データのファイルのうちの1つであるステップと、前記対象ファイルの前記符号化又は復号化に対して、第1サイズタイプを有する第1変換コア行列を使用するか、それとも前記第1サイズタイプよりも小さい第2サイズタイプを有する第2変換コア行列を使用するかを決定するステップであって、前記第1サイズタイプが8ビットの主変換コア行列であり、前記8ビットの主変換コア行列が、8ビットで表され且つ64ポイント以上のサイズを有するコア行列を有するステップと、を含むことができる。本開示の前記態様による方法はさらに、前記決定の結果が前記第1サイズタイプを有する第1変換コア行列を使用することである場合に、前記符号化又は復号化のための対象ファイルを、64ポイント以上のサイズを有する前記8ビットの主変換コア行列を使用して符号化又は復号化するステップと、前記決定の結果が前記第1サイズタイプよりも小さい前記第2サイズタイプを有する第2変換コア行列を使用することである場合に、64ポイント以上のサイズを有する前記8ビットの主変換コア行列から、前記第2サイズタイプを有する第2変換コア行列を抽出し、前記符号化又は復号化のための対象ファイルを、抽出された前記第2サイズタイプを有する第2変換コア行列を使用して符号化又は復号化するステップと、を含むことができる。
【0016】
本開示の一態様によれば、8ビットの主変換コア行列を利用して、圧縮されたビデオ又は画像データを復号化したり、非圧縮のビデオ又は画像データを復号化したりするための装置であって、コンピュータプログラムコードを記憶するように配置される少なくとも1つのメモリと、少なくとも1つのメモリにアクセスし、前記コンピュータプログラムコードに基づき動作するように配置される少なくとも1つのプロセッサと、を含むことができる。当該コンピュータプログラムコードは、第1アプリケーションコードと、第2アプリケーションコードと、第3アプリケーションコードと、第4アプリケーションコードとを含むことができる。
【0017】
第1アプリケーションコードは、符号化又は復号化のための対象ファイルに関する情報を前記少なくとも1つのプロセッサに受信させるように配置されることができる。前記符号化又は復号化のための対象ファイルは、圧縮されたビデオ又は画像データのファイル、及び非圧縮のビデオ又は画像データのファイルのうちの1つである。第2アプリケーションコードは、前記対象ファイルの前記符号化又は復号化に対して、第1サイズタイプを有する第1変換コア行列を使用するか、それとも前記第1サイズタイプよりも小さい第2サイズタイプを有する第2変換コア行列を使用するかを前記少なくとも1つのプロセッサに決定させるように配置されることができ、前記第1サイズタイプは、8ビットの主変換コア行列であり、前記8ビットの主変換コア行列は、8ビットで表され且つ64ポイント以上のサイズを有するコア行列を有する。
【0018】
第3アプリケーションコードは、前記決定の結果が前記第1サイズタイプを有する第1変換コア行列を使用することである場合に、前記符号化又は復号化のための対象ファイルを、64ポイント以上のサイズを有する前記8ビットの主変換コア行列を使用して符号化又は復号化するようにする情報を生成又は伝送することを前記少なくとも1つのプロセッサに実行させるように配置されることができる。第4アプリケーションコードは、前記決定の結果が前記第1サイズタイプよりも小さい前記第2サイズタイプを有する第2変換コア行列を使用することである場合に、64ポイント以上のサイズを有する前記8ビットの主変換コア行列から前記第2サイズタイプを有する第2変換コア行列を抽出し、前記符号化又は復号化のための対象ファイルを、抽出された前記第2サイズタイプを有する第2変換コア行列を使用して符号化又は復号化するようにする情報を生成又は伝送することを前記少なくとも1つのプロセッサに実行させるように配置されることができる。
【0019】
本開示の一態様によれば、非一時的なコンピュータ読み取り可能な記憶媒体には、以下の動作を1つ以上のコンピュータに実行させるための命令が記憶され、即ち、符号化又は復号化のための対象ファイルに関する情報を受信し、前記符号化又は復号化のための対象ファイルは、圧縮されたビデオ又は画像データのファイル、及び非圧縮のビデオ又は画像データのファイルのうちの1つであり、前記対象ファイルの前記符号化又は復号化に対して、第1サイズタイプを有する第1変換コア行列を使用するか、それとも前記第1サイズタイプよりも小さい第2サイズタイプを有する第2変換コア行列を使用するかを決定し、前記第1サイズタイプは8ビットの主変換コア行列であり、前記8ビットの主変換コア行列は、8ビットで表され且つ64ポイント以上のサイズを有するコア行列を有する。
【0020】
非一時的なコンピュータ読み取り可能な記憶媒体に記憶される命令はさらに、以下の動作を1つ以上のプロセッサに実行させてもよく、即ち、前記決定の結果が前記第1サイズタイプを有する第1変換コア行列を使用することである場合に、前記符号化又は復号化のための対象ファイルを、64ポイント以上のサイズを有する前記8ビットの主変換コア行列を使用して符号化又は復号化するようにする情報を生成又は伝送し、及び、前記決定の結果が前記第1サイズタイプよりも小さい前記第2サイズタイプを有する第2変換コア行列を使用することである場合に、64ポイント以上のサイズを有する前記8ビットの主変換コア行列から前記第2サイズタイプを有する第2変換コア行列を抽出し、前記符号化又は復号化のための対象ファイルを、抽出された前記第2サイズタイプを有する第2変換コア行列を使用して符号化又は復号化するようにする情報を生成又は伝送する。
【図面の簡単な説明】
【0021】
開示されたテーマのさらなる特徴、性質及び様々な利点は、以下の詳細な説明及び図面からより明確になる。図面において、
【
図1】一実施例による通信システムの簡略化ブロック図の概略図である。
【
図2】一実施例によるストリーミングシステムの簡略化ブロック図の概略図である。
【
図3】一実施例による復号器の簡略化ブロック図の概略図である。
【
図4】一実施例による符号器の簡略化ブロック図の概略図である。
【
図5】一実施例による符号化又は復号化の例示的な方法の概略図である。
【
図6】一実施例による変換コア行列を出力する概略図である。
【
図7】一実施例によるコンピュータシステムの概略図である。
【発明を実施するための形態】
【0022】
図1は、本開示による一実施例の通信システム(100)の簡略化ブロック図を示す。システム(100)は、ネットワーク(150)を介して互いに接続された少なくとも2つの端末(110、120)を含むことができる。データの一方向伝送のために、第1端末(110)は、ローカル位置でビデオデータを符号化して、ネットワーク(150)を介して別の端末(120)に伝送することができる。第2端末(120)は、ネットワーク(150)から、別の端末の符号化されたビデオデータを受信し、当該符号化されたデータを復号化し、復元されたビデオデータを表示することができる。一方向のデータ伝送はメディアサービスアプリケーションなどでは一般的である。
【0023】
図1は、例えばビデオ会議中に発生する可能性がある符号化されたビデオの双方向伝送をサポートするために提供される第2対の端末(130、140)を示す。データの双方向伝送にについて、各端末(130、140)は、ローカル位置でキャプチャしたビデオデータを符号化して、ネットワーク(150)を介して他方の端末に伝送することができる。各端末(130、140)はさらに、他方の端末から伝送された、符号化されたビデオデータを受信し、当該符号化されたデータを復号化し、復元されたビデオデータをローカル表示機器に表示することができる。
【0024】
図1において、端末(110~140)は、ラップトップコンピュータ110、サーバ120、及びスマートフォン130、140として例示されるが、本開示の原理はそれに限定されない。本開示の実施例は、ラップトップコンピュータ、タブレット、メディアプレイヤー及び/又は専用のビデオ会議機器を含むがこれらに限定されない他の機器に適用することができる。ネットワーク(150)は、端末(110~440)の間で符号化されたビデオデータを伝送する任意の数のネットワークを表し、例えば有線及び/又は無線通信ネットワークを含む。通信ネットワーク(150)は、回線交換及び/又はパケット交換チャネルにおいてデータを交換することができる。代表的なネットワークには、電気通信ネットワーク、ローカルエリアネットワーク、ワイドエリアネットワーク及び/又はインターネットが含まれる。本出願で説明される目的からすると、以下で解釈されない限り、ネットワーク(150)のアーキテクチャ及びトポロジは、本開示の動作にとって重要ではないかもしれない。
【0025】
開示されたテーマの適用例として、
図2は、ビデオの符号器及び復号器の、ストリーミング環境における配置方式を示す。開示されたテーマは、例えばビデオ会議、デジタルTVなどが含まれる、ビデオをサポートする他のアプリケーションに等価的に適用されることができ、CD、DVD、メモリースティックなどが含まれるデジタルメディアに圧縮されたビデオなどを記憶する。
【0026】
ストリーミングシステムは、キャプチャサブシステム(213)を含むことができ、当該キャプチャサブシステムは、例えばディジタル撮影装置などの、非圧縮のビデオサンプルストリーム(202)を作成できるビデオソース(201)を含むことができる。サンプルストリーム(202)は、符号化されたビデオビットストリームと比較して多いデータ量を強調するように、太い線として描画される。サンプルストリーム(202)は、撮影装置(201)に連結される符号器(203)によって処理されることができる。符号器(203)は、以下で詳細に説明される開示されるテーマの態様を実現又は実施するために、ハードウェア(例えば、プロセッサ、又は回路及びメモリ)、ソフトウェア又はそれらの組み合わせを含むことができる。符号化されたビデオビットストリーム(204)は、サンプルストリームと比較して少ないデータ量を強調するように、細い線として描画される。符号化されたビデオビットストリーム(204)は、将来の使用のために、ストリーミングサーバ(205)に記憶されることができる。1つ以上のストリーミングクライアント(206、208)は、ストリーミングサーバ(205)にアクセスして、符号化されたビデオビットストリーム(204)のレプリカ(207、209)を検索することができる。クライアント(206)は、ビデオ復号器(210)を含むことができ、当該ビデオ復号器(210)は、符号化されたビデオビットストリームの着信レプリカ(207)を復号化し、ディスプレイ(212)又は他のレンダリング機器(図示せず)でレンダリングできる発信ビデオサンプルストリーム(211)を作成する。
【0027】
図3は、本開示の一実施例によるビデオ復号器(210)の機能ブロック図を示す。
図3に示すように、受信機(310)は、復号器(210)によって復号化される1つ以上のコーデックビデオシーケンスを受信することができ、同じ実施例又は他の実施例では、一度に1つの符号化されたビデオシーケンスを受信し、各符号化されたビデオシーケンスの復号化は、他の符号化されたビデオシーケンスと独立している。符号化されたビデオシーケンスをチャネル(312)から受信することができ、チャネル(312)は、当該符号化されたビデオデータを記憶するための記憶装置へのハードウェア/ソフトウェアリンクであってもよい。受信機(310)は、符号化されたビデオデータ及び他のデータ、例えば、それぞれの使用エンティティ(図示せず)に転送されることができる符号化されたオーディオデータ及び/又は補助データストリームを受信することができる。受信機(310)は、符号化されたビデオシーケンスを他のデータから分離することができる。ネットワークのジッタを防止するために、バッファメモリ(315)は、受信機(310)とエントロピー復号器/パーサー(320)(以下、「パーサー」と呼ばれる)との間に連結されることができる。受信機(310)は、十分な帯域幅及び制御可能性を有する記憶/転送装置、又は等時性リアルタイムネットワークからデータを受信する際に、バッファ(315)を必要としない可能性があり、又はバッファ(315)が小さくなってもよい。例えばインターネットなどのベストエフォート型パケットネットワークで使用するために、バッファ(315)を必要とする可能性があり、バッファ(315)は比較的大きく、有利に適応サイズを有することができる。
【0028】
ビデオ復号器(310)は、エントロピー符号化されたビデオシーケンスに基づきシンボル(321)を再構成するように、パーサー(320)を含むことができる。
図2及び3に示すように、これらのシンボルのカテゴリには、復号器(210)の動作を管理するための情報、及びディスプレイ(212)のような、復号器の構成部分ではないが復号器に連結されることができる表示機器を制御するための潜在情報が含まれる。(1つ以上の)表示機器のための制御情報は、補助拡張情報(SEIメッセージ)又はビデオユーザビリティ情報(VUI)パラメータセットフラグメント(図示せず)という形であってもよい。パーサー(320)は、受信された、符号化されたビデオシーケンスを解析/エントロピー復号化することができる。符号化されたビデオシーケンスの符号化は、ビデオ符号化技術又は規格に従って実行することができ、可変長符号化、ハフマン符号化(Huffman coding)、文脈依存の有無にかかわらず算術符号化などを含む当業者に知られている原理に従うことができる。パーサー(320)は、グループに対応する少なくとも1つのパラメータに基づき、符号化されたビデオシーケンスから、ビデオ復号器における画素のサブグループのうちの少なくとも1つのサブグループのサブグループパラメータセットを抽出することができる。サブグループは、ピクチャグループ(GOP)、ピクチャ、タイル、スライス、マクロブロック、符号化ユニット(CU)、ブロック、変換ユニット(TU)、予測ユニット(PU)などを含むことができる。エントロピー復号器/パーサーはさらに、符号化されたビデオシーケンスから、変換係数、量子化器パラメータ値、動きベクトルなどの情報を抽出してもよい。
【0029】
パーサー(320)は、バッファ(315)から受信されたビデオシーケンスに対してエントロピー復号化/解析操作を実行することで、シンボル(321)を作成することができる。シンボル(321)の再構築は、符号化されたビデオピクチャ又はその一部(例えば、インターピクチャとイントラピクチャ、インターブロックとイントラブロック)のタイプ及び他の要因によって、複数の異なるユニットに関与する。関与するユニット及び関与形態は、パーサー(320)が符号化されたビデオシーケンスから解析したサブグループ制御情報によって制御される。簡潔のために、パーサー(320)と以下の複数のユニットとの間の、このようなサブグループ制御情報の流れは図示されていない。
【0030】
既に言及された機能ブロックに加えて、復号器210は、概念的には、以下複数の機能ユニットに細分化される。ビジネス上の制約の下で運行する実際の実現形態において、これらのユニットのうち複数のユニットは互いに密接に相互作用するとともに、少なくとも部分的に互いに統合することができる。しかしながら、開示されたテーマを説明するために、概念的に以下の機能ユニットに細分化されることは適切である。
【0031】
第1ユニットはスケーラ/逆変換ユニット(351)である。スケーラ/逆変換ユニット(351)はパーサー(320)から(1つ以上の)シンボル(321)としての量子化変換係数及び制御情報を受信し、使用する変換方式、ブロックサイズ、量子化因子、量子化スケーリング行列などを含む。スケーラ/逆変換ユニット(351)は、アグリゲーター(355)に入力されるサンプル値を含むブロックを出力することができる。
【0032】
場合によって、スケーラ/逆変換ユニット(351)の出力サンプルは、イントラ符号化ブロック、即ち、以前に再構築されたピクチャからの予測情報を使用していないが、現在ピクチャの以前に再構築された部分からの予測情報を使用することができるブロックに属する。このような予測情報は、イントラピクチャ予測ユニット(352)によって提供されることができる。ある場合に、イントラピクチャ予測ユニット(352)は現在(部分的に再構成された)ピクチャ(356)から抽出された、周囲が再構成された情報を使用して、再構成中のブロックと同じサイズ及び形状のブロックを生成する。ある場合に、アグリゲーター(355)は、各サンプルごとに、イントラ予測ユニット(352)から生成された予測情報を、スケーラ/逆変換ユニット(351)によって提供される出力サンプル情報に追加する。
【0033】
他の場合に、スケーラ/逆変換ユニット(351)の出力サンプルはインター符号化された、潜在的に動き補償されたブロックに属することができる。このような場合に、動き補償予測ユニット(353)は参照ピクチャメモリ(357)にアクセスして、予測のためのサンプルを抽出することができる。当該ブロックに属するシンボル(321)に基づき、抽出されたサンプルに対して動き補償を行った後、これらのサンプルは、アグリゲーター(355)によって、スケーラ/逆変換ユニットの出力に追加される(この場合、残差サンプル又は残差信号と呼ばれる)ことで、出力サンプル情報が生成される。動き補償ユニットが予測サンプルを抽出するための参照ピクチャメモリ内のアドレスは動きベクトルによって制御され、動きベクトルはシンボル(321)の形で、動き補償ユニットによって使用され、シンボル(321)は、例えばX、Y及び参照ピクチャ成分を有してもよい。動き補償はさらに、サブサンプルによって動きベクトルを正確に実行するときに参照ピクチャメモリから抽出されたサンプル値の補間、動きベクトル予測メカニズムなどを含んでもよい。
【0034】
ループフィルタユニット(356)において、アグリゲーター(355)の出力サンプルに対して、様々なループフィルタリング技術を採用できる。ビデオ圧縮技術は、ループ内フィルタ技術を含むことができ、ループ内フィルタ技術は、符号化されたビデシーケンスに含まれる、パーサー(320)からのシンボル(321)として、ループフィルタユニット(356)に適用可能なパラメータによって制御され、しかしながら、ビデオ圧縮技術は、符号化されたピクチャ又は符号化されたビデオシーケンスの(復号化の順序で)前の部分を復号化する期間に取得されたメタ情報、及び、以前再構成されループフィルタリング処理されたサンプル値に応答することもできる。
【0035】
ループフィルタユニット(356)の出力は、サンプルストリームであってもよく、サンプルストリームは、将来のインターピクチャ予測で使用されるために、表示機器(212)に出力され、参照ピクチャメモリ(356)に記憶されることができる。
【0036】
ある符号化されたピクチャは完全に再構成されたら、将来の予測のための参照ピクチャとして使用される。例えば、符号化されたピクチャは完全に再構成され、符号化されたピクチャ(例えばパーサー(320)を介して)は参照ピクチャとして認識されると、現在の参照ピクチャ(356)は参照ピクチャバッファ(357)の一部に変更され、その後の符号化されたピクチャの再構成を開始する前に、新たな現在ピクチャメモリを再割り当てる。
【0037】
ビデオ復号器320は、例えばITU-T H.265勧告書の規格における所定のビデオ圧縮技術に従って復号化動作を実行することができる。符号化されたビデオシーケンスがビデオ圧縮技術ドキュメント又は規格、及びそのプロファイルで提出されたビデオ圧縮技術又は規格の構文に従う意味で、符号化されたビデオシーケンスは、使用されているビデオ圧縮技術又は規格によって指定される構文に準拠している。準拠性について、さらに、符号化されたビデオシーケンスの複雑さがビデオ圧縮技術又は規格のレベルによって限定される範囲にあるように要求される。いくつかの場合に、レベルは、最大ピクチャサイズ、最大フレームレート、最大再構築サンプリングレート(例えば、メガサンプル/秒で測定する)、及び/又は最大参照ピクチャのサイズなどを制限する。いくつかの場合に、レベルによって設置される制限は、仮想参照復号器(HRD)の仕様、及び符号化されたビデオシーケンスにおいて信号で通知されるHRDバッファが管理するメタデータによってさらに限定される。
【0038】
一実施例において、受信機(310)は追加の(冗長な)データと符号化されたビデオを受信できる。追加のデータは、(1つ以上の)符号化されたビデオシーケンスの一部として含まれてもよい。追加のデータはビデオ復号器(320)によって使用されることで、データを正確に復号化し、及び/又は元のビデオデータをより正確に再構築する。追加のデータは、例えば時間、空間又はSNR拡張層、冗長スライス、冗長ピクチャ、前方誤り訂正符号などの形であってもよい。
【0039】
図4は本開示の一実施例によるビデオ符号器(203)の機能ブロック図である。
【0040】
符号器(203)は、符号器(203)によって符号化される(1つ以上の)ビデオ画像をキャプチャすることができるビデオソース(201)(符号器の一部ではない)からビデオサンプルを受信することができる。
【0041】
ビデオソース(201)は、符号器(203)によって符号化される、ディジタルビデオサンプルストリームの形であるソースビデオシーケンスを提供することができ、当該ディジタルビデオサンプルストリームは、任意の適切なビット深さ(例えば:8ビット、10ビット、12ビット…)、任意の色空間(例えば、BT.601 Y CrCB、RGB……)、及び任意の適切なサンプリング構成(例えば、Y CrCb 4:2:0、Y CrCb 4:4:4)を有してもよい。メディアサービスシステムにおいて、ビデオソース(201)は、以前に準備されたビデオを記憶するための記憶機器であってもよく、当該記憶機器はメモリとプロセッサとを含んでもよい。ビデオ会議システムにおいて、ビデオソース(203)は、ビデオシーケンスとして、ローカル画像情報をキャプチャするための撮影装置を含んでもよい。ビデオデータは、順番に見たときに、動きが付与される複数の個別のピクチャとして提供できる。ピクチャ自体は、空間画素アレイとして編集され、使用されているサンプリング構成、色空間などによって、各画素には1つ以上のサンプルが含まれてもよい。画素とサンプルとの間の関係は、当業者にとって、容易に理解することができる。以下、サンプルを中心に説明する。
【0042】
一実施例によれば、ビデオ符号器(203)は、ソースビデオシーケンスのピクチャを、リアルタイムで、又はアプリケーションで必要とする他の任意の時間制約の下で、符号化されたビデオシーケンス(443)に符号化及び圧縮することができる。適切的な符号化速度で実行することは、コントローラ(450)の機能の1つである。コントローラ(450)は、以下で説明する他の機能ユニットを制御し、他の機能ユニットに機能的に結合される。簡潔のために、結合は示されていない。コントローラによって設置されるパラメータは、レート制御関連パラメータ(ピクチャスキップ、量子化器、レート歪み最適化技術のλ値など)、ピクチャサイズ、ピクチャグループ(GOP)配置、最大動きベクトル検索範囲などを含んでもよい。当業者は、コントローラ(450)の他の機能を容易に決定することができ、これらの機能は特定のシステム設計に対して最適化されたビデオ符号器(203)に属する。
【0043】
あるビデオ符号器は、当業者が容易に「符号化ループ」として認識するという方式で動作する。非常に簡単な説明として、符号化ループは、符号化対象となる入力ピクチャと(1つ以上の)参照ピクチャに基づきシンボルストリームを作成することを担当する符号器の符号化部分(430)(以下、「ソース符号器」と呼ばれる)と、符号器(203)に埋め込まれる(ローカル)復号器(433)とを含むことができる。復号器(433)はシンボルを再構築することで、(リモート)復号器も作成しようとするサンプルデータを作成する(なぜならば、シンボルと符号化されたビデオビットストリームとの間の任意の圧縮は、開示されたテーマで考慮されるビデオ圧縮技術において可逆であるためである)。再構築されたサンプルストリームを参照ピクチャメモリ(434)に入力する。シンボルストリームの復号化により、復号器位置(ローカル又はリモート)と関係がないビットが正確である(bit-exact)結果を発生させるので、参照ピクチャバッファのコンテンツはローカル符号器とリモート符号器との間でもビットが正確である。言い換えば、符号器の予測部分から「見る」参照ピクチャサンプルは、復号化中に予測を使用するときに復号器が「見る」サンプル値とまったく同じである。当該参照ピクチの同期性の基本原理(及び、例えばチャネル誤差のため同期性を維持できない場合に発生するドリフト)は当業者にとって公知である。
【0044】
「ローカル」復号器(433)の動作は、例えば
図3を結合して以上で詳しく説明した「リモート」復号器(210)の動作と同じであってもよい。ただし、さらに
図3を簡単に参照し、シンボルは、使用可能で、エントロピー符号器(445)とパーサー(320)とがシンボルを符号化されたビデオシーケンスに無損失で符号化/復号化する場合、(チャネル(312)、受信機(310)、バッファ(315)及びパーサー(320)を含む)復号器(210)のエントロピー復号化部分は、ローカル復号器(433)で完全に実現されることができないおそれがある。
【0045】
現時点で、復号器に存在する解析/エントロピー復号化に加えて、任意の復号器技術も、必然的に基本的に同じ機能形式で、対応する符号器に存在することが観察されることができる。符号器技術の説明は、完全に説明された復号器技術と相互に逆である。より詳しい説明は、特定の領域のみ必要であり、以下で提供される。
【0046】
その動作の一部として、ソース符号器(430)は動き補償予測符号化を実行することができ、動き補償予測符号化はビデオシーケンスからの、「参照フレーム」として指定される1つ以上の以前に符号化されたフレームを参照して、入力フレームを予測的に符号化する。この方法で、符号化エンジン(432)は入力フレームの画素ブロックと、入力フレームの(1つ以上の)予測参照として選択される(1つ以上の)参照フレームの画素ブロックとの間の差を符号化する。
【0047】
ローカルビデオ復号器(433)はソース符号器(430)によって作成されるシンボルに基づき、参照フレームとして指定されることができるフレームの符号化されたビデオデータを復号化することができる。符号化エンジン(432)の操作は有利的には、非可逆処理であってもよい。符号化されたビデオデータがビデオ復号器(
図4には図示せず)で復号化される場合、再構築されたビデオシーケンスは、一般的に、多少の誤差を伴うソースビデオシーケンスのレプリカであってもよ。ローカルビデオ復号器(433)は、参照フレームに対してビデオ復号器によって実行される復号化処理を複製し、再構成された参照フレームを参照ピクチャキャッシュ(434)に記憶することができる。この方法で、ビデオ符号器(203)は、再構成された参照フレームのレプリカをローカルに記憶し、当該レプリカは、リモートビデオ復号器によって取得された、再構成される参照フレームと共通のコンテンツを有する(伝送誤差がない)。
【0048】
予測器(435)は符号化エンジン(432)に対して予測検索を実行する。つまり、符号化対象となる新たなフレームに対して、予測器(435)は参照ピクチャメモリ(434)から、新たなフレームの適切な予測参照であるサンプルデータ(候補参照画素ブロックとする)、又は例えば参照ピクチャ動きベクトル、ブロック形状などのメタデータを検索することができる。予測器(435)はサンプルブロックに基づき、画素ブロックごとに動作することで、適切な予測参照を見つけることができる。ある状況で、予測器(435)によって取得された検索結果によって決定されるように、入力ピクチャは、参照ピクチャメモリ(434)に記憶される複数の参照ピクチャから取得される予測参照を有する。
【0049】
コントローラ(450)は、例えばビデオデータを符号化するためのパラメータとサブグループパラメータの設置を含むビデオ符号器(430)の符号化操作を管理することができる。
【0050】
エントロピー符号器(445)において、以上に言及された全ての機能ユニットの出力に対してエントロピー符号化を行うことができる。当該エントロピー符号器は、例えばハフマン符号化、可変長符号化、算術符号化などのような当業者に知られている技術に従って、各機能ユニットから生成されたシンボルに対して可逆圧縮を行うことで、これらのシンボルを符号化されたビデオシーケンスに変換する。
【0051】
送信機(440)は、通信チャネル(460)を介した伝送の準備をするように、エントロピー符号器(445)によって作成される(1つ以上の)符号化されたビデオシーケンスをバッファリングすることができ、当該通信チャネルは、符号化されたビデオデータを記憶するための記憶機器へのハードウェア/ソフトウェアリンクであってもよい。送信機(440)は、ビデオ符号器(430)からの符号化されたビデオデータと、例えば符号化されたオーディオデータ及び/又は補助データストリーム(ソースは図示せず)のような、伝送対象となる他のデータとを、マージすることができる。
【0052】
コントローラ(450)は、ビデオ符号器(203)の動作を管理することができる。符号化中に、コントローラ(450)は、各符号化されたピクチャに、対応するピクチャに適用される符号化技術に影響を与える可能性がある特定の符号化ピクチャタイプを割り当てる。例えば、一般的に、ピクチャは次のピクチャタイプのいずれかとして割り当てられる。
【0053】
イントラピクチャ(Iピクチャ)は、シーケンス内の任意の他のフレームを予測のソースとして使用せず、符号化及び復号化されるピクチャであってもよい。一部のビデオコーデックは、例えば独立復号器リフレッシュ(「IDR」)ピクチャを含む異なるタイプのイントラピクチャを許容する。当業者は、Iピクチャのそれらの変形及び対応する用途と特徴を知っている。
【0054】
予測ピクチャ(Pピクチャ)は、多くとも1つの動きベクトルと参照インデックスを使用して各ブロックのサンプル値を予測する場合に、イントラ予測又はインター予測を使用して符号化及び復号化するピクチャであってもよい。
【0055】
双方向予測ピクチャ(Bピクチャ)は、多くとも2つの動きベクトルと参照インデックスを使用して各ブロックのサンプル値を予測する場合に、イントラ予測又はインター予測を使用して符号化及び復号化するピクチャであってもよい。同様に、複数の予測ピクチャは、2つを超える参照ピクチャ及び関連するメタデータを、単一のブロックの再構築に適用する。
【0056】
ソースピクチャは一般的に、空間的に複数のサンプルブロック(例えば、それぞれ4×4、8×8、4×8又は16×16個のサンプルのブロック)に細分化され、ブロックごとに符号化されることができる。これらのブロックは、他の(符号化された)ブロックを参照して、予測的に符号化されることができ、前記他のブロックは、ブロックの対応するピクチャに適用される符号化割当によって決定される。例えば、Iピクチャのブロックの場合、非予測的に符号化するか、又は、同一のピクチャの既に符号化されたブロックを参照して、ブロックを予測的に符号化(空間予測又はイントラ予測)してもよい。Pピクチャの画素ブロックの場合、以前に符号化された1つの参照ピクチャを参照して、空間的予測又は時間的予測を介して予測的に符号化してもよい。Bピクチャのブロックの場合、以前に符号化された1つ又は2つの参照ピクチャを参照して、空間的予測又は時間的予測を介して予測的に符号化してもよい。
【0057】
ビデオ符号器(203)は、例えばITU-T H.265勧告書における所定のビデオ符号化技術又は規格に基づき符号化動作を実行することができる。その動作において、ビデオ符号器(203)は、入力ビデオシーケンスにおける時間的と空間的冗長性を使用した予測的符号化動作が含まれる様々な圧縮動作を実行することができる。従って、符号化されたビデオデータは、使用されているビデオ符号化技術又は規格によって指定される構文に準拠していることができる。
【0058】
一実施例において、送信機(440)は、追加のデータと符号化されたビデオを伝送することができる。ソース符号器(430)は、符号化されたビデオシーケンスの一部として、このようなデータを含んでもよい。追加のデータは、時間/空間/SNR拡張層、冗長ピクチャとスライスのような他の形式の冗長データ、補充拡張情報(SEI)メッセージ、ビデオユーザビリティ情報(VUI)パラメータセットフラグメントなどを含んでもよい。
【0059】
上記のように、符号化されたビデオシーケンスの符号化は、ビデオ符号化技術又は規格に従って実行することができ、可変長符号化、ハフマン符号化、文脈依存の有無にかかわらず算術符号化などが含まれる当業者に知られている原理に従うことができる。特定のストリーミングシステムにおいて、ビデオビットストリーム(204、207、209)はあるビデオ符号化/圧縮規格に従って符号化することができる。それらの規格の例はH.265のITU-T HEVC勧告書を含む。
【0060】
HEVCにおいて、主変換は4ポイント、8ポイント、16ポイント又は32ポイントのDCT-2変換コア行列を有し、また、変換コア行列は8ビットの整数(即ち、8ビットの変換コア行列)で表されてもよい。小さなDCT-2のHEVC変換コア行列は大きなDCT-2の一部であり、以下のように示す。
【0061】
【0062】
【0063】
【0064】
【0065】
上記のように、各DCT-2コアは対称性/反対称性の特性を示す。従って、いわゆる「部分的なバタフライ」の実施をサポートして、動作カウント(乗算、加算/減算、シフト)の数を低減し、そして、部分的なバタフライによって、行列乗算の同じ結果を取得することができる。HEVC変換設計に関するより多い詳しい内容について、非特許文献1を参照すればよい。
【0066】
非公式に多用途ビデオ符号化(VVC)と呼ばれるビデオ符号化規格は開発中である。開示されたテーマは、VVCのコンテキストで使用できる。
【0067】
VVCにおける主変換について、HEVCと同様な4ポイント、8ポイント、l6ポイント及び32ポイントのDCT-2変換に加えて、別の2ポイント、64ポイント及びl28ポイントのDCT-2をさらに含んでもよい。2ポイントのDCT-2コアは、HEVC主変換設計に合わせた8ビットの整数行列であってもよいが、64ポイントとl28ポイントのDCT-2は、10ビットの変換コアを使用し、これは、VVCにおける64ポイントのDCT-2コア又はl28ポイントのDCT-2コアから、2ポイント、4ポイント、8ポイント、l6ポイント及び32ポイントのDCT-2変換を抽出できないことを示す。
【0068】
以下、VVCにおいて定義された例示的な64ポイントのDCT-2コアの部分を示し、その中、{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,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa}
{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,-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}
{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,-bx,-ca,-cd,-cg,-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,-bg}
{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,-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}
{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,-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,bo,bx,cg,-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}
{ar,aw,bb,-bd,-ay,-at,-ap,-au,-az,-be,ba,av,aq,as,ax,bc,-bc,-ax,-as,-aq,-av,-ba,be,az,au,ap,at,ay,bd,-bb,-aw,-ar,-ar,-aw,-bb,bd,ay,at,ap,au,az,be,-ba,-av,-aq,-as,-ax,-bc,bc,ax,as,aq,av,ba,-be,-az,-au,-ap,-at,-ay,-bd,bb,aw,ar}
{bk,bv,cg,-ce,-bt,-bi,-bm,-bx,-ci,cc,br,bg,bo,bz,ck,-ca,-bp,-bf,-bq,-cb,cj,by,bn,bh,bs,cd,-ch,-bw,-bl,-bj,-bu,-cf,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}
{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,-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,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}
{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,bs,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,-bm}
{ab,ac,-ac,-ab,-ab,-ac,ac,ab,ab,ac,-ac,-ab,-ab,-ac,ac,ab,ab,ac,-ac,-ab,-ab,-ac,ac,ab,ab,ac,-ac,-ab,-ab,-ac,ac,ab,ab,ac,-ac,-ab,-ab,-ac,ac,ab,ab,ac,-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,cg,bp,bl,cc,-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,-ce,-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,-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}
{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,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,-bo}
{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,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,-ck,-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,-bh,-bz,bz,bh,ce,-bu,-bm,-cj,bp,br,-ch,-bk,-bw,cc,bf,cb,-bx,-bj,-cg,bs,bo,-ck,-bn,-bt,cf,bi,by,-ca,-bg,-cd,bv,bl,ci,-bq}
{ae,-ag,-ad,-af,af,ad,ag,-ae,-ae,ag,ad,af,-af,-ad,-ag,ae,ae,-ag,-ad,-af,af,ad,ag,-ae,-ae,ag,ad,af,-af,-ad,-ag,ae,ae,-ag,-ad,-af,af,ad,ag,-ae,-ae,ag,ad,af,-af,-ad,-ag,ae,ae,-ag,-ad,-af,af,ad,ag,-ae,-ae,ag,ad,af,-af,-ad,-ag,ae}
{br,-cf,-bg,-cc,bu,bo,-ci,-bj,-bz,bx,bl,ck,-bm,-bw,ca,bi,ch,-bp,-bt,cd,bf,ce,-bs,-bq,cg,bh,cb,-bv,-bn,cj,bk,by,-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}
{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,bg,ch,-bn,-bx,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}
{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,-bt,-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,bs,bw,-bu}
{aa,-aa,-aa,aa,aa,-aa,-aa,aa,aa,-aa,-aa,aa,aa,-aa,-aa,aa,aa,-aa,-aa,aa,aa,-aa,-aa,aa,aa,-aa,-aa,aa,aa,-aa,-aa,aa,aa,-aa,-aa,aa,aa,-aa,-aa,aa,aa,-aa,-aa,aa,aa,-aa,-aa,aa,aa,-aa,-aa,aa,aa,-aa,-aa,aa,aa,-aa,-aa,aa,aa,-aa,-aa,aa}
{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,-bs,bw,bu,-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,bt,-bv}
{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,-bz,-bt,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}
{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,bk,-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,-bl,ci,bq,-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,bh,-bz}
{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,ck,-bp,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}
{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,-ch,bo,-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,ce,-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,bl,-cc}
{ac,-ab,ab,-ac,-ac,ab,-ab,ac,ac,-ab,ab,-ac,-ac,ab,-ab,ac,ac,-ab,ab,-ac,-ac,ab,-ab,ac,ac,-ab,ab,-ac,-ac,ab,-ab,ac,ac,-ab,ab,-ac,-ac,ab,-ab,ac,ac,-ab,ab,-ac,-ac,ab,-ab,ac,ac,-ab,ab,-ac,-ac,ab,-ab,ac,ac,-ab,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,bq,-cf,-cb,bm,-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,bo,-cd}
{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,by,-bl,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}
{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,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,-bo,bx,-cg}
{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,-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,bw,-bp,bi,-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}
{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,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}
{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,-ck}
【0069】
以下、VVCにおいて定義された例示的な128ポイントのDCT-2コアを示し、その中、{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,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}={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,362,362,361,361,360,359,357,356,354,352,350,348,345,342,339,336,333,329,325,321,317,313,308,303,299,293,288,283,277,271,265,259,253,246,240,233,226,219,212,205,197,190,182,175,167,159,151,143,134,126,118,109,101,92,84,75,66,58,49,40,31,22,13,4}である。
【0070】
以下、128ポイントのDCT-2コアを示し、128×128である変換コアの左半分のみを説明し、右半分について、DCT-2の対称性/反対称性の特性に従って導出されることができる。
{aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa}
{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}
{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,-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}
{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,-dj,-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,-em,-ep,-es,-ev}
{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,-bx,-ca,-cd,-cg,-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,-bg}
{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,-dy,-ef,-em,-et}
{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}
{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,-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}
{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,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,-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,em,-eu,-eh,-du,-dh,-cu,-co,-db,-d_,-eb,-eo,es,ef,ds,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,-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}
{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,-ea,-ep}
{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,bo,bx,cg,-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}
{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,-en}
{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,-dg,-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,-bu,-cf,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}
{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,-dx,-eu,ec,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,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}
{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,-dc,-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,-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,-bm}
{da,ef,-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,-eh}
{ab,ac,-ac,-ab,-ab,-ac,ac,ab,ab,ac,-ac,-ab,-ab,-ac,ac,ab,ab,ac,-ac,-ab,-ab,-ac,ac,ab,ab,ac,-ac,-ab,-ab,-ac,ac,ab,ab,ac,-ac,-ab,-ab,-ac,ac,ab,ab,ac,-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,da,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,cg,bp,bl,cc,-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,-ce,-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,-di,-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,ci,-bu,-bi,-cb,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,-bo}
{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,-ed}
{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,am,ah,al,-an,-ai,-ak,ao,aj}
{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,-cu,-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,ea}
{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,-bh,-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}
{di,-eq,-cv,-dv,ed,cn,ei,-dq,-da,-ev,dd,dn,-el,-cq,-ea,dy,cs,en,-dl,-df,et,cy,ds,-eg,-cl,-ef,dt,cx,es,-dg,-dk,eo,ct,dx,-eb,-cp,-ek,d_,dc,-ew,-db,-dp,ej,co,ec,-dw,-cu,-ep,dj,dh,-er,-cw,-du,ee,cm,eh,-dr,-cz,-eu,de,dm,-em,-cr,-dz}
{ae,-ag,-ad,-af,af,ad,ag,-ae,-ae,ag,ad,af,-af,-ad,-ag,ae,ae,-ag,-ad,-af,af,ad,ag,-ae,-ae,ag,ad,af,-af,-ad,-ag,ae,ae,-ag,-ad,-af,af,ad,ag,-ae,-ae,ag,ad,af,-af,-ad,-ag,ae,ae,-ag,-ad,-af,af,ad,ag,-ae,-ae,ag,ad,af,-af,-ad,-ag,ae}
{dj,-en,-cq,-ec,du,cy,ev,-db,-dr,ef,cn,ek,-dm,-dg,eq,ct,dz,-dx,-cv,-es,de,d_,-ei,-cl,-eh,dp,dd,-et,-cw,-dw,ea,cs,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,-bn,cj,bk,by,-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}
{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,-ee,dq,de,-eq,-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,-dx}
{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,bg,ch,-bn,-bx,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}
{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,aj,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,cs,-es,-cm,-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,-bt,-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,bs,bw,-bu}
{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,-dr}
{aa,-aa,-aa,aa,aa,-aa,-aa,aa,aa,-aa,-aa,aa,aa,-aa,-aa,aa,aa,-aa,-aa,aa,aa,-aa,-aa,aa,aa,-aa,-aa,aa,aa,-aa,-aa,aa,aa,-aa,-aa,aa,aa,-aa,-aa,aa,aa,-aa,-aa,aa,aa,-aa,-aa,aa,aa,-aa,-aa,aa,aa,-aa,-aa,aa,aa,-aa,-aa,aa,aa,-aa,-aa,aa}
{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,-cn,-ev,cl,-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,-by,-bs,bw,bu,-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,bt,-bv}
{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,-dp}
{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,-bz,-bt,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}
{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,-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,-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,bk,-by}
{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,ct,-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,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,-bl,ci,bq,-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,bh,-bz}
{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,-db,dn,en,-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,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,ck,-bp,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}
{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,bo,-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,-cz,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,-bj,ca,ce,-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,bl,-cc}
{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,ee,ei,-db}
{ac,-ab,ab,-ac,-ac,ab,-ab,ac,ac,-ab,ab,-ac,-ac,ab,-ab,ac,ac,-ab,ab,-ac,-ac,ab,-ab,ac,ac,-ab,ab,-ac,-ac,ab,-ab,ac,ac,-ab,ab,-ac,-ac,ab,-ab,ac,ac,-ab,ab,-ac,-ac,ab,-ab,ac,ac,-ab,ab,-ac,-ac,ab,-ab,ac,ac,-ab,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,ee,-cz,db,-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,bq,-cf,-cb,bm,-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,bo,-cd}
{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,eo,ec,-cz}
{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,cy}
{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,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}
{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,de,-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,dw,-cx}
{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}
{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,-dh,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,-cb,bs,-bj,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,-bo,bx,-cg}
{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,-dz,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,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}
{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,cq,-cu,dj,-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,bw,-bp,bi,-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}
{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,-cr}
{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,-cp,da,-dl,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,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}
{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,-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}
{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,-dp,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,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,-ck}
{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,-cn,cm,-cl}。
【0071】
HEVCで採用されているDCT-2及び4×4である DST-7に加えて、インター符号化ブロックとイントラ符号化ブロックの両方の冗長符号化のために、適応型多重変換(AMT、又は拡張多重変換(EMT)と呼ばれる)の方法も提案される。HEVCにおける現在変換に加えて、AMTは、DCT/DSTシリーズから選択された複数の変換を使用できる。新たに導入された変換行列は、DST-7、DCT-8、DST-1及びDCT-5を含んでもよい。以下の表1は、選択されたDST/DCTの例示的な基底関数を示す。
【0072】
【0073】
変換行列の直交性を維持するために、HEVCにおける変換行列に比べると、変換行列は、HEVCにおける8ビットの代わりに10ビット表現により正確に量子化できる。水平及び垂直変換後、変換された係数の中間値を16ビットの範囲内に維持するために、現在のHEVC変換で使用される右シフトに比べると、全ての係数をさらに2ビットに右シフトできる。AMTは、幅及び高さがいずれも64以下である符号化ユニット(CU)に適用でき、AMTを適用するかどうかは、CUレベルフラグによって制御されることができる。CUレベルフラグが0に等しい場合、DCT-2をCUに適用して、残差を符号化することができる。AMTが有効なCU内の輝度符号化ブロックについて、使用対象となる水平及び垂直変換を識別するために、2つの追加のフラグを信号で示すことができる。
【0074】
イントラ残差符号化について、異なるイントラ予測モードの残差統計が異なるため、モードに関連する変換候補の選択処理を使用することができる。次の表2に示すように、3つの変換サブセットを定義することができ、次の表3で指定されるイントラ予測モードに基づき、変換サブセットを選択することができる。
【表2】
【0075】
サブセットの概念を使用すると、まず、CUレベルのAMTフラグが1に等しいCUのイントラ予測モードを使用し、表3に基づき、変換サブセットを認識することができる。その後、水平変換及び垂直変換のそれぞれについて、フラグを使用した明示的な信号表現に基づいて、表2に基づき認識された変換サブセットにおける2つの変換候補のうちの1つを選択することができる。
【0076】
【0077】
しかしながら、インター予測残差について、DST-7とDCT-8からなる1つの変換セットのみを、全てのインターモードと水平及び垂直変換に使用することができる。DST-7、DCT-8、DST-1及びDCT-5という4つの追加変換タイプにおいて、最も効果的に使用される変換タイプは、DST-7とDCT-8である。なお、DCT-8は本質的に、符号の変更によってDST-7基準を左右に反転するものであるから、DCT-8とDST-7は、基本的に同じ変換基準を共有できる。
【0078】
DST-7の変換コアは、基底ベクトルで構成される行列であり、次のように表すこともできる。
4ポイントのDST-7:
8ポイントのDST-7:
16ポイントのDST-7:
32ポイントのDST-7:
64ポイントの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,av,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,-bn,-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,-bm,-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,aw,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,af,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,as,-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,af,-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,ao,-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,af,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,ce,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,-af,-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,ah,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,-af,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,cd,-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,-ca,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,af,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】
変数a、b c、……aa、ab、ac、……、clは、表1に示されるDST-7の式に基づき導出されることができ、それらの値は、異なるサイズのDST-7によって、異なってもよい。例えば、4ポイントのDST-7と8ポイントのDST-7の場合、「a」の値は異なってもよい。浮動小数点演算を避けるために、HEVCで使用されるDCT-2コアと同様に、DST-7の変換コアは、例えば
(8ビットの変換コアに対応する)、
又は
(10ビットの変換コアに対応する)などの事前定義された因子によってスケーリングされ、最も近い整数に丸め、又はさらに+1/-1のようなオフセット量によって調整されてもよい。
【0080】
AMTの1つの例示的な設計では、AMTが適用される場合、DCT-2を含む全ての主変換コアは、10ビットの整数、即ち、10ビットの変換コアで表されることができる。ただし、主変換コアの少なくとも1つ(ただし、全てではない)は10ビットの整数で表される可能性がある。
【0081】
VVCにおける主変換は、8ビット(例えば、64ポイント以上を除く他の全ての変換サイズに使用される)と10ビット(例えば、64ポイント以上の変換に使用される)の変換コアを適用できる。この適用では、例えば64ポイントのDCT-2変換コアから、2、4、8、16及び32ポイントのDCT-2変換コアを抽出することができなく、これにより、必然的に主変換の応用コストを増やし、なぜならば、単一の64ポイントの変換コアは、実現のために、追加のストレージとロジックを必要とするからである。8ビットの主変換コアは、10ビットの主変換コアに比べると、変換コアを記憶するためのメモリが削減され、乗算器/加算/減算演算の入力ビットの幅が削減されるので、複雑さが低減される。
【0082】
従って、本開示は、DCT-2、DCT-5、DCT-8、DST-1及びDST-7を含む、例示的なAMTに適用される全ての変換サイズタイプに、8ビットの主変換コアのセットを提供する。以下に例示的に提案される方法は、単独で、又は任意の順序で組み合わせて使用できる。
【0083】
図5を参照し、第1の簡単な例示において、8ビットの主変換コア行列を利用して、圧縮されたビデオ又は画像データを復号化したり、非圧縮のビデオ又は画像データを符号化したりする方法は、符号化又は復号化のための対象ファイルに関する情報を受信するステップ501を含んでもよい。符号化又は復号化のための対象ファイルは、圧縮されたビデオ又は画像データのファイル、及び非圧縮のビデオ又は画像データのファイルのうちの1つであってもよい。
図5の方法はさらに、ステップ502を含んでもよい。ステップ502は、対象ファイルの符号化又は復号化に対して、第1サイズタイプを有する第1変換コア行列を使用するか、それとも第1サイズタイプよりも小さい第2サイズタイプを有する第2変換コア行列を使用するかを決定することを、含む。第1サイズタイプは8ビットの主変換コア行列であってもよく、前記8ビットの主変換コア行列は、8ビットで表され且つ64ポイント以上のサイズを有するコア行列を有する。本開示の一態様による方法はさらにステップ503を含んでもよい。ステップ503は、決定の結果が第1サイズタイプを有する第1変換コア行列を使用することである場合、符号化又は復号化のための対象ファイルを、64ポイント以上のサイズを有する8ビットの主変換コア行列を使用して符号化又は復号化するようにする情報を生成又は伝送することを含む。
図5の方法はさらにステップ504を含んでもよい。ステップ504は、決定の結果が第1サイズタイプよりも小さい第2サイズタイプを有する第2変換コア行列を使用することである場合、64ポイント以上のサイズを有する8ビットの主変換コア行列から第2サイズタイプを有する第2変換コア行列を抽出し、符号化又は復号化のための対象ファイルを、抽出された第2サイズタイプを有する第2変換コア行列を使用して符号化又は復号化するようにする情報を生成又は伝送することを含む。
【0084】
図5に示される方法はさらに、1つ以上のプロセッサによって処理ステップ501~504を実行することを含んでもよい。
図5に示される方法はさらに、1つ以上のプロセッサによって、ステップ501~504の実行前又は実行中に、8ビットの主変換コア行列をメモリに事前に記憶することを含んでもよい。
【0085】
図5に示される方法はさらに、第1変換コア行列が64ポイントの8ビットの主変換コア行列であり、32ポイントの8ビットの主変換コア行列を構築するための33個の整数と付加的な32個の整数を使用して構築されることを含んでもよく、前記付加的な32個の整数は、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と、それぞれの正負変換を含み、前記付加的な32個の整数である{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}は、{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】
図5に示される方法はさらに、64ポイントの8ビットの主変換コアを構築するための65個の整数と付加的な64個の整数を使用して128ポイントの8ビットの主変換コアを構築することを含んでもよく、前記付加的な64個の整数は、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と、それぞれの正負変換を含み、これらの付加的な64個の整数である{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}は{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}に等しい。
【0087】
図5に示される方法はさらに、8ビットの主変換コア行列のサイズが、64ポイント又は128ポイントであることを含んでもよい。また、
図5に示される方法はさらに、8ビットの主変換コア行列の偶数又は奇数行の、左半分又は右半分が第2変換コア行列に類似する行列を形成し、8ビットの主変換コア行列がDCT-2、DCT-5、DCT-8、DST-l及びDST-7の何れか1つであり、且つ/又は第2変換コア行列がDCT-2、DCT-5、DCT-8、DST-l及びDST-7の何れか1つであることを含んでもよい。
【0088】
図5に示される方法はさらに、8ビットの主変換コア行列が、第2変換コア行列と同一であり、DCT-2、DCT-5、DCT-8、DST-l及びDST-7の何れか1つであることを含んでもよい。
図5に示される方法はさらに、8ビットの主変換コア行列が、8ビット64ポイントのDCT-2変換行列であり、且つ/又は第2変換コア行列が8ビット32ポイントのDCT-2変換行列であることを含んでもよい。
【0089】
図5に示される方法はさらに、
図6に示される以下のステップによって、M個の固有(unique)の数値で構成される8ビットNポイントの主変換コア行列を導出することを含んでもよい。
図6はステップ601を示す。ステップ601は、スケール因子を使用して元の変換コアをスケーリングすることで、初期変換コア行列を導出することを含む。例えば、ステップ601は、スケール因子2
B-2×log
2(N)で、T1=T0×2
B-2×log
2(N)になるように、浮動小数点数で構成されるオリジナル変換コアT0をスケーリングすることで、初期変換コア行列T1を導出することを含み、その中、B=8であり、基底ベクトルとしてのT0の行ベクトルが互いに直交し、各行ベクトルのノルムは1である。
【0090】
図6の方法はさらにステップ602を含んでもよい。ステップ602は、調整された変換コア行列を導出することを含む。例えば、ステップ602は、調整された主変換コア行列T2を構築するためのM個の固有の数値の選択済みセットに、オフセットを追加することで、調整された変換コア行列(T2)を導出することを含んでもよい。
【0091】
図6の方法はさらにステップ603を含んでもよい。ステップ603は、コスト値Cを、全ての要素の絶対値の合計として計算することを含む。例えば、ステップ603は、コスト値Cを、(T1*T1
T-2
2B-4×log
2(N)
2×I)の全ての要素の絶対値の合計として計算することを含んでもよく、IはN×N単位行列である。
【0092】
図6の方法はさらにステップ604を含んでもよい。ステップ604は、調整された変換行列を更新することを含む。例えば、ステップ604は、計算されたオフセット値をT2に追加することで、コスト値がT2に最小化されるように、調整された変換行列T2を更新することを含み、当該調整された変換行列T2は、8ビットNポイントの主変換コア行列として出力される。
【0093】
図6の方法では、M個の固有の数値のそれぞれに対するオフセット値は、-2、-1、0、+1、+2という値のうちの1つ以上を含んでもよい。また、
図6の方法は、さらに、M個の固有の数値の選択済みセットにオフセット値の全ての可能な組み合わせを試すことで前記コスト値Cを最小化した後、T2を、8ビットNポイントの主変換コア行列として出力することを含んでもよい。
【0094】
次に、異なるタイプの変換コア(変換コア行列)を説明する。例えば、64ポイントのDCT-2変換コアを8ビットの整数で表してもよく、変換コア行列の偶数行(行0、2、4、……30)の左半分は、32ポイントのDCT-2変換コア行列と同じ行列を形成する。一実施例において、以下の設置パラメタによって、64ポイントのDCT-2コア行列を導出することができ、即ち、{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】
128ポイントのDCT-2変換コアを8ビットの整数で表してもよく、変換コア行列の偶数行(行0、2、4、……、126)の左半分は、64ポイントのDCT-2変換コア行列と同じ行列を形成する。一実施例において、以下の設置パラメタによって、128ポイントのDCT-2コア行列を導出することができ、即ち、{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,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}={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,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】
M個の固有の数値(符号とゼロとにかかわらず)で構成されるBビットNポイントの主変換コアは、次の手順で導出できる。即ち、(a)スケール因子2B-2×log2(N)で、Tl=T0x2B-2×log2(N)になるように浮動小数点数で構成されるオリジナル変換コアT0をスケーリングすることで、初期変換コアT1を導出し、T0の行ベクトル、つまり、基底ベクトルは互いに直交し、各行ベクトルのノルムは1であり、(b)主変換コアT2を構築するためのM個の固有の数値の選択済みセットにオフセットを追加するように試すことで、調整された変換コアT2を導出し、及び、(c)コスト値Cを(T1*T1T-22B-4×log2(N)2×I)の全ての要素の絶対値の合計として計算し、IはN×N単位行列である。次に、コスト値を最小化するオフセット値を、T2に追加して、T2を更新することができる。M個の固有の数値のそれぞれに対する例示的なオフセット値は、-2、-1、0、+1、+2を含むが、これらに限定されていない。M個の固有の数値の選択済みセットにオフセット値の全ての可能な組み合わせを試すことでコスト値を最小化した後、T2をBビットNポイントの主変換コアとして出力する。
【0097】
NポイントのDCT-8とDST-7の変換コアを導出する場合、NポイントのDCT-8コア行列を構築するためのM個の固有の数値のセットと、NポイントのDST-7コア行列を構築するためのM個の固有の数値のセットとは同じセットであることが制限される可能性がある。一実施例において、MはNに等しい。一実施例において、以下は8ビットのDCT-8とDST-7の変換コアを示す。例えば、4ポイントのDST-7コアにおいて、28、55、74、84を含む4つの固有の数値を有してもよく、これは、4ポイントのDCT-8コアを構築するための4つの固有の数値のセットと同じである。
【0098】
4ポイントのDST-7:
{29,55,74,84,}
{74,74,0,-74,}
{84,-29,-74,55,}
{55,-84,74,-29,}
8ビットの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ビットの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ビットの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ビットの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ポイントのDCT-8:
{84,74,55,29,}
{74,0,-74,-74,}
{55,-74,-29,84,}
{29,-74,84,-55,}
8ポイントの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ポイントの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ポイントの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ポイントのDCT-8:
{90,90,90,90,90,89,90,89,89,88,87,87,86,85,84,85,83,82,80,81,79,78,77,76,73,74,72,72,69,68,66,65,64,62,60,59,58,55,53,52,49,48,46,44,42,41,38,37,34,32,30,29,26,23,22,20,17,15,13,11,8,7,5,2,}
{90,90,89,87,85,83,81,77,74,69,65,60,55,49,44,38,32,26,20,13,7,0,-7,-13,-20,-26,-32,-38,-44,-49,-55,-60,-65,-69,-74,-77,-81,-83,-85,-87,-89,-90,-90,-90,-90,-89,-87,-85,-83,-81,-77,-74,-69,-65,-60,-55,-49,-44,-38,-32,-26,-20,-13,-7,}
{90,89,86,82,77,72,64,55,46,37,26,15,5,-7,-17,-29,-38,-48,-58,-65,-72,-78,-83,-87,-90,-90,-90,-89,-85,-80,-76,-69,-62,-53,-44,-34,-23,-13,-2,8,20,30,41,49,59,66,74,79,85,87,89,90,90,88,84,81,73,68,60,52,42,32,22,11,}
{90,87,82,73,65,53,41,26,11,-5,-20,-34,-48,-60,-72,-79,-85,-90,-90,-89,-84,-78,-69,-59,-46,-32,-17,-2,13,29,42,55,66,76,83,88,90,90,87,80,74,64,52,38,23,8,-7,-22,-37,-49,-62,-72,-81,-86,-89,-90,-89,-85,-77,-68,-58,-44,-30,-15,}
{90,85,77,65,49,32,13,-7,-26,-44,-60,-74,-83,-89,-90,-87,-81,-69,-55,-38,-20,0,20,38,55,69,81,87,90,89,83,74,60,44,26,7,-13,-32,-49,-65,-77,-85,-90,-90,-85,-77,-65,-49,-32,-13,7,26,44,60,74,83,89,90,87,81,69,55,38,20,}
{89,83,72,53,32,8,-15,-38,-59,-73,-85,-90,-89,-81,-66,-48,-26,-2,22,44,64,78,87,90,87,77,62,42,20,-5,-29,-49,-68,-80,-89,-90,-84,-74,-58,-37,-13,11,34,55,72,85,90,90,82,69,52,30,7,-17,-41,-60,-76,-86,-90,-88,-79,-65,-46,-23,}
{90,81,64,41,13,-15,-42,-65,-80,-89,-89,-79,-62,-38,-11,17,44,66,82,90,89,78,60,37,8,-20,-46,-68,-83,-90,-88,-77,-59,-34,-7,22,48,69,85,90,87,76,58,32,5,-23,-49,-72,-84,-90,-87,-73,-55,-30,-2,26,52,72,85,90,86,74,53,29,}
{89,77,55,26,-7,-38,-65,-83,-90,-85,-69,-44,-13,20,49,74,87,90,81,60,32,0,-32,-60,-81,-90,-87,-74,-49,-20,13,44,69,85,90,83,65,38,7,-26,-55,-77,-89,-89,-77,-55,-26,7,38,65,83,90,85,69,44,13,-20,-49,-74,-87,-90,-81,-60,-32,}
{89,74,46,11,-26,-59,-80,-90,-85,-64,-32,5,41,69,87,89,77,52,17,-20,-53,-78,-90,-86,-68,-38,-2,34,65,84,90,81,58,23,-13,-48,-73,-89,-88,-72,-44,-8,29,60,82,90,83,62,30,-7,-42,-72,-87,-90,-76,-49,-15,22,55,79,90,85,66,37,}
{88,69,37,-5,-44,-73,-89,-85,-64,-29,13,52,79,90,82,58,20,-22,-59,-83,-90,-78,-49,-11,30,65,86,90,74,42,2,-38,-72,-89,-87,-68,-34,7,46,76,90,84,62,26,-15,-53,-81,-90,-80,-55,-17,23,60,85,90,77,48,8,-32,-66,-87,-89,-72,-41,}
{87,65,26,-20,-60,-85,-89,-69,-32,13,55,83,90,74,38,-7,-49,-81,-90,-77,-44,0,44,77,90,81,49,7,-38,-74,-90,-83,-55,-13,32,69,89,85,60,20,-26,-65,-87,-87,-65,-26,20,60,85,89,69,32,-13,-55,-83,-90,-74,-38,7,49,81,90,77,44,}
{87,60,15,-34,-74,-90,-79,-44,5,52,83,90,68,26,-23,-66,-89,-85,-53,-7,42,78,90,73,37,-13,-59,-86,-87,-62,-17,32,72,90,81,46,-2,-49,-82,-89,-69,-29,22,65,89,84,55,8,-41,-77,-90,-76,-38,11,58,85,88,64,20,-30,-72,-90,-80,-48,}
{86,55,5,-48,-83,-89,-62,-13,41,79,90,68,22,-32,-73,-90,-74,-30,23,69,90,78,38,-15,-64,-89,-82,-46,7,58,87,85,53,2,-49,-85,-88,-60,-11,42,81,89,66,20,-34,-76,-90,-72,-29,26,72,90,77,37,-17,-65,-90,-80,-44,8,59,87,84,52,}
{85,49,-7,-60,-89,-81,-38,20,69,90,74,26,-32,-77,-90,-65,-13,44,83,87,55,0,-55,-87,-83,-44,13,65,90,77,32,-26,-74,-90,-69,-20,38,81,89,60,7,-49,-85,-85,-49,7,60,89,81,38,-20,-69,-90,-74,-26,32,77,90,65,13,-44,-83,-87,-55,}
{84,44,-17,-72,-90,-66,-11,49,87,82,38,-23,-73,-90,-62,-5,55,89,79,32,-30,-78,-89,-58,2,60,89,76,26,-37,-80,-87,-52,8,65,90,72,20,-42,-85,-85,-46,15,69,90,68,13,-48,-86,-83,-41,22,74,90,64,7,-53,-88,-81,-34,29,77,90,59,}
{85,38,-29,-79,-87,-48,17,74,89,58,-7,-66,-90,-65,-5,59,90,72,15,-49,-88,-78,-26,41,84,83,37,-30,-81,-87,-46,20,73,90,55,-8,-68,-90,-64,-2,60,90,72,13,-52,-89,-77,-23,42,85,82,34,-32,-80,-86,-44,22,76,89,53,-11,-69,-90,-62,}
{83,32,-38,-85,-81,-26,44,87,77,20,-49,-89,-74,-13,55,90,69,7,-60,-90,-65,0,65,90,60,-7,-69,-90,-55,13,74,89,49,-20,-77,-87,-44,26,81,85,38,-32,-83,-83,-32,38,85,81,26,-44,-87,-77,-20,49,89,74,13,-55,-90,-69,-7,60,90,65,}
{82,26,-48,-90,-69,-2,66,90,52,-22,-81,-85,-30,44,89,72,7,-64,-90,-55,17,78,85,34,-41,-87,-73,-11,60,90,59,-13,-76,-87,-38,37,86,77,15,-58,-90,-62,8,74,88,42,-32,-84,-79,-20,53,90,65,-5,-72,-89,-46,29,83,80,23,-49,-89,-68,}
{80,20,-58,-90,-55,22,82,81,17,-59,-90,-53,23,83,79,15,-60,-90,-52,26,85,78,13,-62,-90,-49,29,84,77,11,-64,-90,-48,30,85,76,8,-65,-89,-46,32,86,73,7,-66,-90,-44,34,87,74,5,-68,-89,-42,37,87,72,2,-69,-89,-41,38,88,72,}
{81,13,-65,-89,-38,44,90,60,-20,-83,-77,-7,69,87,32,-49,-90,-55,26,85,74,0,-74,-85,-26,55,90,49,-32,-87,-69,7,77,83,20,-60,-90,-44,38,89,65,-13,-81,-81,-13,65,89,38,-44,-90,-60,20,83,77,7,-69,-87,-32,49,90,55,-26,-85,-74,}
{79,7,-72,-84,-20,64,89,32,-53,-90,-44,42,90,55,-30,-88,-65,17,85,74,-5,-78,-81,-8,72,85,22,-62,-89,-34,52,90,46,-41,-90,-58,29,87,66,-15,-83,-73,2,77,80,11,-69,-86,-23,60,90,37,-49,-90,-48,38,89,59,-26,-87,-68,13,82,76,}
{78,0,-78,-78,0,78,78,0,-78,-78,0,78,78,0,-78,-78,0,78,78,0,-78,-78,0,78,78,0,-78,-78,0,78,78,0,-78,-78,0,78,78,0,-78,-78,0,78,78,0,-78,-78,0,78,78,0,-78,-78,0,78,78,0,-78,-78,0,78,78,0,-78,-78,}
{77,-7,-83,-69,20,87,60,-32,-90,-49,44,90,38,-55,-89,-26,65,85,13,-74,-81,0,81,74,-13,-85,-65,26,89,55,-38,-90,-44,49,90,32,-60,-87,-20,69,83,7,-77,-77,7,83,69,-20,-87,-60,32,90,49,-44,-90,-38,55,89,26,-65,-85,-13,74,81,}
{76,-13,-87,-59,38,90,37,-60,-86,-11,77,73,-15,-87,-58,41,90,34,-62,-85,-8,78,74,-17,-88,-55,42,90,32,-64,-84,-7,79,72,-20,-89,-53,44,90,30,-65,-85,-5,81,72,-22,-89,-52,46,90,29,-66,-83,-2,80,69,-23,-90,-49,48,89,26,-68,-82,}
{73,-20,-90,-46,55,87,8,-81,-68,30,90,37,-64,-83,2,84,60,-41,-90,-26,72,78,-13,-88,-52,49,89,15,-77,-72,23,90,42,-59,-85,-5,82,65,-34,-90,-32,66,80,-7,-86,-58,44,89,22,-74,-76,17,89,48,-53,-87,-11,79,69,-29,-90,-38,62,85,}
{74,-26,-90,-32,69,77,-20,-90,-38,65,81,-13,-89,-44,60,83,-7,-87,-49,55,85,0,-85,-55,49,87,7,-83,-60,44,89,13,-81,-65,38,90,20,-77,-69,32,90,26,-74,-74,26,90,32,-69,-77,20,90,38,-65,-81,13,89,44,-60,-83,7,87,49,-55,-85,}
{72,-32,-90,-17,81,62,-46,-87,-2,86,49,-59,-82,13,89,37,-69,-73,29,90,22,-78,-65,42,89,7,-84,-53,55,85,-8,-89,-41,66,77,-23,-90,-26,76,68,-38,-90,-11,83,58,-52,-85,5,88,44,-64,-79,20,90,30,-74,-72,34,90,15,-80,-60,48,87,}
{72,-38,-89,-2,87,42,-68,-74,34,90,7,-86,-46,65,76,-30,-90,-11,84,49,-62,-78,26,90,15,-83,-53,59,81,-22,-90,-20,80,58,-55,-82,17,90,23,-79,-60,52,85,-13,-90,-29,77,64,-48,-85,8,89,32,-73,-66,44,87,-5,-89,-37,72,69,-41,-88,}
{69,-44,-85,13,90,20,-83,-49,65,74,-38,-87,7,90,26,-81,-55,60,77,-32,-89,0,89,32,-77,-60,55,81,-26,-90,-7,87,38,-74,-65,49,83,-20,-90,-13,85,44,-69,-69,44,85,-13,-90,-20,83,49,-65,-74,38,87,-7,-90,-26,81,55,-60,-77,32,89,}
{68,-49,-80,29,89,-5,-90,-20,84,42,-74,-62,58,77,-37,-87,13,90,11,-87,-34,78,55,-64,-72,44,85,-22,-90,-2,90,26,-82,-48,69,66,-52,-81,30,89,-7,-90,-17,85,41,-73,-60,59,76,-38,-86,15,90,8,-88,-32,79,53,-65,-72,46,83,-23,-89,}
{66,-55,-76,42,83,-29,-88,13,90,2,-90,-17,87,32,-80,-46,74,59,-64,-69,52,78,-38,-84,23,89,-8,-90,-7,90,22,-85,-37,79,49,-72,-62,60,72,-48,-81,34,86,-20,-89,5,90,11,-89,-26,85,41,-77,-53,68,65,-58,-73,44,82,-30,-87,15,90,}
{65,-60,-69,55,74,-49,-77,44,81,-38,-83,32,85,-26,-87,20,89,-13,-90,7,90,0,-90,-7,90,13,-89,-20,87,26,-85,-32,83,38,-81,-44,77,49,-74,-55,69,60,-65,-65,60,69,-55,-74,49,77,-44,-81,38,83,-32,-85,26,87,-20,-89,13,90,-7,-90,}
{64,-65,-62,66,60,-68,-59,69,58,-72,-55,72,53,-74,-52,73,49,-76,-48,77,46,-78,-44,79,42,-81,-41,80,38,-82,-37,83,34,-85,-32,84,30,-85,-29,86,26,-87,-23,87,22,-88,-20,89,17,-89,-15,90,13,-89,-11,90,8,-90,-7,90,5,-90,-2,90,}
{62,-69,-53,76,44,-80,-34,85,23,-89,-13,90,2,-90,8,90,-20,-87,30,83,-41,-78,49,72,-59,-65,66,58,-74,-48,79,38,-85,-29,87,17,-89,-7,90,-5,-90,15,88,-26,-84,37,81,-46,-73,55,68,-64,-60,72,52,-77,-42,82,32,-86,-22,89,11,-90,}
{60,-74,-44,83,26,-89,-7,90,-13,-87,32,81,-49,-69,65,55,-77,-38,85,20,-90,0,90,-20,-85,38,77,-55,-65,69,49,-81,-32,87,13,-90,7,89,-26,-83,44,74,-60,-60,74,44,-83,-26,89,7,-90,13,87,-32,-81,49,69,-65,-55,77,38,-85,-20,90,}
{59,-77,-34,88,7,-90,22,83,-48,-68,69,46,-85,-20,90,-8,-87,37,76,-60,-58,78,32,-89,-5,90,-23,-82,49,66,-72,-44,84,17,-90,11,87,-38,-73,62,55,-79,-30,89,2,-89,26,80,-52,-65,72,42,-85,-15,90,-13,-86,41,74,-64,-53,81,29,-90,}
{58,-81,-23,90,-13,-84,48,65,-73,-34,89,-2,-88,38,72,-68,-44,86,8,-90,29,78,-60,-53,82,20,-90,17,83,-52,-62,77,30,-89,7,87,-42,-69,72,41,-87,-5,90,-32,-76,64,49,-85,-15,90,-22,-80,55,59,-79,-26,90,-11,-85,46,66,-74,-37,89,}
{55,-83,-13,90,-32,-74,69,38,-89,7,85,-49,-60,81,20,-90,26,77,-65,-44,87,0,-87,44,65,-77,-26,90,-20,-81,60,49,-85,-7,89,-38,-69,74,32,-90,13,83,-55,-55,83,13,-90,32,74,-69,-38,89,-7,-85,49,60,-81,-20,90,-26,-77,65,44,-87,}
{53,-85,-2,87,-49,-58,85,7,-88,46,60,-82,-11,89,-42,-64,81,15,-89,38,66,-78,-20,90,-34,-69,76,23,-90,30,72,-74,-29,90,-26,-73,72,32,-90,22,77,-68,-37,90,-17,-79,65,41,-90,13,80,-62,-44,89,-8,-83,59,48,-87,5,84,-55,-52,86,}
{52,-87,8,80,-65,-37,90,-26,-72,76,20,-89,42,60,-85,-2,85,-58,-46,89,-15,-78,69,30,-90,32,68,-79,-13,89,-48,-55,86,-5,-83,62,41,-90,22,73,-74,-23,90,-38,-64,82,7,-87,53,49,-88,11,81,-66,-34,90,-29,-72,77,17,-90,44,59,-84,}
{49,-89,20,74,-77,-13,87,-55,-44,90,-26,-69,81,7,-85,60,38,-90,32,65,-83,0,83,-65,-32,90,-38,-60,85,-7,-81,69,26,-90,44,55,-87,13,77,-74,-20,89,-49,-49,89,-20,-74,77,13,-87,55,44,-90,26,69,-81,-7,85,-60,-38,90,-32,-65,83,}
{48,-90,30,64,-85,11,76,-77,-8,84,-65,-29,89,-49,-46,90,-32,-62,86,-13,-73,78,7,-85,66,26,-90,52,44,-90,34,60,-87,15,74,-79,-5,83,-68,-23,89,-53,-42,90,-37,-59,87,-17,-72,81,2,-82,69,22,-89,55,41,-90,38,58,-88,20,72,-80,}
{46,-90,41,52,-90,34,58,-89,29,62,-87,22,66,-85,15,72,-83,8,73,-81,2,78,-77,-5,80,-74,-11,85,-69,-17,86,-65,-23,88,-60,-30,90,-55,-37,90,-49,-42,90,-44,-48,90,-38,-53,89,-32,-59,89,-26,-64,87,-20,-68,84,-13,-72,82,-7,-76,79,}
{44,-90,49,38,-90,55,32,-89,60,26,-87,65,20,-85,69,13,-83,74,7,-81,77,0,-77,81,-7,-74,83,-13,-69,85,-20,-65,87,-26,-60,89,-32,-55,90,-38,-49,90,-44,-44,90,-49,-38,90,-55,-32,89,-60,-26,87,-65,-20,85,-69,-13,83,-74,-7,81,-77,}
{42,-90,59,23,-85,72,5,-77,82,-15,-65,89,-34,-49,90,-52,-32,88,-66,-13,80,-78,7,72,-86,26,58,-90,44,41,-89,60,22,-84,74,2,-76,83,-17,-64,89,-37,-48,90,-53,-30,87,-68,-11,81,-79,8,69,-87,29,55,-90,46,38,-90,62,20,-85,73,}
{41,-89,66,8,-77,85,-23,-55,90,-53,-26,84,-76,7,68,-89,38,42,-90,65,11,-78,83,-22,-58,90,-52,-29,85,-73,5,69,-88,37,44,-89,64,13,-79,82,-20,-59,90,-49,-30,86,-74,2,72,-87,34,46,-90,62,15,-81,80,-17,-60,90,-48,-32,87,-72,}
{38,-87,74,-7,-65,90,-49,-26,83,-81,20,55,-90,60,13,-77,85,-32,-44,89,-69,0,69,-89,44,32,-85,77,-13,-60,90,-55,-20,81,-83,26,49,-90,65,7,-74,87,-38,-38,87,-74,7,65,-90,49,26,-83,81,-20,-55,90,-60,-13,77,-85,32,44,-89,69,}
{37,-85,79,-22,-49,90,-72,7,62,-90,60,8,-72,89,-48,-23,81,-84,34,38,-86,78,-20,-52,89,-69,5,64,-90,59,11,-74,89,-46,-26,80,-85,32,41,-87,77,-17,-53,90,-68,2,65,-90,58,13,-73,88,-44,-29,82,-83,30,42,-87,76,-15,-55,90,-66,}
{34,-83,85,-37,-32,82,-84,38,30,-80,85,-41,-29,81,-86,42,26,-79,87,-44,-23,78,-87,46,22,-77,88,-48,-20,76,-89,49,17,-73,89,-52,-15,74,-90,53,13,-72,89,-55,-11,72,-90,58,8,-69,90,-59,-7,68,-90,60,5,-66,90,-62,-2,65,-90,64,}
{32,-81,87,-49,-13,69,-90,65,-7,-55,89,-77,26,38,-83,85,-44,-20,74,-90,60,0,-60,90,-74,20,44,-85,83,-38,-26,77,-89,55,7,-65,90,-69,13,49,-87,81,-32,-32,81,-87,49,13,-69,90,-65,7,55,-89,77,-26,-38,83,-85,44,20,-74,90,-60,}
{30,-77,89,-62,7,52,-87,83,-42,-17,69,-90,72,-20,-41,82,-87,53,5,-60,90,-78,32,29,-76,90,-64,8,49,-86,85,-44,-15,68,-90,72,-22,-38,80,-88,55,2,-59,89,-79,34,26,-73,90,-65,11,48,-85,84,-46,-13,66,-90,74,-23,-37,81,-89,58,}
{29,-74,90,-72,26,30,-73,90,-72,23,32,-76,90,-69,22,34,-77,90,-68,20,37,-78,90,-66,17,38,-79,89,-65,15,41,-81,90,-64,13,42,-80,89,-62,11,44,-82,89,-60,8,46,-83,88,-59,7,48,-85,87,-58,5,49,-84,87,-55,2,52,-85,86,-53,}
{26,-69,90,-81,44,7,-55,85,-87,60,-13,-38,77,-90,74,-32,-20,65,-89,83,-49,0,49,-83,89,-65,20,32,-74,90,-77,38,13,-60,87,-85,55,-7,-44,81,-90,69,-26,-26,69,-90,81,-44,-7,55,-85,87,-60,13,38,-77,90,-74,32,20,-65,89,-83,49,}
{23,-65,88,-86,60,-17,-30,69,-90,85,-55,11,37,-74,90,-80,49,-5,-42,77,-90,78,-44,-2,48,-81,90,-73,38,8,-53,83,-89,72,-32,-15,59,-85,89,-66,26,22,-64,87,-87,62,-20,-29,68,-89,84,-58,13,34,-72,90,-82,52,-7,-41,76,-90,79,-46,}
{22,-60,84,-89,74,-41,-2,44,-76,90,-83,58,-17,-26,64,-86,89,-72,37,7,-48,78,-90,80,-53,13,30,-66,87,-88,68,-32,-11,52,-81,90,-79,49,-8,-34,69,-89,87,-65,29,15,-55,82,-90,77,-46,5,38,-72,90,-85,62,-23,-20,59,-85,90,-73,42,}
{20,-55,81,-90,83,-60,26,13,-49,77,-90,85,-65,32,7,-44,74,-89,87,-69,38,0,-38,69,-87,89,-74,44,-7,-32,65,-85,90,-77,49,-13,-26,60,-83,90,-81,55,-20,-20,55,-81,90,-83,60,-26,-13,49,-77,90,-85,65,-32,-7,44,-74,89,-87,69,-38,}
{17,-49,73,-89,89,-76,52,-20,-15,48,-74,88,-90,77,-53,22,13,-46,72,-87,89,-78,55,-23,-11,44,-72,87,-90,79,-58,26,8,-42,69,-86,90,-81,59,-29,-7,41,-68,85,-90,80,-60,30,5,-38,66,-84,90,-82,62,-32,-2,37,-65,85,-90,83,-64,34,}
{15,-44,68,-85,90,-86,72,-49,22,8,-38,64,-80,90,-88,76,-55,29,2,-32,59,-78,89,-90,79,-60,34,-5,-26,53,-73,87,-90,82,-65,41,-11,-20,48,-72,85,-90,84,-69,46,-17,-13,42,-66,83,-90,87,-74,52,-23,-7,37,-62,81,-89,89,-77,58,-30,}
{13,-38,60,-77,87,-90,85,-74,55,-32,7,20,-44,65,-81,89,-90,83,-69,49,-26,0,26,-49,69,-83,90,-89,81,-65,44,-20,-7,32,-55,74,-85,90,-87,77,-60,38,-13,-13,38,-60,77,-87,90,-85,74,-55,32,-7,-20,44,-65,81,-89,90,-83,69,-49,26,}
{11,-32,52,-68,81,-88,90,-87,79,-66,49,-30,8,13,-34,53,-69,80,-89,90,-87,78,-65,48,-29,7,15,-37,55,-72,82,-89,90,-86,77,-64,46,-26,5,17,-38,58,-72,83,-90,90,-85,76,-62,44,-23,2,20,-41,59,-74,85,-89,90,-84,73,-60,42,-22,}
{8,-26,42,-58,69,-79,86,-90,90,-87,81,-72,59,-44,29,-11,-7,23,-41,55,-68,78,-85,89,-90,87,-80,72,-60,46,-30,13,5,-22,38,-53,66,-77,84,-90,90,-88,82,-74,62,-48,32,-15,-2,20,-37,52,-65,76,-85,89,-90,89,-83,73,-64,49,-34,17,}
{7,-20,32,-44,55,-65,74,-81,85,-89,90,-90,87,-83,77,-69,60,-49,38,-26,13,0,-13,26,-38,49,-60,69,-77,83,-87,90,-90,89,-85,81,-74,65,-55,44,-32,20,-7,-7,20,-32,44,-55,65,-74,81,-85,89,-90,90,-87,83,-77,69,-60,49,-38,26,-13,}
{5,-13,22,-30,38,-46,53,-60,66,-72,77,-80,84,-87,90,-90,90,-89,88,-85,82,-78,74,-68,62,-55,48,-41,32,-23,15,-7,-2,11,-20,29,-37,44,-52,59,-65,72,-76,81,-85,87,-89,90,-90,90,-89,86,-83,79,-73,69,-64,58,-49,42,-34,26,-17,8,}
{2,-7,11,-15,20,-23,29,-32,37,-41,44,-48,52,-55,59,-62,65,-68,72,-74,76,-78,81,-82,85,-85,87,-88,89,-89,90,-90,90,-90,90,-90,89,-87,86,-84,83,-80,79,-77,73,-72,69,-66,64,-60,58,-53,49,-46,42,-38,34,-30,26,-22,17,-13,8,-5,}
【0099】
M個の固有の数値の選択済みセットに対してオフセット値の全ての可能な組み合わせを試すことで、コスト値を最小化した後、T2をBビットNポイントの主変換コアとして出力する。
【0100】
2NポイントのDST-1変換コアを導出する場合、2NポイントのDST-1コア行列を構築するためのM個の固有の数値のセットが、NポイントのDST-7及び/又はNポイントのDCT-8コア行列を構築するためのM個の固有の数値のセットと同じであることが制限される。一実施例において、MはNに等しい。一実施例において、以下に示される8ビットのDST-1変換コアのうちの1つを使用できる。例えば、8ポイントのDST-1には、28、55、74、84を含む4つの固有の数値があり、これは、上記したMがNに等しい実施例を使用して4ポイントのDST-7と4ポイントのDCT-8コアを構築するための4つの固有の数値のセットと同じである。
【0101】
8ビットのDST-1変換コアは以下のことを含んでもよい。
4ポイントのDST-l:
{48,77,77,48,}
{77,48,-48,-77,}
{77,-48,-48,77,}
{48,-77,77,-48,}
8ポイントの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ポイントの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ポイントの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ポイントの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】
一実施例において、1つ以上の8ビットのDCT-5変換コアは、主変換に使用することができる。例示として、8ビットのDCT-5変換コアは以下のように示す。
4ポイントのDCT-5:
{47,69,69,69,}
{69,61,-21,-87,}
{69,-21,-87,61,}
{69,-87,61,-21,}
8ポイントのDCT-5:
{47,66,66,66,66,66,66,66,}
{66,86,62,29,-10,-47,-76,-91,}
{66,62,-10,-76,-91,-47,29,86,}
{66,29,-76,-76,29,93,29,-76,}
{66,-10,-91,29,86,-47,-76,62,}
{66,-47,-47,93,-47,-47,93,-47,}
{66,-76,29,29,-76,93,-76,29,}
{66,-91,86,-76,62,-47,29,-10,}
16ポイントのDCT-5:
{45,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,}
{65,89,85,75,64,48,33,15,-5,-23,-39,-56,-71,-81,-88,-91,}
{65,85,64,33,-5,-39,-71,-88,-91,-81,-56,-23,15,48,75,89,}
{65,75,33,-23,-71,-91,-81,-39,15,64,89,85,48,-5,-56,-88,}
{65,64,-5,-71,-91,-56,15,75,89,48,-23,-81,-88,-39,33,85,}
{65,48,-39,-91,-56,33,89,64,-23,-88,-71,15,85,75,-5,-81,}
{65,33,-71,-81,15,89,48,-56,-88,-5,85,64,-39,-91,-23,75,}
{65,15,-88,-39,75,64,-56,-81,33,89,-5,-91,-23,85,48,-71,}
{65,-5,-91,15,89,-23,-88,33,85,-39,-81,48,75,-56,-71,64,}
{65,-23,-81,64,48,-88,-5,89,-39,-71,75,33,-91,15,85,-56,}
{65,-39,-56,89,-23,-71,85,-5,-81,75,15,-88,64,33,-91,48,}
{65,-56,-23,85,-81,15,64,-91,48,33,-88,75,-5,-71,89,-39,}
{65,-71,15,48,-88,85,-39,-23,75,-91,64,-5,-56,89,-81,33,}
{65,-81,48,-5,-39,75,-91,85,-56,15,33,-71,89,-88,64,-23,}
{65,-88,75,-56,33,-5,-23,48,-71,85,-91,89,-81,64,-39,15,}
{65,-91,89,-88,85,-81,75,-71,64,-56,48,-39,33,-23,15,-5,}
32ポイントのDCT-5:
{46,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,}
{65,91,89,87,84,80,75,70,64,57,49,42,33,25,16,7,-2,-12,-20,-29,-38,-46,-53,-60,-67,-72,-78,-82,-86,-89,-90,-91,}
{65,89,84,75,64,49,33,16,-2,-20,-38,-53,-67,-78,-86,-90,-91,-89,-82,-72,-60,-46,-29,-12,7,25,42,57,70,80,87,91,}
{65,87,75,57,33,7,-20,-46,-67,-82,-90,-90,-82,-67,-46,-20,7,33,57,75,87,92,87,75,57,33,7,-20,-46,-67,-82,-90,}
{65,84,64,33,-2,-38,-67,-86,-91,-82,-60,-29,7,42,70,87,91,80,57,25,-12,-46,-72,-89,-90,-78,-53,-20,16,49,75,89,}
{65,80,49,7,-38,-72,-90,-86,-60,-20,25,64,87,89,70,33,-12,-53,-82,-91,-78,-46,-2,42,75,91,84,57,16,-29,-67,-89,}
{65,75,33,-20,-67,-90,-82,-46,7,57,87,87,57,7,-46,-82,-90,-67,-20,33,75,92,75,33,-20,-67,-90,-82,-46,7,57,87,}
{65,70,16,-46,-86,-86,-46,16,70,92,70,16,-46,-86,-86,-46,16,70,92,70,16,-46,-86,-86,-46,16,70,92,70,16,-46,-86,}
{65,64,-2,-67,-91,-60,7,70,91,57,-12,-72,-90,-53,16,75,89,49,-20,-78,-89,-46,25,80,87,42,-29,-82,-86,-38,33,84,}
{65,57,-20,-82,-82,-20,57,92,57,-20,-82,-82,-20,57,92,57,-20,-82,-82,-20,57,92,57,-20,-82,-82,-20,57,92,57,-20,-82,}
{65,49,-38,-90,-60,25,87,70,-12,-82,-78,-2,75,84,16,-67,-89,-29,57,91,42,-46,-91,-53,33,89,64,-20,-86,-72,7,80,}
{65,42,-53,-90,-29,64,87,16,-72,-82,-2,80,75,-12,-86,-67,25,89,57,-38,-91,-46,49,91,33,-60,-89,-20,70,84,7,-78,}
{65,33,-67,-82,7,87,57,-46,-90,-20,75,75,-20,-90,-46,57,87,7,-82,-67,33,92,33,-67,-82,7,87,57,-46,-90,-20,75,}
{65,25,-78,-67,42,89,7,-86,-53,57,84,-12,-90,-38,70,75,-29,-91,-20,80,64,-46,-89,-2,87,49,-60,-82,16,91,33,-72,}
{65,16,-86,-46,70,70,-46,-86,16,92,16,-86,-46,70,70,-46,-86,16,92,16,-86,-46,70,70,-46,-86,16,92,16,-86,-46,70,}
{65,7,-90,-20,87,33,-82,-46,75,57,-67,-67,57,75,-46,-82,33,87,-20,-90,7,92,7,-90,-20,87,33,-82,-46,75,57,-67,}
{65,-2,-91,7,91,-12,-90,16,89,-20,-89,25,87,-29,-86,33,84,-38,-82,42,80,-46,-78,49,75,-53,-72,57,70,-60,-67,64,}
{65,-12,-89,33,80,-53,-67,70,49,-82,-29,89,7,-91,16,87,-38,-78,57,64,-72,-46,84,25,-90,-2,91,-20,-86,42,75,-60,}
{65,-20,-82,57,57,-82,-20,92,-20,-82,57,57,-82,-20,92,-20,-82,57,57,-82,-20,92,-20,-82,57,57,-82,-20,92,-20,-82,57,}
{65,-29,-72,75,25,-91,33,70,-78,-20,91,-38,-67,80,16,-90,42,64,-82,-12,89,-46,-60,84,7,-89,49,57,-86,-2,87,-53,}
{65,-38,-60,87,-12,-78,75,16,-89,57,42,-91,33,64,-86,7,80,-72,-20,89,-53,-46,91,-29,-67,84,-2,-82,70,25,-90,49,}
{65,-46,-46,92,-46,-46,92,-46,-46,92,-46,-46,92,-46,-46,92,-46,-46,92,-46,-46,92,-46,-46,92,-46,-46,92,-46,-46,92,-46,}
{65,-53,-29,87,-72,-2,75,-86,25,57,-91,49,33,-89,70,7,-78,84,-20,-60,91,-46,-38,89,-67,-12,80,-82,16,64,-90,42,}
{65,-60,-12,75,-89,42,33,-86,80,-20,-53,91,-67,-2,70,-90,49,25,-82,84,-29,-46,89,-72,7,64,-91,57,16,-78,87,-38,}
{65,-67,7,57,-90,75,-20,-46,87,-82,33,33,-82,87,-46,-20,75,-90,57,7,-67,92,-67,7,57,-90,75,-20,-46,87,-82,33,}
{65,-72,25,33,-78,91,-67,16,42,-82,89,-60,7,49,-86,87,-53,-2,57,-89,84,-46,-12,64,-90,80,-38,-20,70,-91,75,-29,}
{65,-78,42,7,-53,84,-90,70,-29,-20,64,-89,87,-60,16,33,-72,91,-82,49,-2,-46,80,-91,75,-38,-12,57,-86,89,-67,25,}
{65,-82,57,-20,-20,57,-82,92,-82,57,-20,-20,57,-82,92,-82,57,-20,-20,57,-82,92,-82,57,-20,-20,57,-82,92,-82,57,-20,}
{65,-86,70,-46,16,16,-46,70,-86,92,-86,70,-46,16,16,-46,70,-86,92,-86,70,-46,16,16,-46,70,-86,92,-86,70,-46,16,}
{65,-89,80,-67,49,-29,7,16,-38,57,-72,84,-90,91,-86,75,-60,42,-20,-2,25,-46,64,-78,87,-91,89,-82,70,-53,33,-12,}
{65,-90,87,-82,75,-67,57,-46,33,-20,7,7,-20,33,-46,57,-67,75,-82,87,-90,92,-90,87,-82,75,-67,57,-46,33,-20,7,}
{65,-91,91,-90,89,-89,87,-86,84,-82,80,-78,75,-72,70,-67,64,-60,57,-53,49,-46,42,-38,33,-29,25,-20,16,-12,7,-2,}
64ポイントのDCT-5:
{44,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,}
{64,91,90,90,90,88,87,85,84,82,80,78,75,72,70,66,64,61,58,54,50,46,42,39,34,29,25,22,17,13,7,4,-1,-6,-10,-15,-19,-24,-28,-32,-36,-40,-44,-48,-51,-55,-59,-63,-65,-68,-70,-73,-77,-79,-81,-83,-85,-86,-88,-89,-90,-90,-91,-91,}
{64,90,90,87,84,80,75,70,64,58,50,42,34,25,17,7,-1,-10,-19,-28,-36,-44,-51,-59,-65,-70,-77,-81,-85,-88,-90,-91,-91,-90,-89,-86,-83,-79,-73,-68,-63,-55,-48,-40,-32,-24,-15,-6,4,13,22,29,39,46,54,61,66,72,78,82,85,88,90,91,}
{64,90,87,82,75,66,58,46,34,22,7,-6,-19,-32,-44,-55,-65,-73,-81,-86,-90,-91,-90,-88,-83,-77,-68,-59,-48,-36,-24,-10,4,17,29,42,54,64,72,80,85,90,91,90,88,84,78,70,61,50,39,25,13,-1,-15,-28,-40,-51,-63,-70,-79,-85,-89,-91,}
{64,90,84,75,64,50,34,17,-1,-19,-36,-51,-65,-77,-85,-90,-91,-89,-83,-73,-63,-48,-32,-15,4,22,39,54,66,78,85,90,91,88,82,72,61,46,29,13,-6,-24,-40,-55,-68,-79,-86,-90,-91,-88,-81,-70,-59,-44,-28,-10,7,25,42,58,70,80,87,90,}
{64,88,80,66,50,29,7,-15,-36,-55,-70,-83,-90,-91,-86,-77,-63,-44,-24,-1,22,42,61,75,85,90,90,84,72,58,39,17,-6,-28,-48,-65,-79,-88,-91,-89,-81,-68,-51,-32,-10,13,34,54,70,82,90,91,87,78,64,46,25,4,-19,-40,-59,-73,-85,-90,}
{64,87,75,58,34,7,-19,-44,-65,-81,-90,-90,-83,-68,-48,-24,4,29,54,72,85,91,88,78,61,39,13,-15,-40,-63,-79,-89,-91,-85,-70,-51,-28,-1,25,50,70,84,90,90,80,64,42,17,-10,-36,-59,-77,-88,-91,-86,-73,-55,-32,-6,22,46,66,82,90,}
{64,85,70,46,17,-15,-44,-68,-85,-91,-86,-70,-48,-19,13,42,66,84,91,87,72,50,22,-10,-40,-65,-83,-91,-88,-73,-51,-24,7,39,64,82,90,88,75,54,25,-6,-36,-63,-81,-90,-89,-77,-55,-28,4,34,61,80,90,90,78,58,29,-1,-32,-59,-79,-90,}
{64,84,64,34,-1,-36,-65,-85,-91,-83,-63,-32,4,39,66,85,91,82,61,29,-6,-40,-68,-86,-91,-81,-59,-28,7,42,70,87,90,80,58,25,-10,-44,-70,-88,-90,-79,-55,-24,13,46,72,88,90,78,54,22,-15,-48,-73,-89,-90,-77,-51,-19,17,50,75,90,}
{64,82,58,22,-19,-55,-81,-91,-83,-59,-24,17,54,80,91,84,61,25,-15,-51,-79,-91,-85,-63,-28,13,50,78,90,85,64,29,-10,-48,-77,-90,-86,-65,-32,7,46,75,90,87,66,34,-6,-44,-73,-90,-88,-68,-36,4,42,72,90,88,70,39,-1,-40,-70,-89,}
{64,80,50,7,-36,-70,-90,-86,-63,-24,22,61,85,90,72,39,-6,-48,-79,-91,-81,-51,-10,34,70,90,87,64,25,-19,-59,-85,-90,-73,-40,4,46,78,91,82,54,13,-32,-68,-89,-88,-65,-28,17,58,84,90,75,42,-1,-44,-77,-91,-83,-55,-15,29,66,88,}
{64,78,42,-6,-51,-83,-90,-70,-32,17,61,87,88,64,22,-28,-68,-90,-85,-55,-10,39,75,91,80,46,-1,-48,-81,-91,-73,-36,13,58,85,90,66,25,-24,-65,-89,-86,-59,-15,34,72,90,82,50,4,-44,-79,-91,-77,-40,7,54,84,90,70,29,-19,-63,-88,}
{64,75,34,-19,-65,-90,-83,-48,4,54,85,88,61,13,-40,-79,-91,-70,-28,25,70,90,80,42,-10,-59,-88,-86,-55,-6,46,82,90,66,22,-32,-73,-91,-77,-36,17,64,90,84,50,-1,-51,-85,-89,-63,-15,39,78,91,72,29,-24,-68,-90,-81,-44,7,58,87,}
{64,72,25,-32,-77,-91,-68,-19,39,80,90,64,13,-44,-83,-89,-59,-6,50,85,87,54,-1,-55,-88,-85,-48,7,61,90,82,42,-15,-65,-90,-79,-36,22,70,91,75,29,-28,-73,-91,-70,-24,34,78,90,66,17,-40,-81,-90,-63,-10,46,84,88,58,4,-51,-86,}
{64,70,17,-44,-85,-86,-48,13,66,91,72,22,-40,-83,-88,-51,7,64,90,75,25,-36,-81,-89,-55,4,61,90,78,29,-32,-79,-90,-59,-1,58,90,80,34,-28,-77,-90,-63,-6,54,88,82,39,-24,-73,-91,-65,-10,50,87,84,42,-19,-70,-91,-68,-15,46,85,}
{64,66,7,-55,-90,-77,-24,42,85,84,39,-28,-79,-89,-51,13,70,91,64,4,-59,-90,-73,-19,46,87,82,34,-32,-81,-88,-48,17,72,90,61,-1,-63,-91,-70,-15,50,88,80,29,-36,-83,-86,-44,22,75,90,58,-6,-65,-91,-68,-10,54,90,78,25,-40,-85,}
{64,64,-1,-65,-91,-63,4,66,91,61,-6,-68,-91,-59,7,70,90,58,-10,-70,-90,-55,13,72,90,54,-15,-73,-90,-51,17,75,90,50,-19,-77,-89,-48,22,78,88,46,-24,-79,-88,-44,25,80,87,42,-28,-81,-86,-40,29,82,85,39,-32,-83,-85,-36,34,84,}
{64,61,-10,-73,-89,-44,29,84,82,25,-48,-90,-70,-6,64,91,58,-15,-77,-88,-40,34,85,80,22,-51,-90,-68,-1,66,90,54,-19,-79,-86,-36,39,87,78,17,-55,-91,-65,4,70,90,50,-24,-81,-85,-32,42,88,75,13,-59,-91,-63,7,72,90,46,-28,-83,}
{64,58,-19,-81,-83,-24,54,91,61,-15,-79,-85,-28,50,90,64,-10,-77,-86,-32,46,90,66,-6,-73,-88,-36,42,90,70,-1,-70,-89,-40,39,88,72,4,-68,-90,-44,34,87,75,7,-65,-90,-48,29,85,78,13,-63,-91,-51,25,84,80,17,-59,-91,-55,22,82,}
{64,54,-28,-86,-73,-1,72,87,29,-51,-91,-55,25,85,75,4,-70,-88,-32,50,91,58,-24,-85,-77,-6,70,88,34,-48,-91,-59,22,84,78,7,-68,-89,-36,46,90,61,-19,-83,-79,-10,66,90,39,-44,-90,-63,17,82,80,13,-65,-90,-40,42,90,64,-15,-81,}
{64,50,-36,-90,-63,22,85,72,-6,-79,-81,-10,70,87,25,-59,-90,-40,46,91,54,-32,-89,-65,17,84,75,-1,-77,-83,-15,66,88,29,-55,-91,-44,42,90,58,-28,-88,-68,13,82,78,4,-73,-85,-19,64,90,34,-51,-91,-48,39,90,61,-24,-86,-70,7,80,}
{64,46,-44,-91,-48,42,91,50,-40,-91,-51,39,90,54,-36,-90,-55,34,90,58,-32,-90,-59,29,90,61,-28,-89,-63,25,88,64,-24,-88,-65,22,87,66,-19,-86,-68,17,85,70,-15,-85,-70,13,84,72,-10,-83,-73,7,82,75,-6,-81,-77,4,80,78,-1,-79,}
{64,42,-51,-90,-32,61,88,22,-68,-85,-10,75,80,-1,-81,-73,13,85,66,-24,-89,-59,34,90,50,-44,-91,-40,54,90,29,-63,-88,-19,70,84,7,-77,-79,4,82,72,-15,-86,-65,25,90,58,-36,-91,-48,46,91,39,-55,-90,-28,64,87,17,-70,-83,-6,78,}
{64,39,-59,-88,-15,75,78,-10,-86,-63,34,91,42,-55,-89,-19,72,80,-6,-85,-65,29,90,46,-51,-90,-24,70,82,-1,-83,-68,25,90,50,-48,-90,-28,66,84,4,-81,-70,22,90,54,-44,-91,-32,64,85,7,-79,-73,17,88,58,-40,-91,-36,61,87,13,-77,}
{64,34,-65,-83,4,85,61,-40,-91,-28,70,80,-10,-88,-55,46,90,22,-73,-77,17,90,50,-51,-89,-15,78,72,-24,-90,-44,58,87,7,-81,-68,29,91,39,-63,-85,-1,84,64,-36,-91,-32,66,82,-6,-86,-59,42,90,25,-70,-79,13,88,54,-48,-90,-19,75,}
{64,29,-70,-77,22,90,39,-65,-81,13,90,46,-59,-85,4,87,54,-51,-88,-6,84,61,-44,-90,-15,80,66,-36,-91,-24,75,72,-28,-91,-32,70,78,-19,-90,-40,64,82,-10,-89,-48,58,85,-1,-86,-55,50,88,7,-83,-63,42,90,17,-79,-68,34,91,25,-73,}
{64,25,-77,-68,39,90,13,-83,-59,50,87,-1,-88,-48,61,82,-15,-90,-36,70,75,-28,-91,-24,78,66,-40,-90,-10,84,58,-51,-86,4,88,46,-63,-81,17,90,34,-70,-73,29,91,22,-79,-65,42,90,7,-85,-55,54,85,-6,-89,-44,64,80,-19,-91,-32,72,}
{64,22,-81,-59,54,84,-15,-91,-28,78,64,-48,-86,7,90,34,-73,-68,42,88,-1,-89,-40,70,72,-36,-90,-6,87,46,-65,-77,29,90,13,-85,-51,61,80,-24,-91,-19,82,58,-55,-83,17,91,25,-79,-63,50,85,-10,-90,-32,75,66,-44,-88,4,90,39,-70,}
{64,17,-85,-48,66,72,-40,-88,7,90,25,-81,-55,61,78,-32,-90,-1,90,34,-77,-63,54,82,-24,-91,-10,87,42,-70,-68,46,85,-15,-91,-19,84,50,-65,-73,39,88,-6,-90,-28,80,58,-59,-79,29,90,4,-89,-36,75,64,-51,-83,22,91,13,-86,-44,70,}
{64,13,-88,-36,78,58,-63,-73,42,85,-19,-91,-6,90,29,-81,-51,66,70,-48,-83,25,90,-1,-90,-24,84,46,-70,-65,54,80,-32,-89,7,91,17,-86,-40,75,61,-59,-77,39,87,-15,-91,-10,88,34,-79,-55,64,72,-44,-85,22,90,4,-90,-28,82,50,-68,}
{64,7,-90,-24,85,39,-79,-51,70,64,-59,-73,46,82,-32,-88,17,90,-1,-91,-15,88,29,-83,-44,75,58,-65,-68,54,78,-40,-85,25,90,-10,-91,-6,90,22,-86,-36,80,50,-70,-63,61,72,-48,-81,34,87,-19,-90,4,91,13,-89,-28,84,42,-77,-55,66,}
{64,4,-91,-10,90,17,-89,-24,87,29,-85,-36,82,42,-79,-48,75,54,-70,-59,66,64,-63,-68,58,72,-51,-77,46,80,-40,-83,34,85,-28,-88,22,90,-15,-90,7,91,-1,-91,-6,90,13,-90,-19,88,25,-86,-32,84,39,-81,-44,78,50,-73,-55,70,61,-65,}
{64,-1,-91,4,91,-6,-91,7,90,-10,-90,13,90,-15,-90,17,90,-19,-89,22,88,-24,-88,25,87,-28,-86,29,85,-32,-85,34,84,-36,-83,39,82,-40,-81,42,80,-44,-79,46,78,-48,-77,50,75,-51,-73,54,72,-55,-70,58,70,-59,-68,61,66,-63,-65,64,}
{64,-6,-90,17,88,-28,-85,39,80,-48,-73,58,66,-65,-59,72,50,-79,-40,84,29,-88,-19,90,7,-91,4,90,-15,-89,25,85,-36,-81,46,75,-55,-68,64,61,-70,-51,78,42,-83,-32,87,22,-90,-10,91,-1,-91,13,90,-24,-86,34,82,-44,-77,54,70,-63,}
{64,-10,-89,29,82,-48,-70,64,58,-77,-40,85,22,-90,-1,90,-19,-86,39,78,-55,-65,70,50,-81,-32,88,13,-91,7,90,-28,-83,46,72,-63,-59,75,42,-85,-24,90,4,-91,17,87,-36,-79,54,66,-68,-51,80,34,-88,-15,91,-6,-90,25,84,-44,-73,61,}
{64,-15,-86,42,72,-65,-51,82,25,-90,4,90,-32,-79,58,61,-77,-36,88,7,-91,22,84,-48,-68,70,46,-85,-19,91,-10,-88,39,75,-63,-55,80,29,-90,-1,90,-28,-81,54,64,-73,-40,87,13,-91,17,85,-44,-70,66,50,-83,-24,90,-6,-89,34,78,-59,}
{64,-19,-83,54,61,-79,-28,90,-10,-86,46,66,-73,-36,90,-1,-89,39,72,-68,-44,87,7,-90,29,78,-63,-51,84,17,-91,22,82,-55,-59,80,25,-91,13,85,-48,-65,75,34,-90,4,88,-40,-70,70,42,-88,-6,90,-32,-77,64,50,-85,-15,91,-24,-81,58,}
{64,-24,-79,64,46,-88,-1,88,-44,-65,78,25,-91,22,80,-63,-48,87,4,-89,42,66,-77,-28,91,-19,-81,61,50,-86,-6,90,-40,-68,75,29,-91,17,82,-59,-51,85,7,-90,39,70,-73,-32,90,-15,-83,58,54,-85,-10,90,-36,-70,72,34,-90,13,84,-55,}
{64,-28,-73,72,29,-91,25,75,-70,-32,91,-24,-77,70,34,-91,22,78,-68,-36,90,-19,-79,66,39,-90,17,80,-65,-40,90,-15,-81,64,42,-90,13,82,-63,-44,90,-10,-83,61,46,-89,7,84,-59,-48,88,-6,-85,58,50,-88,4,85,-55,-51,87,-1,-86,54,}
{64,-32,-68,80,13,-89,50,54,-88,7,82,-65,-36,91,-28,-70,78,17,-90,46,58,-86,4,84,-63,-40,90,-24,-73,75,22,-90,42,61,-85,-1,85,-59,-44,90,-19,-77,72,25,-91,39,64,-83,-6,87,-55,-48,90,-15,-79,70,29,-91,34,66,-81,-10,88,-51,}
{64,-36,-63,85,-6,-81,70,25,-90,46,54,-89,17,75,-77,-15,88,-55,-44,90,-28,-68,82,4,-85,64,34,-91,39,61,-86,7,80,-70,-24,90,-48,-51,90,-19,-73,78,13,-88,58,42,-91,29,66,-83,-1,84,-65,-32,91,-40,-59,87,-10,-79,72,22,-90,50,}
{64,-40,-55,90,-24,-68,84,-6,-79,75,13,-86,64,29,-90,50,46,-91,34,61,-88,17,72,-81,-1,82,-70,-19,88,-59,-36,91,-44,-51,90,-28,-65,85,-10,-77,78,7,-85,66,25,-90,54,42,-91,39,58,-89,22,70,-83,4,80,-73,-15,87,-63,-32,90,-48,}
{64,-44,-48,91,-40,-51,90,-36,-55,90,-32,-59,90,-28,-63,88,-24,-65,87,-19,-68,85,-15,-70,84,-10,-73,82,-6,-77,80,-1,-79,78,4,-81,75,7,-83,72,13,-85,70,17,-86,66,22,-88,64,25,-89,61,29,-90,58,34,-90,54,39,-91,50,42,-91,46,}
{64,-48,-40,90,-55,-32,90,-63,-24,87,-68,-15,84,-73,-6,80,-79,4,75,-83,13,70,-86,22,64,-89,29,58,-90,39,50,-91,46,42,-91,54,34,-90,61,25,-88,66,17,-85,72,7,-81,78,-1,-77,82,-10,-70,85,-19,-65,88,-28,-59,90,-36,-51,91,-44,}
{64,-51,-32,88,-68,-10,80,-81,13,66,-89,34,50,-91,54,29,-88,70,7,-79,82,-15,-65,90,-36,-48,91,-55,-28,87,-70,-6,78,-83,17,64,-90,39,46,-91,58,25,-86,72,4,-77,84,-19,-63,90,-40,-44,90,-59,-24,85,-73,-1,75,-85,22,61,-90,42,}
{64,-55,-24,84,-79,13,64,-90,46,34,-88,72,-1,-70,88,-36,-44,90,-65,-10,78,-85,25,54,-91,58,22,-83,80,-15,-63,90,-48,-32,87,-73,4,70,-89,39,42,-90,66,7,-77,85,-28,-51,91,-59,-19,82,-81,17,61,-91,50,29,-86,75,-6,-68,90,-40,}
{64,-59,-15,78,-86,34,42,-89,72,-6,-65,90,-51,-24,82,-83,25,50,-90,66,4,-70,90,-44,-32,85,-79,17,58,-91,61,13,-77,87,-36,-40,88,-73,7,64,-91,54,22,-81,84,-28,-48,90,-68,-1,70,-90,46,29,-85,80,-19,-55,91,-63,-10,75,-88,39,}
{64,-63,-6,70,-90,54,17,-77,88,-44,-28,82,-85,34,39,-86,80,-24,-48,90,-73,13,58,-91,66,-1,-65,91,-59,-10,72,-90,50,22,-79,87,-40,-32,84,-83,29,42,-88,78,-19,-51,90,-70,7,61,-91,64,4,-68,90,-55,-15,75,-89,46,25,-81,85,-36,}
{64,-65,4,61,-91,70,-10,-55,90,-73,17,50,-89,78,-24,-44,87,-81,29,39,-85,84,-36,-32,82,-86,42,25,-79,88,-48,-19,75,-90,54,13,-70,90,-59,-6,66,-91,64,-1,-63,91,-68,7,58,-90,72,-15,-51,90,-77,22,46,-88,80,-28,-40,85,-83,34,}
{64,-68,13,50,-88,82,-36,-28,78,-90,58,4,-63,90,-73,22,42,-85,85,-44,-19,72,-91,64,-6,-55,90,-79,29,34,-81,88,-51,-10,66,-91,70,-15,-48,87,-83,39,25,-77,90,-59,-1,61,-90,75,-24,-40,84,-86,46,17,-70,91,-65,7,54,-89,80,-32,}
{64,-70,22,39,-81,90,-59,4,54,-88,84,-44,-15,66,-91,75,-28,-32,78,-90,64,-10,-48,85,-86,50,7,-63,90,-79,34,25,-73,91,-68,17,42,-83,88,-55,-1,58,-89,82,-40,-19,70,-91,72,-24,-36,80,-90,61,-6,-51,87,-85,46,13,-65,90,-77,29,}
{64,-73,29,25,-70,91,-77,34,22,-68,90,-79,39,17,-65,90,-81,42,13,-63,90,-83,46,7,-59,88,-85,50,4,-55,87,-86,54,-1,-51,85,-88,58,-6,-48,84,-89,61,-10,-44,82,-90,64,-15,-40,80,-90,66,-19,-36,78,-91,70,-24,-32,75,-91,72,-28,}
{64,-77,39,13,-59,87,-88,61,-15,-36,75,-91,78,-40,-10,58,-86,88,-63,17,34,-73,91,-79,42,7,-55,85,-89,64,-19,-32,72,-91,80,-44,-6,54,-85,90,-65,22,29,-70,90,-81,46,4,-51,84,-90,66,-24,-28,70,-90,82,-48,-1,50,-83,90,-68,25,}
{64,-79,46,-1,-44,78,-91,80,-48,4,42,-77,91,-81,50,-6,-40,75,-91,82,-51,7,39,-73,90,-83,54,-10,-36,72,-90,84,-55,13,34,-70,90,-85,58,-15,-32,70,-90,85,-59,17,29,-68,90,-86,61,-19,-28,66,-89,87,-63,22,25,-65,88,-88,64,-24,}
{64,-81,54,-15,-28,64,-86,90,-73,42,-1,-40,72,-90,87,-65,29,13,-51,80,-91,82,-55,17,25,-63,85,-90,75,-44,4,39,-70,90,-88,66,-32,-10,50,-79,91,-83,58,-19,-24,61,-85,90,-77,46,-6,-36,70,-89,88,-68,34,7,-48,78,-91,84,-59,22,}
{64,-83,61,-28,-10,46,-73,90,-89,72,-44,7,29,-63,84,-91,82,-59,25,13,-48,75,-90,88,-70,42,-6,-32,64,-85,91,-81,58,-24,-15,50,-77,90,-88,70,-40,4,34,-65,85,-91,80,-55,22,17,-51,78,-90,87,-68,39,-1,-36,66,-86,90,-79,54,-19,}
{64,-85,66,-40,7,25,-55,78,-90,90,-77,54,-24,-10,42,-68,85,-91,84,-65,39,-6,-28,58,-79,90,-89,75,-51,22,13,-44,70,-86,91,-83,64,-36,4,29,-59,80,-90,88,-73,50,-19,-15,46,-70,87,-91,82,-63,34,-1,-32,61,-81,90,-88,72,-48,17,}
{64,-86,72,-51,25,4,-32,58,-77,88,-91,84,-68,46,-19,-10,39,-63,80,-90,90,-81,64,-40,13,17,-44,66,-83,90,-89,78,-59,34,-6,-24,50,-70,85,-91,87,-73,54,-28,-1,29,-55,75,-88,91,-85,70,-48,22,7,-36,61,-79,90,-90,82,-65,42,-15,}
{64,-88,78,-63,42,-19,-6,29,-51,70,-83,90,-90,84,-70,54,-32,7,17,-40,61,-77,87,-91,88,-79,64,-44,22,4,-28,50,-68,82,-90,90,-85,72,-55,34,-10,-15,39,-59,75,-86,91,-89,80,-65,46,-24,-1,25,-48,66,-81,90,-91,85,-73,58,-36,13,}
{64,-89,82,-70,58,-40,22,-1,-19,39,-55,70,-81,88,-91,90,-83,72,-59,42,-24,4,17,-36,54,-68,80,-88,91,-90,84,-73,61,-44,25,-6,-15,34,-51,66,-79,87,-91,90,-85,75,-63,46,-28,7,13,-32,50,-65,78,-86,90,-90,85,-77,64,-48,29,-10,}
{64,-90,85,-79,70,-59,46,-32,17,-1,-15,29,-44,58,-68,78,-85,90,-91,90,-86,80,-70,61,-48,34,-19,4,13,-28,42,-55,66,-77,84,-89,91,-90,87,-81,72,-63,50,-36,22,-6,-10,25,-40,54,-65,75,-83,88,-91,90,-88,82,-73,64,-51,39,-24,7,}
{64,-90,88,-85,80,-73,66,-59,50,-40,29,-19,7,4,-15,25,-36,46,-55,64,-70,78,-83,87,-90,91,-91,90,-86,82,-77,70,-63,54,-44,34,-24,13,-1,-10,22,-32,42,-51,61,-68,75,-81,85,-89,90,-91,90,-88,84,-79,72,-65,58,-48,39,-28,17,-6,}
{64,-91,90,-89,87,-85,82,-79,75,-70,66,-63,58,-51,46,-40,34,-28,22,-15,7,-1,-6,13,-19,25,-32,39,-44,50,-55,61,-65,70,-73,78,-81,84,-86,88,-90,90,-91,91,-90,90,-88,85,-83,80,-77,72,-68,64,-59,54,-48,42,-36,29,-24,17,-10,4,}
{64,-91,91,-91,90,-90,90,-90,90,-89,88,-88,87,-86,85,-85,84,-83,82,-81,80,-79,78,-77,75,-73,72,-70,70,-68,66,-65,64,-63,61,-59,58,-55,54,-51,50,-48,46,-44,42,-40,39,-36,34,-32,29,-28,25,-24,22,-19,17,-15,13,-10,7,-6,4,-1,}。
【0103】
前記符号化/復号化のための技術は、1つ以上のプロセッサによって実施され、当該プロセッサは、コンピュータ読み取り可能な命令を有するコンピュータソフトウェアを実行することができ、当該コンピュータ読み取り可能な命令は1つ以上のコンピュータ読み取り可能な媒体(例えば、ハードディスクドライブ)に物理的に記憶される。例えば、
図7は開示されたテーマのいくつかの実施形態を実現するのに適したコンピュータシステム700を示す。
【0104】
コンピュータソフトウェアは、任意の適切なマシンコード又はコンピュータ言語によって符号化することができ、コンピュータソフトウェアは、アセンブル、コンパイル、リンクなどのメカニズムを介して、命令を含むコードを作成することができ、当該命令は、1つ以上のコンピュータ中央処理ユニット(CPU)、グラフィック処理ユニット(GPU)などによって直接的に実行されるか、又は解釈、マイクロコードなどによって実行されることができる。
【0105】
当該命令は、例えばパーソナルコンピュータ、タブレット、サーバ、スマートフォン、ゲーム機器、モノのインターネット機器などを含む、様々なタイプのコンピュータ又はそれらのコンポーネントで実行されることができる。
【0106】
図7に示されるコンピュータシステム700のコンポーネントは、本質的に例示であり、本開示の実施形態を実現するためのコンピュータソフトウェアの使用範囲又は機能に制限を加えることを意図するものではない。コンポーネントの配置は、コンピュータシステム700の例示的な実施形態に示めされたるコンポーネントのいずれか、又はそれらの組み合わせに関連する依存性又は要件を有するものとして解釈されるべきではない。
【0107】
コンピュータシステム700は特定のヒューマンインタフェース入力機器を含んでもよい。このようなヒューマンインタフェース入力機器は、例えば触覚入力(例えば、キーストローク、スライド、データグローブ移動)、オーディオ入力(例えば、音声、拍手)、視覚入力(例えば、姿勢)、嗅覚入力(図示せず)による1つ以上の人間のユーザーの入力に応答することができる。ヒューマンインタフェース機器はさらに、例えば、オーディオ(例えば、音声、音楽、環境音)、画像(例えば、スキャンした画像、静的画像撮影装置から取得された写真画像)、ビデオ(例えば2次元ビデオ、ステレオビデオが含まれる3次元ビデオ)などの、人間の意識的な入力に必ずしも直接関連しない特定のメディアをキャプチャするために使用されることもできる。
【0108】
ヒューマンインタフェース入力機器は、キーボード701、マウス702、タッチパッド703、タッチパネル710、データグローブ704、ジョイスティック705、マイク706、スキャナ707及び撮影装置708のうちの1つ以上を含んでもよい(それぞれが1つのみ図示される)。
【0109】
コンピュータシステム700はさらに特定のヒューマンインタフェース出力機器を含んでもよい。このようなヒューマンインタフェース出力機器は、例えば触覚出力、音、光及び匂い/味によって1つ以上の人間のユーザーの感覚を刺激することができる。このようなヒューマンインタフェース出力機器は、触覚出力機器(例えば、タッチパネル710、データグローブ740又はジョイスティック705による触覚フィードバックがあるが、入力機器として使用されない触覚フィードバック機器もある)、オーディオ出力機器(例えば、スピーカー709、ヘッドフォン(図示せず))、視覚出力機器(例えば、スクリーン710であって、CRTスクリーン、LCDスクリーン、プラズマスクリーン、OLEDスクリーンを含み、それぞれはタッチスクリーン入力機能がある場合とない場合、触覚フィードバック機能がある場合とない場合があり、そのうちのいくつかは、ステレオ出力のような手段で、2次元の視覚出力又は3次元以上の出力を出力できる場合がある)、バーチャルリアリティ眼鏡(図示せず)、ホログラフィックディスプレイとスモークタンク(図示せず))、及びプリンター(図示せず)を含むことができる。
【0110】
コンピュータシステム700はさらに人間がアクセス可能な記憶機器及びその関連する媒体を含んでもよく、例えば、CD/DVDなどの媒体721を有するCD/DVD ROM/RW720などの光学媒体、サムドライブ722、取り外し可能なハードドライブ又はソリッドステートドライブ723、磁気テープとフロッピーディスク(図示せず)のような従来の磁気媒体、ドングル(図示せず)などの専用ROM/ASIC/PLDによる機器などを含んでもよい。
【0111】
また、当業者は、現在開示されたテーマに関連して使用される「コンピュータ読み取り可能な媒体」という用語には、伝送媒体、搬送波又は他の一時的な信号が含まれていないことを理解するべきである。
【0112】
コンピュータシステム700はさらに1つ以上の通信ネットワークへのインタフェースを含んでもよい。ネットワークは、例えば無線、有線、光などのネットワークであってもよい。ネットワークはさらに、ロカール、ワイドエリア、メトロポリタン、車載、工業用、リアルタイム、遅延耐性などのネットワークであってもよい。ネットワークの例は、例えば、イーサネットなどのローカルエリアネットワーク、無線LAN、GSM、3G、4G、5G、LTEなどを含むセルラーネットワーク、有線テレビ、衛星テレビ及び地上波テレビを含むテレビ有線又は無線ワイドエリアディジタルネットワークテレビ、CANBusを含む車両及び工業用ネットワークなどを含む。特定のネットワークは一般的に、ある汎用データポート又は周辺バス(749)(例えば、コンピュータシステム700のUSBポート)の外部ネットワークインタフェースアダプタに接続されることを必要とし、他のネットワークは一般的に、以下で説明するようにシステムバス(例えば、PCコンピュータシステムのイーサネットインタフェース、又はスマートフォンコンピュータシステムのセルラーネットワークインタフェース)に接続されることによって、コンピュータシステム700のコアに統合される。これらのネットワークのいずれかを使用して、コンピュータシステム700は他のエンティティと通信することができる。このような通信は、一方向、受信のみ(例えば、放送テレビ)、一方向伝送のみ(例えば、あるCANbus機器へのCANbus)、又は例えば、ローカルエリア又はワイドエリアディジタルネットワークを使用して他のコンピュータシステムに達する双方向あってもよい。上記のようなこれらのネットワークとネットワークインタフェースのそれぞれに、特定のプロトコル及びプロトコルスタックを使用することができる。
【0113】
前記ヒューマンインタフェース機器、人間がアクセス可能な記憶装置及びネットワークインタフェースは、コンピュータシステム700のコア740に取り付けることができる。
【0114】
コア740は、1つ以上の中央処理ユニット(CPU)741、グラフィック処理ユニット(GPU)742、フィールドプログラム可能なゲートアレイ(FPGA)743の形の専用のプログラム可能な処理ユニット、特定のタスクのためのハードウェアアクセラレータ744などを含んでもよい。これらの機器は、読み取り専用(ROM)745、ランダムアクセスメモリ746、例えばユーザーがアクセスできない内部ハードディスクドライブ、SSDなどの内部大容量記憶装置747とともに、システムバス748を介して接続することができる。一部のコンピュータシステムにおいて、システムバス748に1つ以上の物理プラグの形でアクセスできることで、付加的なCPU、GPUなどによる拡張を可能にすることができる。周辺機器は、直接的又は周辺バス749を介してコアのシステムバス748に接続することができる。周辺バスのアーキテクチャはPCI、USBなどを含む。
【0115】
CPU741、GPU742、FPGA743及びアクセラレータ744は特定の命令を実行でき、これらの命令を組み合わせると、以上に言及されたコンピュータコードを構成する。当該コンピュータコードはROM 745又はRAM 746に記憶されてもよい。一時的なデータはRAM 746に記憶されることもでき、永久データは例えば内部大容量記憶装置747に記憶されることができる。キャッシュメモリを使用することによって、記憶装置における任意の記憶装置への高速ストレージ及び検索が可能になり、当該キャッシュメモリは1つ以上のCPU 741、GPU 742、大容量記憶装置747、ROM 745、RAM 746などに密接に関連することができる。
【0116】
コンピュータ読み取り可能な媒体は、コンピュータが実現する様々な動作を実行するためのコンピュータコードをその上に有することができる。媒体とコンピュータコードは、本開示の目的のために、特別に設計及び構築される媒体とコンピュータコードであってもよいし、又は、それらは、コンピュータソフトウェアの当業者にとって周知であり、使用可能なタイプのものであってもよい。
【0117】
限定ではなく例として、アーキテクチャ700を有するコンピュータシステム、特に、コア740は、(1つ以上の)プロセッサ(CPU、GPU、FPGA、アクセラレータなどを含む)が1つ以上の有形コンピュータ読み取り可能な媒体に実装されるソフトウェアを実行することで、機能を提供することができる。このようなコンピュータ読み取り可能な媒体は、上記のような、ユーザーがアクセス可能な大容量記憶装置に関する媒体、及び例えばコア内部大容量記憶装置747又はROM745などのコア740の非一時的な特定の記憶装置であってもよい。本開示の様々な実施形態を実現するためのソフトウェアはこのような機器に記憶され、コア740によって実行されることができる。特定のニーズに応じて、コンピュータ読み取り可能な媒体には1つ以上の記憶装置又はチップが含まれてもよい。ソフトウェアは、コア740、特にその中のプロセッサ(CPU、GPU、FPGAなどを含む)に、本明細書では説明されている特定の処理又は特定の処理の特定の部分を実行させることができ、RAM746に記憶されるデータ構成を限定すること、及びソフトウェアによって限定された処理によってこのようなデータ構成を修正することが含まれる。さらに又は代替として、コンピュータシステムは、ロジックハードワイヤード、又は他の形式で回路(例えば、アクセラレータ744)に実装されることによって、機能を提供することができ、当該回路は、ソフトウェアの代わりに、又はソフトウェアとともに動作して、本明細書では説明されている特定の処理又は特定の処理の特定の部分を実行することができる。適切な場合、ソフトウェアに対する言及にはロジックが含まれ、逆に、ロジックに対する言及にはソフトウェアが含まれてもよい。適切な場合、コンピュータ読み取り可能な媒体に対する言及には、実行のためのソフトウェアが記憶される回路(例えば、集積回路(IC))、実行のためのロジックを具現化する回路、又はその両方が含まれてもよい。本開示は、ハードウェアとソフトウェアとの任意の適切な組み合わせを含む。
【0118】
本開示は、いくつかの例示的な実施形態を説明したが、本開示の範囲内に含まれる変更、置き換え及び様々な代替の均等物が存在する。従って、当業者は、本明細書では明示的に示されていないか、又は説明されていないが、本開示の原理を具現化したのでその趣旨及び範囲内にある多くのシステム及び方法を想到できることは理解されたい。
【0119】
(付記1)
エンコーダ又はデコーダが実行する、復号化又は符号化のための方法であって、
符号化又は復号化のための対象ファイルに関する情報を受信するステップであって、前記符号化又は復号化のための対象ファイルが、圧縮されたビデオ又は画像データのファイル及び非圧縮のビデオ又は画像データのファイルのうちの1つであるステップと、
前記対象ファイルを符号化又は復号化するプロセスにおいて、第1サイズタイプを有する第1変換コア行列を使用するか、それとも前記第1サイズタイプよりも小さい第2サイズタイプを有する第2変換コア行列を使用するかを決定するステップであって、前記第1サイズタイプが8ビットの主変換コア行列であり、前記8ビットの主変換コア行列が、8ビットで表され且つ64ポイント以上のサイズを有するコア行列を有するステップと、
前記第1サイズタイプを有する第1変換コア行列を使用することを決定した場合に、前記符号化又は復号化のための対象ファイルを、64ポイント以上のサイズを有する前記8ビットの主変換コア行列を使用して、符号化又は復号化するステップと、
前記第1サイズタイプよりも小さい前記第2サイズタイプを有する第2変換コア行列を使用することを決定した場合に、64ポイント以上のサイズを有する前記8ビットの主変換コア行列から、前記第2サイズタイプを有する第2変換コア行列を抽出し、前記符号化又は復号化のための対象ファイルを、抽出された前記第2サイズタイプを有する第2変換コア行列を使用して、符号化又は復号化するステップと、
を含む方法。
(付記2)
符号化又は復号化のための対象ファイルに関する情報を受信するステップを実行する前に、更に前記8ビットの主変換コア行列をメモリに予め記憶するステップを含む付記1に記載の方法。
(付記3)
前記第1変換コア行列は、64ポイント8ビットの主変換コア行列であり、前記64ポイント8ビットの主変換コア行列は、32ポイント8ビットの主変換コア行列を構築するための33個の整数と、付加的な32個の整数を使用して構築され、前記付加的な32個の整数は、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及び、それらのそれぞれの正負変換(サインチェンジ)を含み、
前記付加的な32個の整数である{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}は、{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}に等しい付記1に記載の方法。
(付記4)
前記第1変換コア行列が128ポイント8ビットの主変換コア行列であり、前記128ポイント8ビットの主変換コア行列が、64ポイント8ビットの主変換コア行列を構築するための65個の整数と、付加的な64個の整数を使用して構築され、前記付加的な64個の整数は、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及び、それらのそれぞれの正負変換(サインチェンジ)を含み、且つ、これらの付加的な64個の整数である{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}は、{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}に等しい付記1に記載の方法。
(付記5)
前記8ビットの主変換コア行列のサイズは、64ポイント又は128ポイントである付記1~4の何れか一項に記載の方法。
(付記6)
前記8ビットの主変換コア行列の偶数行又は奇数行の、左半分又は右半分は、前記第2変換コア行列に類似する行列を形成し、
前記8ビットの主変換コア行列は、DCT-2、DCT-5、DCT-8、DST-l及びDST-7の何れか1つであり、
前記第2変換コア行列は、DCT-2、DCT-5、DCT-8、DST-l及びDST-7の何れか1つである付記1~4の何れか一項に記載の方法。
(付記7)
前記8ビットの主変換コア行列が前記第2変換コア行列と同一であり、DCT-2、DCT-5、DCT-8、DST-l及びDST-7の何れか1つである付記6に記載の方法。
(付記8)
前記8ビットの主変換コア行列は8ビット64ポイントのDCT-2変換行列であり、前記第2変換コア行列は8ビット32ポイントのDCT-2変換行列である付記7に記載の方法。
(付記9)
M個の固有(unique)の数値で構成される、8ビットNポイントの前記主変換コア行列を導出する方法は、
スケール因子2B-2×log2(N)で、Tl=T0×2B-2×log2(N)となるように浮動小数点数で構成されるオリジナル変換コアT0をスケーリングすることで、初期変換コア行列Tlを導出するステップであって、B=8で、T0の行ベクトルは互いに直交し、各行ベクトルのノルムが1である、ステップと、
調整された主変換コア行列T2を構築するための、前記M個の固有(ユニック)の数値の選択済みセットに、オフセットを追加することで、前記調整された変換コア行列T2を導出するステップと、
(T1*T1T -22B-4×log2(N)2×I)の全ての要素の絶対値の合計としてコスト値Cを計算するステップであって、IはN×N単位行列であるステップと、
計算されたオフセット値をT2に追加することで、前記コスト値がT2に最小化されるように、前記調整された変換行列T2を更新するステップであって、前記調整された変換行列T2は、前記8ビットNポイントの主変換コア行列として出力されるステップと、を含む、付記1~4のいずれか一項に記載の方法。
(付記10)
M個の固有(unique)の数値の選択済みセットにオフセット値の全ての可能な組み合わせを試すことで前記コスト値Cを最小化した後、T2が前記8ビットNポイントの主変換コア行列として出力されることをさらに含む付記9に記載の方法。
(付記11)
復号化又は符号化する装置であって、
コンピュータプログラムコードを記憶するように配置される少なくとも1つのメモリと、
前記少なくとも1つのメモリにアクセスし、前記コンピュータプログラムコードに基づき動作するように配置される少なくとも1つのプロセッサと、
を含み、
前記コンピュータプログラムコードは、
符号化又は復号化のための対象ファイルに関する情報を前記少なくとも1つのプロセッサに受信させるように配置される第1アプリケーションコードであって、前記符号化又は復号化のための対象ファイルが、圧縮されたビデオ又は画像データのファイル、及び非圧縮のビデオ又は画像データのファイルのうちの1つである第1アプリケーションコードと、
前記対象ファイルを前記符号化又は復号化するプロセスにおいて、第1サイズタイプを有する第1変換コア行列を使用するか、それとも前記第1サイズタイプよりも小さい第2サイズタイプを有する第2変換コア行列を使用するかを前記少なくとも1つのプロセッサに決定させるように配置される第2アプリケーションコードであって、前記第1サイズタイプが8ビットの主変換コア行列であり、前記8ビットの主変換コア行列は、8ビットで表され且つ64ポイント以上のサイズを有するコア行列を有する第2アプリケーションコードと、
前記第1サイズタイプを有する第1変換コア行列を使用することを決定した場合に、前記符号化又は復号化のための対象ファイルを、64ポイント以上のサイズを有する前記8ビットの主変換コア行列を使用して、前記少なくとも1つのプロセッサに符号化又は復号化させるように配置される第3アプリケーションコードと、
前記第1サイズタイプよりも小さい前記第2サイズタイプを有する第2変換コア行列を使用するを決定した場合に、64ポイント以上のサイズを有する前記8ビットの主変換コア行列から前記第2サイズタイプを有する第2変換コア行列を抽出し、前記符号化又は復号化のための対象ファイルを、抽出された前記第2サイズタイプを有する第2変換コア行列を使用して、前記少なくとも1つのプロセッサに符号化又は復号化させるように配置される第4アプリケーションコードと、
を含む装置。
(付記12)
前記第1変換コア行列は64ポイント8ビットの主変換コア行列であり、前記64ポイント8ビットの主変換コア行列は、32ポイント8ビットの主変換コア行列を構築するための33個の整数と、付加的な32個の整数を使用して構築され、前記付加的な32個の整数は、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及び、それらのそれぞれの正負変換(サインチェンジ)を含み、
前記付加的な32個の整数である{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}は{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}に等しい付記11に記載の装置。
(付記13)
前記第1変換コア行列は128ポイント8ビットの主変換コアであり、前記128ポイント8ビットの主変換コア行列が、64ポイント8ビットの主変換コア行列を構築するための65個の整数と、付加的な64個の整数を使用して構築され、前記付加的な64個の整数は、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及び、それらのそれぞれの正負変換(サインチェンジ)を含み、これらの付加的な64個の整数である{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}は{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}に等しい付記11に記載の装置。
(付記14)
前記8ビットの主変換コア行列のサイズは、64ポイント又は128ポイントである付記11~13の何れか一項に記載の装置。
(付記15)
前記8ビットの主変換コア行列の偶数行又は奇数行の、左半分又は右半分は、前記第2変換コア行列に類似する行列を形成し、
前記8ビットの主変換コア行列は、DCT-2、DCT-5、DCT-8、DST-l及びDST-7の何れか1つであり、
前記第2変換コア行列は、DCT-2、DCT-5、DCT-8、DST-l及びDST-7の何れか1つである付記11~13の何れか一項に記載の装置。
(付記16)
前記8ビットの主変換コア行列が前記第2変換コア行列と同一であり、DCT-2、DCT-5、DCT-8、DST-l及びDST-7の何れか1つである付記15に記載の装置。
(付記17)
前記8ビットの主変換コア行列は、8ビット64ポイントのDCT-2変換行列であり、前記第2変換コア行列は、8ビット32ポイントのDCT-2変換行列である付記16に記載の装置。
(付記18)
前記第4アプリケーションコードはさらに、次のステップを前記少なくとも1つのプロセッサに実行させることで、M個の固有(unique)の数値で構成される8ビットNポイントの主変換コア行列を導出するように配置され、
スケール因子2B-2×log2(N)で、Tl=T0×2B-2×log2(N)となるように、浮動小数点数で構成されるオリジナル変換コアT0をスケーリングすることで、初期変換コア行列Tlを導出するステップであって、B=8で、基底ベクトルとしてのT0の行ベクトルが互いに直交し、各行ベクトルのノルムが1であるステップと、
調整された主変換コア行列T2を構築するための前記M個の固有(unique)の数値の選択済みセットに、オフセットを追加することで、前記調整された変換コア行列T2を導出するステップと、
(T1*T1T-22B-4×log2(N)2×I)の全ての要素の絶対値の合計としてコスト値Cを計算するステップであって、IはN×N単位行列であるステップと、
計算されたオフセット値をT2に追加することで、前記コスト値がT2に最小化されるように、前記調整された変換行列T2を更新するステップであって、前記調整された変換行列T2が、前記8ビットNポイントの主変換コア行列として出力されるステップと、を含む付記11に記載の装置。
(付記19)
前記第4アプリケーションコードはさらに、前記M個の固有(unique)の数値の選択済みセットにオフセット値の全ての可能な組み合わせを試すことで前記コスト値Cを最小化した後、T2が前記8ビットNポイントの主変換コア行列として出力されることを前記少なくとも1つのプロセッサに実行させるように配置される付記18に記載の装置。
(付記20)
復号化又は符号化する装置であって、
符号化又は復号化のための対象ファイルに関する情報を受信するための受信モジュールであって、前記符号化又は復号化のための対象ファイルが、圧縮されたビデオ又は画像データのファイル、及び非圧縮のビデオ又は画像データのファイルのうちの1つである受信モジュールと、
前記対象ファイルを前記符号化又は復号化するプロセスにおいて、第1サイズタイプを有する第1変換コア行列を使用するか、それとも前記第1サイズタイプよりも小さい第2サイズタイプを有する第2変換コア行列を使用するかを決定するための決定モジュールであって、前記第1サイズタイプが8ビットの主変換コア行列であり、前記8ビットの主変換コア行列が、8ビットで表され且つ64ポイント以上のサイズを有するコア行列を有する決定モジュールと、
前記第1サイズタイプを有する第1変換コア行列を使用することを決定した場合に、前記符号化又は復号化のための対象ファイルを、64ポイント以上のサイズを有する前記8ビットの主変換コア行列を使用して符号化又は復号化するための第1処理モジュールと、
前記第1サイズタイプよりも小さい前記第2サイズタイプを有する第2変換コア行列を使用することを決定した場合に、64ポイント以上のサイズを有する前記8ビットの主変換コア行列から前記第2サイズタイプを有する第2変換コア行列を抽出し、前記符号化又は復号化のための対象ファイルを、抽出された前記第2サイズタイプを有する第2変換コア行列を使用して符号化又は復号化するための第2処理モジュールと、を含む装置。
(付記21)
コンピュータプログラムであって、以下の操作を1つ以上のプロセッサに実行させるための命令を含み、
符号化又は復号化のための対象ファイルに関する情報を受信し、前記符号化又は復号化のための対象ファイルは、圧縮されたビデオ又は画像データのファイル、及び非圧縮のビデオ又は画像データのファイルのうちの1つであり、
前記対象ファイルを前記符号化又は復号化するプロセスにおいて、第1サイズタイプを有する第1変換コア行列を使用するか、それとも前記第1サイズタイプよりも小さい第2サイズタイプを有する第2変換コア行列を使用するかを決定し、前記第1サイズタイプは8ビットの主変換コア行列であり、前記8ビットの主変換コア行列は、8ビットで表され且つ64ポイント以上のサイズを有するコア行列を有し、
前記第1サイズタイプを有する第1変換コア行列を使用することを決定した場合に、前記符号化又は復号化のための対象ファイルを、64ポイント以上のサイズを有する前記8ビットの主変換コア行列を使用して符号化又は復号化し、
前記第1サイズタイプよりも小さい前記第2サイズタイプを有する第2変換コア行列を使用することを決定した場合に、64ポイント以上のサイズを有する前記8ビットの主変換コア行列から前記第2サイズタイプを有する第2変換コア行列を抽出し、前記符号化又は復号化のための対象ファイルを、抽出された前記第2サイズタイプを有する第2変換コア行列を使用して符号化又は復号化するコンピュータプログラム。
【外国語明細書】