Jewelry AI・高画質化
4倍の高画質化が、送ったファイルに何をするのか
倍率は、送ったままのファイルに適用されるわけではありません。長辺はまず1600 pxまで下げられ、その工程を生き残った分だけが拡大されます。コードのコメントは、この結果を上限が約6400 pxの4倍と定義しています。
送ったものの4倍ではなく、経路が残したものの4倍
高画質化に付いている倍率が表しているのは、ファイルに起きる最初のことではなく、最後のことです。倍率がかかる前に、入力の長辺は1600 pxまで下げられます。その線を超えていた分は、何かが拡大される時点ではもう残っていません。
コードがこの工程の結果を、上限が約6400 pxの4倍と説明しているのはそのためです。すでに1600 pxに制限された長辺の4倍、という意味です。長辺が4000 pxで届いた写真が16000 pxになることはありませんし、900 pxで届いた写真がその範囲の上端に達する手立てもありません。
どちらの数字も、コードが定める制限として読んでください。返ってきたファイルから測った値ではありませんし、製品が引き渡すと約束したサイズでもありません。
高画質化の経路が入力に適用する三つの制限
そのうち二つはリクエストを止めることがあります。三つ目は止めません。倍率が何を掛けているのかを、黙って変えます。
- 短辺が64 px未満のとき、拒否されます。
- ファイルは高画質化の工程に入りません。下限に届かせるために拡大されることも、代わりに何かが復元されることもありません。
- およそ30メガピクセルを超えるとき、止められます。
- デコード爆弾対策は、ファイル全体のピクセル数を読みます。片方の辺だけを見れば十分に収まっているファイルでも、ここで止まることがあります。
- 長辺が1600 pxを超えるとき、1600 pxまで下げられます。
- これは何も告げません。リクエストはそのまま通り、拡大にたどり着くファイルは、選んだファイルより小さくなっています。
- コードに書かれた倍率は、上限が約6400 pxの4倍です。
- 高画質化のプロバイダーに、この工程の出力の制限の定義として書かれています。コードが定める上限として扱ってください。受け取るファイルのサイズではありません。
ファイルが扱われる順序
順序こそが要点です。以下の各ステップは、前のステップを終えた時点のファイルに対して実行されます。
短辺が測られる
64 px未満であれば、リクエストはここで拒否されて終わります。この先の処理はファイルを見ません。
全体のピクセル数が測られる
およそ30メガピクセルを超えると、ファイルはデコード爆弾対策で止められます。この判定は片方の辺ではなく、画面全体を読みます。
長辺が1600 pxまで下げられる
見積もりが見落としがちなのは、このステップです。ここから先、処理の中を流れているファイルは、選んだファイルではありません。長辺の1600 pxを超える分のピクセルは、以降のどのステップからも使えなくなります。
制限されたファイルに拡大が適用される
コードのコメントは、このステップの結果を上限が約6400 pxの4倍と定義しています。どちらの数字も、コードが拡大に対して定める制限を表しており、出力から読み取った値ではありません。
コードが定めるとおりの制限
以下の各行は、高画質化の経路に書かれた制限です。どれも返ってきたファイルの測定値ではありません。
| 制限 | コード上の値 | ファイルへの作用 |
|---|---|---|
| 短辺 | 64 px | これを下回ると入力は拒否されます。下限に届かせるために拡大されることはありません。 |
| 全体のピクセル数 | 約30 MP | これを超えると、高画質化の工程の前にデコード爆弾対策がファイルを止めます。 |
| 拡大前の長辺 | 1600 px | これより長いものは1600 pxまで下げられ、倍率はそこからかかります。 |
| コードに書かれた倍率 | 4倍、上限は約6400 px | コードのコメントがこの工程の出力の制限をどう定義しているかです。測定された出力サイズでも、約束されたサイズでもありません。 |
見込みが外れる場所と、代わりにすべきこと
各行は、倍率だけを見た出品者が無理なく立てられる見込みと、ファイルがそのようには振る舞わない理由です。
自分の長辺の4倍を前提に商品ページを計画する。
代わりに1600 pxを基準に見積もってください。縮小は拡大より先に起きるので、元の長辺は掛け算の入力ではなくなります。
宝石、留め具、ホールマークだけを切り出した画像を送り、使えるサイズまで引き上げられることを期待する。
まず切り出した画像の短辺を確認してください。64 px未満であれば拒否されるので、切り出す前の引きの画を高画質化し、そのあとでトリミングします。
入力のピクセルは多いほど有利だという前提で、手に入る最大の書き出しを送る。
小さめに書き出してください。およそ30メガピクセルを超えるとファイルはそのまま止められますし、長辺が1600 pxを超える分はいずれにせよ捨てられます。
高画質化した画像はどれも約6400 pxで引き渡されると考える。
コードが挙げる上限として扱い、実際に受け取ったものを測ってください。制限後に1600 pxを下回るファイルは、そこに届きません。
高画質化にファイルを送る前に
ファイルそのものについて、この順番で確認する四つの項目です。
- 短辺が64 px以上ある。下回る場合、入力は拡大されずに拒否される。
- 全体のピクセル数がおよそ30メガピクセル未満である。これは片方の辺ではなく画面全体に対する判定である。
- 長辺1600 pxの状態で作品を見てある。拡大が受け取るのはその版だから。
- サイズの見込みが、選んだファイルの長辺ではなく1600 pxから出ている。
このページが決着させないこと
このページが扱うのは一つの経路だけです。高画質化の工程が入力のサイズに何をするか、という点です。以下は別の場所の担当です。
- 高画質化した結果のファイル形式と、透過を保持できるかどうか。この経路について記録されている制限は、符号化ではなくサイズを表しています。
- 拡大したファイルがどれだけ鮮明に、きれいに見えるか。ここには出力の品質についての説明も約束もありません。
- そもそもアプリがどの画像ファイルの種類を受け付けるか。その判断はこれらの制限が読まれる前に下されており、専用のページで決着しています。
- モデル写真がジュエリーの写真とは違う下限で扱われる理由と、その下限がどちらの辺で測られるか。
- 1回の実行にかかる費用と、その引き落としのタイミング。
- 生成の経路で画像に何が起きるか。そちらには独自の扱いがあり、ここでは説明していません。
よくある質問
4000 pxの写真を送ったら、16000 pxで返ってきますか?
いいえ。何かが拡大される前に長辺は1600 pxまで下げられるので、倍率がかかるのは1600 pxであって、手元の4000 pxではありません。コードはこの工程の結果を、上限が約6400 pxの4倍と説明しています。
写真がとても小さいのですが、高画質化で使えるサイズまで引き上げられますか?
短辺が64 px未満であれば、引き上げられません。その判定で入力は拒否されます。下限に届かせるために拡大されることも、そこから何かが復元されることもありません。代わりに、同じ写真のより大きな複製を高画質化してください。
カメラの最大の書き出しが拒否されたのはなぜですか?
およそ30メガピクセルを超えるファイルは、デコード爆弾対策で止められます。この対策は片方の辺ではなく、全体のピクセル数を読みます。同じ写真をより小さく書き出せばこの判定を通りますし、失うものもありません。長辺はいずれにせよ1600 pxに制限されるからです。
約6400 pxのファイルを前提に、マーケットプレイスの商品ページを計画できますか?
約6400 pxは、その工程についてコードが定める上限として扱ってください。引き渡されるサイズではありません。コードに書かれた定義であって、返ってきたファイルの測定値ではなく、制限後の長辺が1600 pxを下回る画像はそこに届きません。受け取ったファイルを測ってください。