Pages

January 25, 2007

Sampling theory, pt 1: WPFE in pictures

I got a few questions and comments about my comment that WPFE "botched" the sampling rules for bitmaps/images. I tried to explain in the comments, but its clear I wasn't clear.

So, I'll post a clearer text/mathematical explanation shortly but here's the issue, by visual example.

First a simple "linework" image:


Next, the same image if I apply a 400% scale to the canvas, as rendered by WPFE (I cropped the result to the upper left corner):


And now, the same image, with a 400% scale as produced by my (new) rasterizer - this is also the same image that Flash 8+ and OpenGL will produce:


See the problem?

I'll explain why this isn't a black and white issue, but why I think MS landed on the wrong side of it shortly, in a follow-up. The problem is covered well in the seminal computer graphics memo from Alvy Ray Smith, "A Pixel is NOT a little square..."

Alvy Ray, of course (being Alvy Ray), is not wrong in his final conclusion, but that doesn't make his point right for all applications either, and therein lies the rub... most UI designers, I'll posit, think of images as exactly little bags of rectangles...

87 comments:

metamerist said...

No! Not the Alvy Ray "A Pixel is NOT a little square..." memo!

Grrr. I have a bone or two to pick with that one. >:-)

Blinn did a better job in "What is a Pixel?" :-)

Sree Kotay said...

lol - yep, and they both made passes through MS, but "pixel is NOT a little square" is catchier, I guess... :)

metamerist said...

My chief complaint with the "A Pixel..." memo is that it seems to religiously insist that the idea of a pixel is more real than the real thing--at least from my perspective.

On one hand, we have the real thing (CCD pixels, Bayer patterns, Foveon sensors, microlens arrays, ink jets, whatever, etc.). On the other hand, we have ideas (the mathematical tools and models we use in processing digital images and computer graphics).

As I see it, DSP is merely a mathematical tool we use for dealing with the real thing(s), an intermediate step for conversion between ideas and realities.

In the case of digital photography, we have a whole chain of reality with which to cope: CCD -> digital image -> { CRT | LCD | printer | other }. In a sense, the input to output chain amounts to reality -> idea -> reality.

In 2D or 3D rendering, on the other hand, it's more a matter of beginning with the idea and taking it to reality: idea -> reality, a case in which our models are rendered on the real thing { CRT | LCD | printer | other }. The memo seems to thumb its nose at this possibility.

It also seems to me that the memo implies digital signal processing is the only valid perspective / tool one can use in processing images, but I don't believe that's true. In fact, I think doggedly adhering to such a belief can actually set one back, because it can blind one to physical realities that might be leveraged in creating a superior solution.

I'd argue that something like ClearType happens when you pay more attention to the real thing (i.e., the properties of a real LCD display) rather than strictly adhering to signal processing theory alone. In order to get ClearType to work, you need to know the physical reality of the LCD subpixel layout.

Likewise, if you're trying to create the ultimate algorithm to demosaic an image, it will make sense to leverage as many physical properties of the sensor as you possibly can.

Kilroy Trout said...

Sree repeat after me:

Microsoft is a marketing company
Microsoft is a marketing company

This should help you understand their failure in WPF rendering, music players, etc.

Sree Kotay said...

That's a little harsh Kilroy.

(Note I didn't say it was wrong :P...)

But seriously, its as much there seem to be all these overlapping/competing efforts, such that MS gets to expererience the pain of big company-ness, but little of the benefit (alignment of resources, scale, etc.)

They got smart folks there...

Anonymous said...

The WPFE behavior you are seeing is a bug in the current CTP and will be addressed in the next WPFE CTP.

Sree Kotay said...

cool - I'd agree its a bug, but given its the same thing you see in GDI Plus I wasn't sure...

Anonymous said...

Good design!

Anonymous said...

Thanks for interesting article.

Anonymous said...

I like articles like this. Thanks!

Anonymous said...

Great Article! Thank You!

Anonymous said...

Thanks to author! I like articles like this, very interesting.

Anonymous said...

Well done. Keep up the great work. Best regards!

Anonymous said...

I like it a lot! Nice site, I will bookmark!

Anonymous said...

Thanks to author! I like articles like this, very interesting.

Anonymous said...

8EJvkp Very good blog! Thanks!

Anonymous said...

WH0ywB Hello all!

Anonymous said...

Good job!

Anonymous said...

Thanks to author.

Anonymous said...

actually, that's brilliant. Thank you. I'm going to pass that on to a couple of people.

Anonymous said...

Please write anything else!

Anonymous said...

Hello all!

Anonymous said...

actually, that's brilliant. Thank you. I'm going to pass that on to a couple of people.

Anonymous said...

Magnific!

Anonymous said...

Hello all!

Anonymous said...

Wonderful blog.

Anonymous said...

RyLnfZ write more, thanks.

Anonymous said...

Nice Article.

Anonymous said...

Magnific!

Anonymous said...

Nice Article.

Anonymous said...

Thanks to author.

Anonymous said...

actually, that's brilliant. Thank you. I'm going to pass that on to a couple of people.

Anonymous said...

Good job!

Anonymous said...

actually, that's brilliant. Thank you. I'm going to pass that on to a couple of people.

Anonymous said...

Nice Article.

Anonymous said...

Hello all!

Anonymous said...

Wonderful blog.

Anonymous said...

Hello all!

Anonymous said...

Magnific!

Anonymous said...

When there's a will, I want to be in it.

Anonymous said...

What is a free gift ? Aren't all gifts free?

Anonymous said...

I'm not a complete idiot, some parts are missing!

Anonymous said...

Lottery: A tax on people who are bad at math.

Anonymous said...

Friends help you move. Real friends help you move bodies

Anonymous said...

Oops. My brain just hit a bad sector.

Anonymous said...

I'm not a complete idiot, some parts are missing!

Anonymous said...

What is a free gift ? Aren't all gifts free?

Anonymous said...

All generalizations are false, including this one.

Anonymous said...

Lottery: A tax on people who are bad at math.

Anonymous said...

Lottery: A tax on people who are bad at math.

Anonymous said...

Thanks to author.

Anonymous said...

640K ought to be enough for anybody. - Bill Gates 81

Anonymous said...

640K ought to be enough for anybody. - Bill Gates 81

Anonymous said...

All generalizations are false, including this one.

Anonymous said...

What is a free gift ? Aren't all gifts free?

Anonymous said...

Save the whales, collect the whole set

Anonymous said...

Friends help you move. Real friends help you move bodies

Anonymous said...

A flashlight is a case for holding dead batteries.

Anonymous said...

I'm not a complete idiot, some parts are missing!

Anonymous said...

Oops. My brain just hit a bad sector.

Anonymous said...

Magnific!

Anonymous said...

Beam me aboard, Scotty..... Sure. Will a 2x10 do?

Anonymous said...

Lottery: A tax on people who are bad at math.

Anonymous said...

What is a free gift ? Aren't all gifts free?

Anonymous said...

actually, that's brilliant. Thank you. I'm going to pass that on to a couple of people.

Anonymous said...

Wonderful blog.

Anonymous said...

Energizer Bunny Arrested! Charged with battery.

Anonymous said...

I don't suffer from insanity. I enjoy every minute of it.

Anonymous said...

Good job!

Anonymous said...

If ignorance is bliss, you must be orgasmic.

Anonymous said...

Build a watch in 179 easy steps - by C. Forsberg.

Anonymous said...

What is a free gift ? Aren't all gifts free?

Anonymous said...

Build a watch in 179 easy steps - by C. Forsberg.

Anonymous said...

I'm not a complete idiot, some parts are missing!

Anonymous said...

What is a free gift ? Aren't all gifts free?

Anonymous said...

Save the whales, collect the whole set

Anonymous said...

Lottery: A tax on people who are bad at math.

Anonymous said...

Ever notice how fast Windows runs? Neither did I.

Anonymous said...

Magnific!

Anonymous said...

All generalizations are false, including this one.

Anonymous said...

C++ should have been called B

Anonymous said...

Hello all!

Anonymous said...

Friends help you move. Real friends help you move bodies.

Anonymous said...

If ignorance is bliss, you must be orgasmic.

Anonymous said...

Friends help you move. Real friends help you move bodies.

Anonymous said...

Build a watch in 179 easy steps - by C. Forsberg.

Anonymous said...

マルチエックス
マッチングZ亀丸 圭一郎
ブサイクでもモテる森王拓海
マルヴァフットボールアカデミー
マルヴァフットボールアカデミー
しろありヤンヤン20L
アラジン
FX-FLEX-TRADING
社労士試験合格法
IEMRank
mixi逆ナンパ
株の税金
ビリヤード上達法
かわいい店員を落とす方法
会社設立
メールテクニック
マッチングサイト
プラチナブランダー
ポイント交換システム
ピンポイント・キック
堀田式3点分析投資法
情報教材
Right Click Riches
離婚3倍お金
投稿キングSP
パーフェクトストライク上達法
公立入試最短合格
難聴改善
毎日チャリチャリ ナンバーズ3予想
ヴァルカン vulcan
マジック225ライト
2週間で最強バッター栗嶋
便秘解消術
日経225先物
eroger
完全ヒモマニュアル
情報起業トップマーケティング
究極のNNTトレーニング
Web-Lab Edition
クラーケン kraken
人気ブログ
初心者起業コンプリートパック・
ピンポイント・キック
堀田式3点分析投資法
堀田式3点分析投資法
Right Click Riches
情報教材
投稿キングSP
公立入試最短合格
ナンバーズ3予想
マジック225ライト
便秘解消術
eroger
かわいい店員
社労士試験合格法
奥村流ビリヤード上達法
情報起業トップマーケティング
Web-Lab Edition
マジックキャンドル10
離婚3倍お金
日経225先物
ヒモマニュアル
究極のNNTトレーニング
クラーケン kraken
初心者起業コンプリートパック
矢島純一パーフェクトストライク上達法
難聴改善
ヴァルカン vulcan
栗嶋流最強バッター
川又選手
近藤雅世 金投資手法
LOVEマシーン
高校受験 勉強法
ジャグバカの攻略法
アキバ系外国人ガイドブック
高良俊礼 高野 雲 ジャズ入門
初ジャズ
α225-Bronze
1億円稼ぐ方法 投資の本質
ブログ 人生を変える 吉田和彦
厳選商品館
宇宙技術 ナノウォーター
TOC Buyer's NET
オリレワ OORILEWA
にっぽんe物産市
ピーターラビット検索ツールバー
VPSstock
東京視力回復センター
爽快生活サプリ
生命保険 比較
生命保険 比較 口コミ
生命保険 比較 女性
生命保険 比較 終身
生命保険 掛け捨て 比較
生命保険 掛け捨て 比較
生命保険 掛け捨て 終身
生命保険 掛け捨て 積み立て
生命保険 掛け捨て 貯蓄
【野球】ベスト・ピッチング
パーフェクトアドセンスツール
情報教材ASPカート販売
Ribbon Ad Generator
在宅パートで1日 13000円の副収入
ヴァイラル ダウンローダー
he FX Evolutional Trade
ハゲタカ債券投資法
実践特許出願虎の巻
トップセールス自己暗示法
不妊症 自然妊娠 赤ちゃん 授かる方法
トップ・エグゼクティブ・コース
発毛進化論
FXの税金・節税・確定申告
DTIブログ版
株式損失 投資戦略2009
越智隼人 サッカー上達法
第3次アフィリエイト大戦
若返り妊娠術
夢オートFX
包茎
仮性包茎
仮性包茎
真性包茎
真性包茎
カントン包茎
カントン包茎
子供の包茎
包茎 いじめ
クリトリス包茎
包茎 フェラ
包茎手術
手術包茎
包茎手術
包茎手術病院
包茎手術
包茎手術
包茎治療
生命保険 掛け捨て
掛け捨て生命保険比較
60歳から生命保険比較
医療保険比較女性
終身医療保険比較
医療保険比較価格
医療保険比較 おすすめ
生命保険 医療保険比較
子供医療保険比較
医療保険 終身 比較
医療保険 終身 定期
女性 医療保険 終身
医療保険 終身 掛け捨て
医療保険終身60歳払い済み
医療保険終身払込
医療保険比較 女性
医療保険女性独身
医療保険女性人気
医療保険女性おすすめ
医療保険女性終身
入院保険比較
入院保険女性
子供入院保険
入院保険終身
入院保険掛け捨て
生命保険定期保険比較
生命保険死亡保障
死亡保障掛け捨て
死亡保障比較
死亡保障終身
死亡保障金額
終身保険比較
終身保険比較かんぽ
定期保険終身保険比較
生命保険終身保険
死亡保険比較
死亡保険掛け捨て
死亡保険終身
年金保険入院保障
3大疾病保険
三大疾病保険
生命保険三大疾病特約
生命保険3大疾病特約
年金保険比較
年金保険おすすめ
退職年金保険
年金保険終身
個人年金保険比較
個人年金保険終身
個人年金保険一時払い
個人年金比較
個人年金終身
個人年金比較一時払い
収入保障保険比較
収入保証保険比較
収入補償保険
定期付終身保険見直し
定期付き終身保険
生命保険定期付終身
こども保険比較
こども保険学資保険
子供保険比較
生命保険節約
保険節約
家計節約保険
家計節約生命保険
生命保険見積もり比較
生命保険必要保障額
必要保障額計算
必要保障額試算
生命保険選び方
生命保険選び方夫婦
生命保険選び方女性
医療保険選び方
医療保険必要
子供医療保険必要
死亡保障必要額
生命保険死亡保険
個人年金保険選び方
生命保険格付け
生命保険格付け一覧
生命保険格付け最新
生命保険格付けランキング
学資保険比較
学資保険おすすめ
学資保険比較一覧
生命保険見直しポイント
保険相談無料
保険相談窓口
保険相談見直し
保険相談店舗
ネット生保比較
生保格付け
医療保険比較共済
家事代行
家事代行料理
家事代行文京区
家事代行・足立区
家事代行・荒川区
家事代行・板橋区
家事代行・江戸川区
家事代行・大田区
家事代行・葛飾区
家事代行・北区
家事代行・江東区
家事代行・品川区
家事代行・渋谷区
家事代行・新宿区
家事代行・杉並区
家事代行・墨田区
家事代行・世田谷区
家事代行・台東区
家事代行・千代田区
家事代行・中央区
家事代行・豊島区
家事代行・中野区
家事代行・練馬区
家事代行・港区
家事代行・目黒区
ベビーシッター・キッズシッター
家政婦・料金
家政婦派遣
家政婦紹介
家政婦時給
家政婦相場
お手伝いさん派遣
住み込み・お手伝いさん
お手伝いさん・相場
お手伝いさん・紹介
お手伝いさん
ハウスキーパー
ハウスキーパー料金
ハウスキーパー派遣
ハウスクリーニング
ハウスクリーニング料金
ハウスクリーニング料金相場
ハウスクリーニング比較
病院付き添い
病院付き添いヘルパー
入院付き添い
子供入院付き添い
食事介助
高齢者食事介助
介護食事介助
通院待機
通院介助
入浴介助
介護入浴・介助
高齢者入浴介助
排泄介助
介護・排泄介助
移乗介助
車椅子・移乗介助
介護・移乗介助
乗降介助
車椅子・介助
見守りサービス
高齢者見守りサービス
高齢者・見守り
付き添い看護
付き添いサービス
付き添い婦
付添婦
付添婦・看護
病院・付添婦
病院・付添
入院・付添
付添介護
体位変換
介護・体位変換
看護・体位変換
口腔ケア
高齢者・口腔ケア
介護・口腔ケア
話し相手が欲しい
老人・話し相手
話し相手・バイト
話し相手がいない
話し相手サービス
高齢者・話し相手
お話し相手
買い物代行
高齢者・買い物代行
買い物代行・バイト
買い物代行・アルバイト
庭の手入れ
庭の手入れ・雑草
庭木の手入れ
引越し準備
引越し準備・荷造り
結婚・引越し準備
引越し片付け
家事全般
重介護
ヘルパー・通院介助
通院介助・待ち時間
身の回りの世話
送迎
子供・送迎
幼稚園・送迎
保育園・送迎
ベビーシッター送迎
幼稚園・送り迎え
保育園・送り迎え
子供・送り迎え
小学生・送り迎え
ベビーシッター・送り迎え
塾・送り迎え
習い事・送り迎え
子供の世話
子供の面倒
介護
子供・遊び相手
留守番
留守番サービス
お留守番
お留守番サービス
療養中・介助
掃除屋
お掃除屋
入院中・家事
出産・入院中
育児中・家事
一時帰宅中・介護
認知症・介護
認知症・介護・家族
認知症・介護・ストレス
旅行中・水やり
旅行中・水遣り
旅行中・植物
旅行中・防犯
旅行中・洗濯
草むしり
庭の草むしり
雑草の草むしり
炊事
料理代行
お料理代行
おまかせさん・家事代行
やさしい手・おまかせさん
ビリヤード動画
ビリヤード・プロ
ビリヤード・プロ・動画
ビリヤード・プロ・ブログ
ビリヤード・プロ・賞金
ビリヤード・プロ・女性
ビリヤード・テクニック
ビリヤード・テクニック・マッセ
ビリヤード初心者
ビリヤード初心者・練習
ビリヤード初心者・キュー
ビリヤード初心者・テクニック
ビリヤード初心者・フォーム
ビリヤード練習
ビリヤード練習方法
ビリヤード練習・初心者
ビリヤード練習・自宅
ビリヤード練習・家
ビリヤード・ブリッジ
ビリヤード・ブリッジ・組み方
ビリヤード・キュー
球撞(たまつき)
玉突き
撞球(どうきゅう)
billiard
ダーツ投げ方
ダーツ投げ方・コツ
ダーツ投げ方・基本
ダーツ投げ方・動画
ダーツ投げ方・グリップ
ダーツ投げ方・押し出す
ダーツ投げ方・回転
ダーツ投げ方・プッシュ
ダーツ投げ方・手首
ダーツ投げ方・肘
ダーツ投げ方・効き目
ダーツ投げ方・利き目
ダーツ動画
ダーツ動画プロ
ダーツ動画フォーム
ダーツ動画・投げ方
ダーツ・ルール
ダーツ・ルール・距離
ダーツ・ルール・クリケット
ダーツ・ルール・カウントアップ
ダーツ・ルール・初心者
ダーツ初心者
ダーツ初心者おすすめ
ダーツ初心者・重さ
ダーツ初心者・購入
ダーツ初心者セット
ダーツ初心者・投げ方
ダーツ初心者・バレル
ダーツ初心者・練習
ダーツ初心者・カウントアップ
ダーツ初心者・オススメ
ダーツ通販ランキング
ダーツ通販・初心者
ダーツショップ
ダーツショップ店舗
ダーツショップ通販
ダーツ通販・ケース
ダーツ通販・激安
ロングボード
フォーム作成
スイングプレーン
崖っぷち恋愛
金持ちサラリーマン
変性意識
外国語学習法
軸馬
バナー
ppcライティング
ヤフオク横流し
大川慶次郎・THE.TABOO
楽店
ホームページ作成
TOEFL iBT
アドセンスPAP
山本伸一の日経225先物
HyperBlogger
文章暗記法
モバイルSEO対策
ハーベスト情報起業戦略
AdSense systematic package
パチンコ初心者
90日間 マイトレ
超魔術マジック
即販プレミアムパック
FXスキャルピングメソッド
60日間の簡単発毛
少年A
キャバクラの帝王
英検1級2次試験対策
心理誘導メール
超速英語脳育成
登録くん
GOGO携帯アフィリエイト
ADQ System
Count Down Booster
ツインズ 辻ちゃん
ただ痩せる方法
MTテンプレートZERO2
本は定価で買うな
彼氏持ちの可愛い女の子
店員ゲットの帝王
マーベリック式デイトレ
フランス語超速マスター
TOEFL iBT 最速攻略
ブレイク2008
シークレットV
ナンパトークテクニック
adult affiliate
TabDeCapture
就職活動完全攻略
中古車ビジネス開業
トリプルマグナム馬券術
携帯アフィリエイトビデオマニュアル
ニッチアダルト
セフレをゲット
たたき上げ中国語学習法
悪魔のステップメール
儲かる商品リスト
わらをもすがる
日米格差 儲ける イーベイ ヤフオク
風俗嬢を落とす
プロフィットキング
T式音読法
ランまる
90日でかなえる3つの方程式
恋愛商材大百科
3分間出会い量産
コメントホワイトハット
ロングボードとは
ロングボード・テクニック
サーフィン・ロングボード
サーフィン・ロングボード・初心者
サーフィン・ロングボード・長さ
ロングボード・フィン