特許訂正審判
2023-390083
復号化のための方法、装置及びコンピュータプログラム
- 審判番号
- 2023-390083
- 法域
- 特許
- 審判種別
- 訂正審判(訂正の審決)
- 出願番号
- 特願2020-544649
- 登録番号
- 7068481
- 請求日
- 2023年06月09日
- 審決日
- 2023年08月15日
- 公報発行日
- 2023年12月28日
- 結論
- 訂正認容
- 当事者
- 【請求人】テンセント・アメリカ・エルエルシー
- 【請求人代理人】伊東 忠重
- 【請求人代理人】伊東 忠彦
- 【請求人代理人】宮崎 修
- 審判長/審判官
- 審判長 畑中 高行
- 審判官 川崎 優
- 審判官 五十嵐 努
- 分類
- P141 .852-Y (H04N) / P141 .853-Y (H04N)
- 条文(本文から自動抽出・参考)
- 特許法第126条第1項、特許法第126条第5項、特許法第126条第6項、特許法第126条第7項
- データ出所
- 審決公報(XML)
事件の表示
特許第7068481号に関する訂正審判事件について、次のとおり審決する。
結論
結 論
特許第7068481号の明細書、特許請求の範囲を本件審判請求書に添付された訂正明細書、特許請求の範囲のとおり訂正することを認める。
理由
理 由
第1 手続の経緯
特許第7068481号は、2019年(令和元年)6月3日(パリ条約に基づく優先権主張外国庁受理 2018年6月29日、米国 2018年12月19日、米国)を国際出願日とする特願2020-544649号の請求項1から20に係る発明について、令和4年5月6日に特許権の設定登録がされたものであり、令和5年6月9日に本件訂正審判の請求がされたものである。
第2 請求の趣旨及び訂正の内容
本件訂正審判の請求の趣旨は、
「特許第7068481号の明細書、特許請求の範囲を本件審判請求書に添付した訂正明細書、特許請求の範囲のとおり訂正することを認める、との審決を求める。」
というものであって、その訂正の内容は、次の訂正事項からなる。なお、下線部は訂正箇所を示す。
1 訂正事項1
特許請求の範囲の請求項1に「33個の整数」と記載されているのを、「31個の整数」に訂正する。(請求項1の記載を直接的又は間接的に引用する請求項2~11、20も同様に訂正する。)
2 訂正事項2
特許請求の範囲の請求項12に「33個の整数」と記載されているのを、「31個の整数」に訂正する。(請求項12の記載を直接的又は間接的に引用する請求項13~19も同様に訂正する。)
3 訂正事項3
願書に添付した明細書の段落【0085】に「33個の整数」と記載されているのを、「31個の整数」に訂正する。
4 訂正事項4
願書に添付した明細書の段落【0086】に「65個の整数」と記載されているのを、「63個の整数」に訂正する。
第3 当審の判断
1 訂正前の請求項の記載事項
訂正前の請求項1~20には以下の記載がある。(請求項1、12の符号は合議体が付したものであり、以下、「構成A1」~「構成G1」、「構成A12」~「構成G12」等という。以下同じ。また、訂正前の上記請求項に付されていた下線は除いた。)
【請求項1】
A1 復号化のためにプロセッサが実行する方法であって、
B1 復号化のための対象ファイルに関する情報を受信するステップであって、前記復号化のための対象ファイルが、圧縮されたビデオ又は画像データのファイル及び非圧縮のビデオ又は画像データのファイルのうちの1つであるステップと、
C1 前記対象ファイルの復号化において、第1サイズタイプを有する第1変換コア行列を使用するか、それとも前記第1サイズタイプよりも小さい第2サイズタイプを有する第2変換コア行列を使用するかを決定するステップであって、前記第1サイズタイプを有する第1変換コア行列が8ビットの主変換コア行列であり、前記8ビットの主変換コア行列が、8ビットで表され且つ64ポイント以上のサイズを有するコア行列を有するステップと、
D1 前記第1サイズタイプを有する第1変換コア行列を使用することを決定した場合に、前記復号化のための対象ファイルを、64ポイント以上のサイズを有する前記8ビットの主変換コア行列を使用して、復号化するステップと、
E1 前記第1サイズタイプよりも小さい前記第2サイズタイプを有する第2変換コア行列を使用することを決定した場合に、64ポイント以上のサイズを有する前記8ビットの主変換コア行列から、前記第2サイズタイプを有する第2変換コア行列を抽出し、前記復号化のための対象ファイルを、抽出された前記第2サイズタイプを有する第2変換コア行列を使用して、復号化するステップと、
を含み、
F1 前記第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及び、それらの正負変換を含み、
G1 前記付加的な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}に等しい、
A1 方法。
【請求項2】
前記第1変換コア行列は多用途ビデオ符号化(VVC)規格の変換である、請求項1に記載の方法。
【請求項3】
前記第2変換コア行列は、DCT-8、DST-1又はDCT-5の何れか1つである、請求項1に記載の方法。
【請求項4】
Nポイント8ビットのDCT-8主変換コア行列又はNポイント8ビットのDST-7変換コア行列を導出する場合に、前記Nポイント8ビットのDCT-8主変換コア行列を構築するのに使用されるM個の固有の数値のセットは、前記Nポイント8ビットのDST-7変換コア行列を構築するM個の固有の数値の同じセットである、請求項1に記載の方法。
【請求項5】
MはNに等しい、請求項4に記載の方法。
【請求項6】
前記8ビットの主変換コア行列の偶数行又は奇数行の、左半分又は右半分は、前記第2変換コア行列に類似する行列を形成する、請求項1に記載の方法。
【請求項7】
前記8ビットの主変換コア行列は、DCT-2、DCT-5、DCT-8、DST-1及びDST-7の何れか1つであり、
前記第2変換コア行列は、DCT-2、DCT-5、DCT-8、DST-1及びDST-7の何れか1つである、請求項6に記載の方法。
【請求項8】
前記8ビットの主変換コア行列及び前記第2変換コア行列は、DCT-2、DCT-5、DCT-8、DST-1及びDST-7の何れか1つと同一である請求項7に記載の方法。
【請求項9】
前記8ビットの主変換コア行列は8ビット64ポイントのDCT-2変換行列であり、前記第2変換コア行列は8ビット32ポイントのDCT-2変換行列である請求項8に記載の方法。
【請求項10】
M個の固有の数値で構成される、8ビットNポイントの前記主変換コア行列は、以下のステップ:
スケール因子2B-2×log2(N)で、T1=T0×2B-2×log2(N)となるように浮動小数点数で構成されるオリジナル変換コアT0をスケーリングすることで、初期変換コア行列T1を導出するステップであって、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に記載の方法。
【請求項11】
M個の固有の数値の選択済みセットにオフセット値の全ての可能な組み合わせを試すことで前記コスト値Cを最小化した後、T2が前記8ビットNポイントの主変換コア行列として出力されるステップをさらに含む請求項10に記載の方法。
【請求項12】
A12 復号化する装置であって、
AA12 コンピュータプログラムコードを記憶するように構成される少なくとも1つのメモリと、
AAA12 前記少なくとも1つのメモリにアクセスし、前記コンピュータプログラムコードに基づき動作するように構成される少なくとも1つのプロセッサと、
を含み、
(AA12) 前記コンピュータプログラムコードは、
B12 復号化のための対象ファイルに関する情報を前記少なくとも1つのプロセッサに受信させるように構成される第1アプリケーションコードであって、前記復号化のための対象ファイルが、圧縮されたビデオ又は画像データのファイル、及び非圧縮のビデオ又は画像データのファイルのうちの1つである第1アプリケーションコードと、
C12 前記対象ファイルの前記復号化において、第1サイズタイプを有する第1変換コア行列を使用するか、それとも前記第1サイズタイプよりも小さい第2サイズタイプを有する第2変換コア行列を使用するかを前記少なくとも1つのプロセッサに決定させるように構成される第2アプリケーションコードであって、前記第1サイズタイプを有する第1変換コア行列が8ビットの主変換コア行列であり、前記8ビットの主変換コア行列は、8ビットで表され且つ64ポイント以上のサイズを有するコア行列を有する第2アプリケーションコードと、
D12 前記第1サイズタイプを有する第1変換コア行列を使用することを決定した場合に、前記復号化のための対象ファイルを、64ポイント以上のサイズを有する前記8ビットの主変換コア行列を使用して、前記少なくとも1つのプロセッサに復号化させるように構成される第3アプリケーションコードと、
E12 前記第1サイズタイプよりも小さい前記第2サイズタイプを有する第2変換コア行列を使用することを決定した場合に、64ポイント以上のサイズを有する前記8ビットの主変換コア行列から前記第2サイズタイプを有する第2変換コア行列を抽出し、前記復号化のための対象ファイルを、抽出された前記第2サイズタイプを有する第2変換コア行列を使用して、復号化することを、前記少なくとも1つのプロセッサに行わせるように構成される第4アプリケーションコードと、
を含み、
F12 前記第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及び、それらの正負変換を含み、
G12 前記付加的な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}に等しい、
A12 装置。
【請求項13】
前記第1変換コア行列は多用途ビデオ符号化(VVC)規格の変換である、請求項12に記載の装置。
【請求項14】
前記第2変換コア行列は、DCT-8、DST-1又はDCT-5の何れか1つである、請求項12に記載の装置。
【請求項15】
Nポイント8ビットのDCT-8主変換コア行列又はNポイント8ビットのDST-7変換コア行列を導出する場合に、前記Nポイント8ビットのDCT-8主変換コア行列を構築するのに使用されるM個の固有の数値のセットは、前記Nポイント8ビットのDST-7変換コア行列を構築するM個の固有の数値の同じセットである、請求項12に記載の装置。
【請求項16】
MはNに等しい、請求項15に記載の装置。
【請求項17】
前記8ビットの主変換コア行列の偶数行又は奇数行の、左半分又は右半分は、前記第2変換コア行列に類似する行列を形成する、請求項12に記載の装置。
【請求項18】
前記8ビットの主変換コア行列は、DCT-2、DCT-5、DCT-8、DST-1及びDST-7の何れか1つであり、
前記第2変換コア行列は、DCT-2、DCT-5、DCT-8、DST-1及びDST-7の何れか1つである、請求項17に記載の装置。
【請求項19】
前記8ビットの主変換コア行列及び前記第2変換コア行列は、DCT-2、DCT-5、DCT-8、DST-1及びDST-7の何れか1つと同一である請求項18に記載の装置。
【請求項20】
請求項1-11のうちの何れか1項に記載の方法をプロセッサに実行させるコンピュータプログラム。
2 訂正前の明細書の記載事項
訂正前の明細書の【0067】~【0070】、【0081】~【0082】、【0083】~【0087】、【0094】~【0095】には以下の記載がある。
「【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}。」
「【0081】
VVCにおける主変換は、8ビット(例えば、64ポイント以上を除く他の全ての変換サイズに使用される)と10ビット(例えば、64ポイント以上の変換に使用される)の変換コアを適用できる。この適用では、例えば64ポイントのDCT-2変換コアから、2、4、8、16及び32ポイントのDCT-2変換コアを抽出することができず、これにより、必然的に主変換の応用コストを増やし、なぜならば、単一の64ポイントの変換コアは、実現のために、追加のストレージとロジックを必要とするからである。8ビットの主変換コアは、10ビットの主変換コアに比べると、変換コアを記憶するためのメモリが削減され、乗算器/加算/減算演算の入力ビットの幅が削減されるので、複雑さが低減される。
【0082】
従って、本開示は、DCT-2・・・を含む、・・・全ての変換サイズタイプに、8ビットの主変換コアのセットを提供する。以下に例示的に提案される方法は、単独で、又は任意の順序で組み合わせて使用できる。」
「【0083】
図5を参照し、第1の簡単な例示において、8ビットの主変換コア行列を利用して、圧縮されたビデオ又は画像データを復号化したり、非圧縮のビデオ又は画像データを符号化したりする方法は、符号化又は復号化のための対象ファイルに関する情報を受信する・・・。図5の方法はさらに、・・・対象ファイルの符号化又は復号化に対して、第1サイズタイプを有する第1変換コア行列を使用するか、それとも第1サイズタイプよりも小さい第2サイズタイプを有する第2変換コア行列を使用するかを決定することを、含む。第1サイズタイプは8ビットの主変換コア行列であってもよく、8ビットの主変換コア行列は、8ビットで表され且つ64ポイント以上のサイズを有するコア行列を有する。本開示の一態様による方法は・・・決定の結果が第1サイズタイプを有する第1変換コア行列を使用することである場合、符号化又は復号化のための対象ファイルを、64ポイント以上のサイズを有する8ビットの主変換コア行列を使用して符号化又は復号化するようにする情報を生成又は伝送することを含む。図5の方法は・・・決定の結果が第1サイズタイプよりも小さい第2サイズタイプを有する第2変換コア行列を使用することである場合、64ポイント以上のサイズを有する8ビットの主変換コア行列から第2サイズタイプを有する第2変換コア行列を抽出し、符号化又は復号化のための対象ファイルを、抽出された第2サイズタイプを有する第2変換コア行列を使用して符号化又は復号化するようにする情報を生成又は伝送することを含む。
・・・
【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・・・であり、且つ/又は第2変換コア行列がDCT-2・・・であることを含んでもよい。」
「【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}である。」
3 訂正前の明細書についての検討
訂正前の明細書の上記記載から、以下のことがいえる。
(1)まず、上記記載箇所において、「コア」、「コア行列」、「変換コア」、「変換コア行列」、「主変換コア」、「主変換コア行列」という記載で示される事項は、表記の揺らぎによるものであり、それらの記載はすべて所定の大きさ(例えば64ポイント、128ポイント)を有する行列であって、変換処理を行うための行列を指すものといえる。
(2)【0067】、【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}の63個の整数が用いられている。これら整数の最大値は362であるから、これらの整数を表現するには9ビット必要であり、さらにこれら63個の整数と、その符号を反転した整数を表現するには10ビット必要であることがいえる。
ここで、【0068】に記載される64ポイントのDCT-2コアは、上記のとおり{aa,・・・,be,bf,・・・,ck}の63個の整数から構成されているところ、偶数行(行0、2、4、・・・、62)の左半分は、{aa,・・・,aa}、{ap,・・・,-ap}、・・・・、{ao,・・・,ao}、{be,・・・,-be}である、すなわち{aa,・・・,be}(及びそれらの整数の符号を反転した整数)のみを要素にして構成されることがいえる。
また、奇数行(行1、3、5、・・・、63)は、{aa,・・・,be}(及びそれらの整数の符号を反転した整数)を含まず、{bf,・・・,ck}(及びそれらの整数の符号を反転した整数)のみを要素にして構成されていることがいえる。
(3)次に、【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}の127個の整数が用いられている。これら整数の最大値もまた362であるから、これら127個の整数と、その符号を反転した整数を表現するには、10ビット必要であることがいえる。
ここで、【0070】に記載される128ポイントのDCT-2コアは、上記【0069】の記載のとおり{aa,・・・,ck,cl・・・,ew}の127個の整数から構成されているところ、【0070】に記載される、128ポイントのDCT-2コアの偶数行(行0、2、4、・・・、126)の左半分は、【0068】の64ポイントのDCT-2コアである、{aa,・・・,aa}、{bf,・・・,-bf}、・・・・{be,・・・,be}、{ck,・・・,-ck}と同じである、すなわち、{aa,・・・,ck}(及びそれらの整数の符号を反転した整数)のみを要素にして構成されていることがいえる。
また、奇数行(行1、3、5、・・・、127)の要素は、{aa,・・・,ck}(及びそれらの整数の符号を反転した整数)を含まず、{cl,・・・,ew}の64個の整数(及びそれらの整数の符号を反転した整数)のみを要素にして構成されていることがいえる。
したがって、【0069】及び【0070】の128ポイントの10ビットのDCT-2コアは、偶数行の左半分の要素であって【0068】の64ポイントの10ビットDCT-2コアを構成する63個の整数(及びそれらの整数の符号を反転した整数){aa,・・・,ck}と、そうではない64個の整数(及びそれらの整数の符号を反転した整数){cl,・・・,ew}から構築されているといえる。
(4)ところで、【0081】【0082】の記載からすると、
・VVCにおいて、64ポイント以上を除く他の全ての変換サイズ(すなわち、64ポイント未満の変換)に使用される変換コアは8ビットであり、64ポイント以上の変換に使用される変換コアは10ビットであって、例えば64ポイントのDCT-2変換コアから32ポイントのDCT-2変換コアを抽出することができないこと、10ビットである64ポイントの変換コアは8ビットの変換コアに比べて追加のストレージとロジックを必要とすること、
が本件の課題であり、
・これに対して、64ポイント以上の主変換コアに関して、8ビットの主変換コアを提供することで、例えば64ポイントの変換コアから32ポイントの変換コアを抽出できるようにすること、
が本件の課題解決手段であるといえる。
より具体的には、本件の課題解決手段の一形態は、以下の(ア)(イ)に集約されるものといえる。
(ア)【0068】に記載される64ポイントのDCT-2コアを構成する63個の整数を、{256,334,139,・・・,44,27,9}に替えて、8ビットで表現できるような値にするとともに、【0069】及び【0070】に記載される128ポイントのDCT-2コアを構成する127個の整数を、{256,334,139,・・・44,27,9,362,362,361,・・・22,13,4}に替えて、8ビットで表現できるような値にすること。
(イ)【0069】及び【0070】に記載される128ポイントのDCT-2コアが、偶数行の要素であり64ポイントのDCT-2コアを構成する63個の整数(及びそれらの整数の符号を反転した整数){aa,・・・,ck}と、そうではない64個の整数(及びそれらの整数の符号を反転した整数){cl,・・・,ew}から構築されており、
他方、【0068】に記載される64ポイントのDCT-2コアは、偶数行を構成する31個の整数(及びそれらの整数の符号を反転した整数){aa,・・・,be}と、そうではない32個の整数(及びそれらの整数の符号を反転した整数){bf,・・・,ck}から構築されているところ、
128ポイントのDCT-2コアから64ポイントのDCT-2コアを構成するのと同様の手法により、64ポイントのDCT-2コアから32ポイントのDCT-2コアを抽出できるようにすること、
すなわち、偶数行の要素である31個の整数(及びそれらの整数の符号を反転した整数){aa,・・・,be}と、そうではない32個の整数(及びそれらの整数の符号を反転した整数){bf,・・・,ck}から構築されている64ポイントのDCT-2コアから、【0087】に例示されるような、偶数行の左半分の要素だけを抽出することにより、32ポイントのDCT-2コアとすること。
(5)上記(4)の課題解決手段に関して、【0086】、【0095】の記載を検討すると、
・【0086】の記載から、64ポイントの8ビットの主変換コアを構築するための整数を使用して128ポイントの8ビットの主変換コアを構築することを含み、このうち付加的な64個の整数は、{cl,・・・,ew}を含むこと、
・【0095】の記載から、128ポイントのDCT-2変換コアを8ビットの整数で表現する場合に、{aa,・・・,ck,cl,・・・,ew}の127個の整数が用いられること、変換コア行列の偶数行の左半分は、64ポイントのDCT-2変換コア行列と同じ行列であることがいえる。
また、
・【0086】及び【0095】の記載から、上記64個の整数{cl,・・・,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}を持つことがいえる。
(6)上記(3)、(5)の記載を総合すると、(【0069】及び【0070】の128ポイントのDCT-2コアが10ビットの整数から構成されるのに対して、【0086】及び【0095】の128ポイントの変換コア行列は8ビットの整数から構成されている点では異なるものの、)
【0069】及び【0070】において示されるコア{aa,・・・,ck,cl,・・・,ew}と同様に、【0086】及び【0095】における128ポイントの変換コア行列は、いずれも64ポイントの変換コア行列を構成する整数と、そうでない64個の整数(【0086】では「付加的な64個の整数」と記載されている){cl,・・・,ew}から構成されており、さらに【0095】における64ポイントの8ビットの変換コア行列を構成する整数は{aa,・・・,ck}であるといえる。
そうすると、【0086】には明示的に記載がないものの、【0086】における128ポイントの主変換コアは、【0069】及び【0070】や【0095】における128ポイントの変換コアと同じく{aa,・・・,ck,cl,・・・,ew}という127個の整数から構成される行列であること、このうち{aa,・・・,ck}は、変換コア行列の偶数行の左半分を構成する整数であって、64ポイントの変換コア行列と同じ行列を構成する整数であり、【0095】において記載される、64ポイントのDCT-2変換コアと同じ行列を構成する整数であるといえる。
(7)ところで、【0086】には、64ポイントの8ビット主変換コア行列を構成するための65個の整数があることが記載されているが、上記(6)のとおり、【0086】における128ポイントの変換コアは、64ポイントの8ビットの変換コアを構成する{aa,・・・,ck}の63個の整数と、その他の64個の整数である{cl,・・・,ew}を加えた127個の整数から構成されているものといえる。
したがって、【0086】の「(64ポイントの8ビット主変換コア行列を構成するための)65個の整数(と付加的な64個の整数を使用して128ポイントの8ビットの主変換コアを構築する)」という記載は「63個の整数」の誤記であることが導き出せる。
(8)上記(5)と同様に、上記(4)の課題解決手段に関して、【0085】、【0094】の記載を検討すると、
・【0085】の記載から、32ポイントの8ビットの主変換コアを構築するための整数を使用して64ポイントの8ビットの主変換コアを構築することを含み、このうち付加的な32個の整数は、{bf,・・・,ck}を含むこと、
・【0094】の記載から、64ポイントのDCT-2変換コアを8ビットの整数で表現する場合に、{aa,・・・,be,bf,・・・,ck}の64個の整数が用いられること、変換コア行列の偶数行の左半分は、32ポイントのDCT-2変換コア行列と同じ行列であることがいえる。
また、
・【0085】及び【0094】の記載から、上記32個の整数{bf,・・・,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}を持つことがいえる。
(9)上記(2)、(8)の記載を総合すると、(【0068】の64ポイントのDCT-2コアが10ビットの整数から構成されるのに対して、【0085】及び【0094】の64ポイントの変換コア行列は8ビットの整数から構成されている点では異なるものの、)
【0068】において示されるコアと同様に、【0085】及び【0094】における64ポイントの変換コア行列は、いずれも32個の整数(【0085】では「付加的な32個の整数」と記載されている){bf,・・・,ck}を含む整数から構成されており、さらに、【0094】における32ポイントの8ビットの変換コア行列を構成する整数は、{bf,・・・,ck}以外の整数、すなわち、{aa,・・・,be}であるといえる。
ここで、上記(4)に示したように、【0068】において64ポイントのDCT-2コアの偶数行(の左半分)を構成する整数である、{aa,・・・,be}について、これを8ビットで表現したものを32ポイントのDCT-2コアを構成することが本件の課題解決手段である。
そうすると、【0085】には明示的に記載がないものの、【0085】における64ポイントの変換コアは、【0068】や【0094】における64ポイントの変換コアと同じく、{aa,・・・,be,bf,・・・,ck}という63個の整数から構成される行列であること、このうち{aa,・・・,be}は、変換コアの偶数行の左半分を構成する整数であって、32ポイントのDCT-2変換コアを構成する整数でもあることがいえる。
(10)ところで、【0085】には、64ポイントの8ビットの主変換コア行列が、32ポイントの8ビット主変換コア行列を構成するための33個の整数を使用して構築されることが記載されているが、上記(9)のとおり、【0068】や【0094】の記載からすると、64ポイントの変換コアから抽出されるべき32ポイントの変換コア行列を構成するための整数は{aa,・・・,be}の31個である。
さらに、上記(7)のとおり、【0086】の「(64ポイントの8ビットの主変換コアを構築するための)65個の整数(と付加的な64個の整数を使用して128ポイントの8ビットの主変換コアを構築する)」という記載は「63個の整数」の誤記であることがいえるから、【0085】の32ポイントの8ビットの主変換コアを構築するための整数は合計で63個となり、「付加的な32個の整数」を除いた整数は31個となる。
したがって、【0085】の「(第1コア変換行列が64ポイントの8ビットの主変換コア行列であり、32ポイントの8ビット主変換コア行列を構成するための)33個の整数(と付加的な32個の整数を使用して構築される)」という記載は「31個の整数」の誤記であることが導き出せる。
(11)上記(2)~(10)を総括すると、
・本件明細書の【0085】の「(第1変換コア行列が64ポイントの8ビットの主変換コア行列であり、32ポイントの8ビット主変換コア行列を構成するための)33個の整数(と付加的な32個の整数を使用して構築される)」という記載は「31個の整数」の誤記であること、
・本件明細書の【0086】の「(64ポイントの8ビット主変換コア行列を構成するための)65個の整数(と付加的な64個の整数を使用して128ポイントの8ビットの主変換コアを構築する)」という記載は「63個の整数」の誤記であること、
がそれぞれいえる。
4 訂正事項1~4について
上記3の検討を踏まえて、訂正事項1~4について検討する。ここで、事案に鑑み、先に訂正事項3、4について検討し、その後訂正事項1、2について検討する。
4-1 訂正事項3、4について
(1)訂正の目的について
訂正事項3、4は、本件明細書【0085】の「(第1コア変換行列が64ポイントの8ビットの主変換コア行列であり、32ポイントの8ビット主変換コア行列を構成するための)33個の整数(と、付加的な32個の整数を使用して構築される)」という記載を「31個の整数」と、【0086】の「(64ポイントの8ビット主変換コア行列を構成するための)65個の整数(と付加的な64個の整数を使用して128ポイントの8ビットの主変換コアを構築する)」という記載を「63個の整数」と、それぞれ訂正しようとするものである。
ここで、上記3の検討から、
・本件明細書の【0085】の「(32ポイントの8ビット主変換コア行列を構成するための)33個の整数」という記載は「31個の整数」の誤記であること、
・本件明細書の【0086】の「(64ポイントの8ビット主変換コア行列を構成するための)65個の整数」という記載は「63個の整数」の誤記であること、
がそれぞれいえる。
そうすると、訂正事項3、4は、【0085】、【0086】に含まれる誤記を訂正しようとするものであって、特許法第126条第1項ただし書第2号に掲げる「誤記の訂正」を目的とする訂正に該当する。
(2)願書に最初に添付した明細書、特許請求の範囲又は図面に記載した事項の範囲内であることについて
上記(1)において検討したとおり、訂正事項3、4は、訂正前の本件明細書の誤記の訂正を目的とするものであって、願書に最初に添付した明細書、特許請求の範囲又は図面に記載した事項の全てを総合することによって導かれる技術的事項との関係において、新たな技術的事項を導入するものではない。
したがって、訂正事項3、4は、特許法第126条第5項の規定に適合するものである。
4-2 訂正事項1、2について
(1)訂正の目的について
訂正事項1、2は、特許請求の範囲の請求項1、12に「(64ポイント8ビットの主変換コア行列は、32ポイント8ビット主変換コア行列を構成するための)33個の整数(と、付加的な32個の整数を使用して構築され)」と記載されているのを、「31個の整数」に訂正しようとするものであり、請求項1の記載を直接的又は間接的に引用する請求項1~11、20、請求項12の記載を直接的又は間接的に引用する請求項13~19も同様に訂正しようとするものである。
ここで、上記4-1(1)と同様に、上記3の検討から、
・本件明細書の【0085】の「(32ポイントの8ビット主変換コア行列を構成するための)33個の整数」という記載は「31個の整数」の誤記であること、
・本件明細書の【0086】の「(64ポイントの8ビット主変換コア行列を構成するための)65個の整数」という記載は「63個の整数」の誤記であること、
がそれぞれいえる。
一方、訂正前の特許請求の範囲の請求項1、12には、上記の通り「(64ポイント8ビットの主変換コア行列は、32ポイント8ビットの主変換コア行列を構築するための)33個の整数(と、付加的な32個の整数を使用して構築され)」と記載されている。
そうすると、訂正事項1、2は、本件明細書の【0085】、【0086】に含まれる誤記が、上記訂正事項3、4によって訂正された場合、特許請求の範囲の請求項1、12の記載と明細書の発明の詳細な説明との間に不整合が生じるが、この不整合を解消するためのものであって、特許法第126条第1項ただし書第2号に掲げる「誤記の訂正」、または特許法第126条第1項ただし書第3号に掲げる「明瞭でない記載の釈明」を目的とする訂正に該当する。
(2)願書に最初に添付した明細書、特許請求の範囲又は図面に記載した事項の範囲内であることについて
上記(1)において検討したとおり、訂正事項1、2は、訂正事項3、4によって訂正された場合に生じる、訂正前の特許請求の範囲と明細書の発明の詳細な説明との間の不整合を解消するためのものであり、願書に最初に添付した明細書、特許請求の範囲又は図面に記載した事項の全てを総合することによって導かれる技術的事項との関係において、新たな技術的事項を導入するものではない。
したがって、訂正事項1、2は、特許法第126条第5項の規定に適合するものである。
(3)実質上特許請求の範囲を拡張し、又は変更するものでないことについて
上記(1)において検討したとおり、訂正事項1、2は、訂正事項3、4によって訂正された場合に生じる、訂正前の特許請求の範囲と明細書の発明の詳細な説明との間の不整合を解消するためのものであり、実質上特許請求の範囲を拡張し、又は変更するものには該当せず、特許法第126条第6項の規定に適合するものである。
5 独立特許要件について
訂正事項1~4については、誤記の訂正を目的とした訂正であるとした場合、訂正後の請求項1、12に係る発明が特許出願の際独立して特許を受けることができない理由を発見しない。
したがって、訂正事項1~4は、特許法第126条第7項の規定に適合する。
第4 むすび
以上のとおり、本件訂正審判の請求に係る訂正は、特許法第126条第1項ただし書第2号の「誤記の訂正」を目的とし、かつ同法同条第5項から第7項の規定に適合するものである、又は、同法同条同項ただし書第3号の「明瞭でない記載の釈明」に掲げる事項を目的とし、かつ、同法同条第5項から第7項の規定に適合するものである。
よって、結論のとおり審決する。
審決本文(J-PlatPat)
J-PlatPatの審決検索トップを開きます。番号入力で「審判番号」を選び、下の番号を貼り付けて検索してください。
J-PlatPat 審決検索を開く
2023-390083