2次元画像処理 新しいページはコチラ

提供: yonewiki
移動: 案内, 検索
(概要)
(概要)
41行: 41行:
  
 
*RGB系からYUV系(輝度・色差UとV)へ変換
 
*RGB系からYUV系(輝度・色差UとV)へ変換
*16ピクセルx16ピクセルのブロックごとにYUV1~YUV12という構成要素の配列に変換する。YUV1~4が輝度情報Yに関する演算、5~8が色差Uに関する演算、9~12が色差Vに関する演算。
+
*16ピクセルx16ピクセルのブロックごとにYUV1~YUV12という構成要素の配列に変換する。YUV1~4が輝度情報Yに関する演算、5~8が色差Uに関する演算、9~12が色差Vに関する演算。間引きという手法で考えれば、YUV4:1:1間引きでは情報は8ピクセルx8ピクセルに集約されます。輝度情報が大事で色さ情報が間引かれても人間にはわからない。そういうことらしいです。
*DCT(離散コサイン変換)YUV1~12をDCT1~12という構成要素に変換。
+
*DCT(離散コサイン変換)YUV1~12をDCT1~12という構成要素に変換。間引いている場合は要素数は12→6にまで減ります。以下同じです。
*DCT1~12を量子化してDCT_量子化1~12という構成要素に変換。Y輝度変換テーブル64要素とUV色差変換テーブル64要素を利用
+
*DCT1~12を量子化してDCT_量子化1~12という構成要素に変換。このときY輝度変換テーブル64要素とUV色差変換テーブル64要素を利用。StepSizeつまりは量子化の分解能の係数をあたえるのですが、これが次の符号化で圧縮率を変化させます。
 
*DCT_量子化1~12という構成要素をハフマン符号化という処理を行う。これがBitStreamを生成する。このとき輝度・色差のそれぞれに対してのDC差分エンコードであるとか、AC成分エンコードを先に実施することになっている。
 
*DCT_量子化1~12という構成要素をハフマン符号化という処理を行う。これがBitStreamを生成する。このとき輝度・色差のそれぞれに対してのDC差分エンコードであるとか、AC成分エンコードを先に実施することになっている。
 
*ビットストリームへの各種情報付加(こんな一言でごまかすな的な内容の処理ですが…)
 
*ビットストリームへの各種情報付加(こんな一言でごまかすな的な内容の処理ですが…)
49行: 49行:
  
 
というような処理をしています。それで、読み込むときのデコードでは、おおよそ逆の順番でもとに戻そうとする処理をします。元のBMP情報とまったく同じ表示にはなりません。情報は欠落して人間にはあまりわからないような、ある程度似た値にごまかされて復元されます。各変換時における係数があって、その係数で圧縮率をあげると人間でも劣化がわかります。あと目の肥えた人は少しでもJPEG化されていると圧縮されているかどうかが判別できるそうです。ほんとか?
 
というような処理をしています。それで、読み込むときのデコードでは、おおよそ逆の順番でもとに戻そうとする処理をします。元のBMP情報とまったく同じ表示にはなりません。情報は欠落して人間にはあまりわからないような、ある程度似た値にごまかされて復元されます。各変換時における係数があって、その係数で圧縮率をあげると人間でも劣化がわかります。あと目の肥えた人は少しでもJPEG化されていると圧縮されているかどうかが判別できるそうです。ほんとか?
 +
 +
 +
おおまかにかきましたが、項目の2つめ以降は何を言っているかさっぱりわからない人がほとんどだったかもしれません。構成要素ってDCTって?量子化とは?ハフマン符号化?まぁまぁあせらずに、そういうことは時間をかけて文章にしていかなければならないと思ってはいます。キーワードだけでも書いておけば各々で個別に調べることもできるわけで、急いでいる人はそうやって紐解いていってほしですね。
 +
  
  
 
そんなわけで、すこしづつですが、ここに書いていく予定です。
 
そんなわけで、すこしづつですが、ここに書いていく予定です。
 +
 +
 +
*[[2次元画像処理 BMP]]
 +
*[[2次元画像処理 JPEG]]
 +
*[[2次元画像処理 GIF]]
 +
*[[2次元画像処理 PNG]]
 +
*[[2次元画像処理 TiFF]]
 +
*[[2次元画像処理 画像処理]]

2016年12月16日 (金) 00:00時点における版



個人用ツール
名前空間

変種
操作
案内
ツールボックス