2021年10月17日

◆ 画像の補間処理(4K モニター)

 4K モニターで 200%の表示にすると、画素数が4倍になる。増えた分の画素は、補間処理で色が決まる。では、どう決まるのか?

 ――

 これは「補間処理の計算式はどうなっているのか?」というのと同じことである。
 通常は、次のように考えていい。
 「既存の二つの画素に挟まれた画素の色は、二つの画素の中間となる色である」

 つまり、「足して2で割る」という方法だ。たいていの場合は、これで済む。
  ※ 足して2で割った値を、中間の画素の値にする、ということ。

 ――

 とはいえ、それで済まない場合もある。文字のレンダリングだ。上の「足して2で割る」という方法で決めると、黒い描線と白い背景の中間は、灰色になってしまう。これだと、文字の全体がにじむ感じになって、明瞭さが損なわれてしまう。
 だから、文字の場合には、「足して2で割る」という方法は使えない。あくまで「白または黒」ということを前提にして、4分の1サイズに細かくなった画素を埋めるしかない。
 とはいえ、これを決める計算式は、あまり難しくない。「足して2で割る」という方法を使ったあとで、「0または1に丸める(偏らせる)」という方法でも済むからだ。

 ――

 もっと難しい場合がある。それは市松模様の場合だ。


?itimatu.png


 これは日本の伝統的な柄である。
  ※ 特に、白を緑にしたものは、鬼滅の刃で炭治郎が着ている。西洋でも同じ模様は使われており、check または checker と呼ばれる。

 この市松模様の黒の部分を「透明色」にすると、二つの画像を重ねたときに、画素の半分だけは(透明色のせいで)背景が透けて見える。残りの半分は、指定色(たとえば白または灰色)になる。
 このようにすると、「半透明の画像」ができる。
 本ブログでは、ページ上部のタイトルの少し下に、半透明の帯があるが、そこでは、市松模様の画像を使うことで、半透明の状態をつくりだしている。
 具体的には、下記の部分がそうだ。


hokan-ami.jpg


 中央の左側の部分は、灰色っぽい半透明になっているが、近くでよく見ると、市松模様の状態になっているとわかるだろう。つまり、灰色と透明とが交互に並んでいる。そのことで、半透明の状態を疑似的につくりだしている。

 ――

 さて。問題はこうだ。
 「この市松模様は、4K モニターではどういう補間処理をされているのか?」
 ということだ。これは、ちょっと考えてもわからなかった。「足して2で割る」という方法ではうまく行くはずがない。かといって、文字と同様の補間処理をしているとも思えない。いったいどうなっているのか?

 疑問に思ったので、上の画像を拡大表示してみた。すると、次のようになった。


hokan-ami2.jpg


 意外なことに、市松模様はそのまま残っている。つまり、各画素は単純に縦横2倍に拡大されている。これは「足して2で割る」という手法を取っていないことを意味する。

 その一方で、市松模様以外の部分では、「足して2で割る」という手法を取っていることがわかる。これは、画素のサイズが1倍であって、4倍になっていないこと(市松模様の部分に比べると4分の1サイズの四角形になっていること)からもわかる。
 画像の上や右や下の方では、小さな四角がなだらかなグラデーションで変化していることから、そうであるとわかるだろう。

 ――

 以上のように、二通りの場合で、それぞれ処理の仕方を変えている。
 とはいえ、こういう場合分けを、論理演算でやると、処理が大変なことになりそうだ。だから実際はもっと単純な数式でやっているのだろう。だが、どういう数式かは不明だ。何かうまい方法があるのだろうが、その方法を探るのは数学的に難しそうだ。

 ただし、ヒントはある。市松模様の領域では、市松模様は完全な市松模様になっているのではない。市松模様の領域の外縁部を見るといい。肌色(ピンク色)っぽい明るい色になっている。つまり、色が歪んでいる。
 また、市松模様の領域の外側では、うっすらとした疑似的な模様がある。ここには市松模様があるわけがないのだが、あるはずのない市松模様がうっすらと浮かび上がっている。これはおそらく、補間の計算をしたことの悪影響(ひずみ?)みたいなものだろう。そういう余計なものが生じているのだ。……これが補間処理のヒントになりそうだ。

 では、具体的には、どのような処理(数式)が用いられているのか? ……ちょっと考えてみたが、かなり難しそうだ。まともに考えると、とんでもない時間がかかりそうだ。余技ふうに考えるには、問題があまりにも本格的すぎる。

 こんなことはプロに任せるべきことなので、ここで話の探究はおしまいとする。長い時間をかけるほどの価値はなさそうだ。

 とはいえ、解答編は得られないとしても、問題編としては、興味をそそるものだったろう。
 それはいわば、フェルマーの定理のようなものだ。フェルマーの定理は、問題を理解するだけなら、中学生でも理解できる。ただしその解答編は、ものすごく難解で、普通の人には理解できない。

 数学においては、「問題を理解できれば、解答は理解できなくていい」という事例がある。本項は、そうした事例の一つとなるだろう。数学的好奇心をもつ人が楽しめれば、それでいい。
posted by 管理人 at 22:33| Comment(0) | コンピュータ_04 | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

  ※ コメントが掲載されるまで、時間がかかることがあります。

過去ログ