像素因果場論(PCFT / T₃ 補論四)補充
第一部分:遞歸格點細化的渲染正確性基座
第二部分:ASCII-Player 改造規格(本地 Agent MVP 交付)
作者:Neo.K (許筌崴) 機構:EveMissLab (一言諾科技有限公司) 日期:2026年6月 文件性質:補論四之渲染正確性附論 + 實驗載台工程規格 對應主文件:《像素因果場論》(T₃ 補論四),特別是 §6(因果場延伸)與 §6.5(遞歸格點細化)
第一部分:渲染正確性基座(論文補充)
S0. 補充動機
補論四 §6.5 將超解析度定義為遞歸過程:插入半整數格點 → 因果函數 φ̂ 從異色鄰居推算填值 → 解析度 ×2 → 遞歸。此機制隱含一個前提——存在一個數值正確的連續場可供推算——但補論四未指定該場應在何種數值基座上表示與運算。本補充補上這個基座,並劃定本框架可誠實宣稱的範圍。它不修改 §6.5 的機制,只指定機制賴以正確運行的坐標系。
S1. 線性光公理
公理 S1。 連續因果場 F 定義於線性光空間(linear light),而非 gamma 編碼空間。
說明。 一般影像以 sRGB 儲存,sRGB 對輻射量施加了非線性傳遞函數(近似 γ≈2.2 的編碼)。此編碼是顯示與儲存的有損坐標,不是光的物理表示。F 所主張的「光影連續統」活在線性軸上——兩束光的疊加在線性空間是加法,在 sRGB 空間不是。
命題 S1.1(填值空間正確性)。 在 sRGB 空間對異色鄰居執行因果填值(任何加權平均或內插形式),會系統性扭曲邊界能量:中間調被壓暗,異色鏈的能量梯度被非線性壓縮。故 φ̂ 的推算必須在 F 被 decode 至線性空間後執行,輸出時再 encode 回顯示空間。
推論 S1.2。 §6.5 演算法每一步「因果場填值」皆應註記為「於線性光空間執行」。此為單點正確性修正,其重要性高於後續所有色彩空間升級——基座軸選錯,遞歸從第一輪起即在被扭曲的數軸上累積誤差。
S2. 動態範圍守恆
命題 S2。 8-bit 整數表示(每通道 256 階)在遞歸細化下會崩塌為帶狀偽影(banding),使 RSCD 因量化而非因機制失效。
論據。 §6.5 為遞歸 ×2 過程,每輪在已填值上再插值再填補。每輪的捨入誤差在固定 256 階下累積,約於第三至第四輪(此深度為假設,待實測標定)開始出現可見階梯,連續統被框架自身的量化重新離散化。此非機制缺陷,而是表示精度缺陷。
推論 S2.1(精度下界,假設)。 設目標遞歸深度為 n,欲使量化不成為 RSCD 崩塌的主因,累積精度應 ≥ 某與 n 單調相關的下界(具體形式待標定,假設為線性於 n 的有效位元數增量)。實作上以浮點(Float32)或 ≥16-bit 累積,僅在落地顯示時降回 8-bit。
註。 S1 與 S2 是正交的兩個瓶頸:S1 是軸選錯(gamma),S2 是軸上刻度不夠細(位元深度)。兩者皆與「顏色種類多寡」無關——這是「光譜太少」一語的精確分解:少的不是色目,是承載光的軸的維度與刻度。
S3. φ̂ 的圖學定位
命題 S3。 φ̂ 不是內容無關的固定重建核,而屬於內容自適應重建族(content-adaptive / edge-aware reconstruction),其導引信號為因果場結構,而非空間鄰近度。
對照。 雙線性、bicubic、Lanczos 等固定核重建對所有位置施加同一空間權重,不辨邊界,故在異色邊界處模糊。φ̂ 沿異色鏈推算,等價於以因果場為導引的引導式重建(guided / joint-bilateral 一族)。
判別命題 S3.1。 φ̂ 與既有 guided upsampling 的差異,不在演算法骨架(同屬引導式重建),而在導引信號的來源:既有方法以高解析引導圖(如同場景的另一通道)為導引;φ̂ 以因果場 F 的異色二部結構為導引。此差異是本框架送審時的第一道必答題——「你這跟 guided upsampling 差在哪」——答案須鎖定於此:導引信號是因果場拓撲,非空間或跨通道鄰近。
S4. 誠實宣稱邊界
命題 S4。 任何擷取所得的影像緩衝 S(相機、編碼、解碼之產物)已是真實光源場 F 的有損投影:已 gamma 編碼、已 tone-map、已裁剪入 LDR。故 S ≠ F。
推論 S4.1(可證明範圍)。 本框架可證、可量、可被審查者,為「因果填補相對於擷取場 S 的跨尺度 RSCD 保持」,而非「還原真實連續光源 F」。前者有 ground truth(S 自身在更高採樣密度下的值),後者無——因為 F 已在擷取階段被破壞。
推論 S4.2(防線)。 論文與 demo 不得宣稱「重建真實光源連續統」。一旦如此宣稱,一句「你的 ground truth 本身已非連續統」即可打穿全部結論。標的須釘死於 S4.1 的前者:本機制的當量是「優於幻覺生成的尺度一致性」,可被逐尺度誤差曲線證偽或證成;不是「上帝視角的光的重建」。
S5. 與補論四的接點
- §6.1–6.4 的 φ 估算敘述,應補註 φ̂ 的引導式重建族歸屬(S3),使其對接既有圖學基元而非懸空自創。
- §6.5 演算法框架的每一步填值,應補註「於線性光空間、浮點精度執行」(S1.2、S2.1)。
- §7(與現有超解析度技術對比)應補入 S4 的宣稱邊界,將本框架的優越性主張限定於「相對於擷取場的尺度一致性」,避免與生成路線在「細節真實性」上做不可證的比較。
第二部分:ASCII-Player 改造規格(本地 Agent MVP)
本部分為工程交付規格,供本地 agent 實作 MVP。標的為將開源專案 ASCII-Player 的 Direct 播放器改造為 PCFT §6.5 遞歸格點細化的可視化暨可證偽測試台。第一部分的 S1–S4 為本規格的正確性約束。
P0. 標的與既有基礎
改造對象:ASCII-Player-Direct.html(Burger Studio,授權允許個人與商業使用,免署名;僅禁轉售圖示/本體包本身)。
既有可用基礎(已驗):
- 管線已將來源(影片/圖片/相機)繪入隱藏
<canvas>,並以ctx.getImageData取得全解析度幀緩衝imageData.data(RGBA,每像素)。此即擷取場 S,是 §6.5 的源場與 ground truth。 - 「壓縮程度」滑桿(
compression,for i += compression)即格點尺寸,為現成的「格子放大縮小」旋鈕。 - 9 色 emoji 量化為顯示層;本改造將其自細化路徑剝離,僅保留為可選顯示模式。
P1. 改造後核心管線
1. 取源:S = getImageData(canvas) // sRGB 8-bit RGBA
2. 入軸:S_lin = sRGB→linear(S) // Float32,線性光(S1)
3. 粗格層 L0:對 S_lin 以初始 cell size c0 做 box-filter 下採樣
4. 遞歸細化 for k = 0..n-1:
a. 在 L_k 格點間插入半整數格點(奇偶索引分裂)
b. 對每個新格點,φ̂ 填值:
- 找異色鄰居(二部結構,已填值)
- 引導式重建,導引 = 因果場結構(S3)
- 全程 Float32 線性光累積(S2)
c. L_{k+1} = L_k ∪ 新格點;解析度 ×2
d. 計算並記錄本輪度量 M_k(見 P3)
5. 落地:L_n → linear→sRGB → 顯示(emoji/灰階/像素塊任一)
P2. 兩種運行模式(對應岔路 A/B)
- 測試模式(thesis,MVP 重點):步驟 4b 的導引讀取 S_lin(擷取場)作為 ground-truth 引導,逐輪量 M_k 對照內插 baseline。此模式產出可證偽的數字——證成或證偽「因果填補 vs 幻覺/內插」。
- 盲放大模式(blind):步驟 4b 僅用已填格點、不看 S_lin,為真實超解析度用例。次要,MVP 可後置。
注意(S1 第一部分結論):盲模式若退化為「在量化格子間內插」即岔路 A,證不出東西。MVP 先做測試模式。
P3. 度量
- 逐輪度量 M_k:本輪填補結果與 S_lin 在對應尺度下的一致性。MVP 以 PSNR/SSIM(於線性空間計算)為 proxy,並設 bilinear 上採樣為 baseline 對照組。
- M_k 為假設度量,待主論文 RSCD 之正式定義對齊後替換。MVP 階段只需 M_k 能分辨「因果填補曲線」與「bilinear baseline 曲線」是否顯著分離。
- 輸出:逐輪誤差曲線(因果 vs baseline)疊圖,與逐輪格點分裂填滿的可視化。
P4. MVP 驗收標準
- 線性光管線正確:sRGB→linear→sRGB round-trip 在無細化時偏差為 0(gamma 無偏,S1)。
- 浮點累積:遞歸 ≥4 輪後無可見 banding(S2)。
- 可證偽性:測試模式下,因果填補的逐輪 M_k 曲線顯著優於 bilinear baseline;若不顯著,則本 MVP 已證偽當前 φ̂ 實作(或機制本身),此為有效負結果,須如實呈現,不得調參掩蓋。
- 可視化:逐輪格點分裂與填滿過程可見,便於檢視因果場是否沿異色邊界正確延伸。
P5. 非目標(MVP scope cut)
- 不實作 RSCD 的完整形式定義(沿用主論文,MVP 用 P3 proxy)。
- 不做多波長/光譜表示(第一部分 S 升級項,非前置)。
- 不做 HDR tone-map 反演(受 S4 限制,超出可證範圍)。
- 不上 GPU;MVP 以 CPU/純 JS 實作,慢無妨,正確性優先於速度。
P6. Agent 最小起手序
- Fork
ASCII-Player-Direct.html,抽出refreshScreen的取源段,接上 P1 步驟 1–2(linear float round-trip),先單獨驗 P4.1。 - 實作 P1 步驟 3–4 的遞歸迴圈與奇偶索引格點分裂,Float32Array 承載,驗 P4.2。
- 接 P2 測試模式與 P3 度量,產出對照曲線,驗 P4.3、P4.4。
- emoji/灰階顯示降為可切換的落地選項,與細化路徑解耦。
文件性質:渲染正確性補充 v0.1 + 載台改造規格 v0.1 對應主文件:《像素因果場論》T₃ 補論四 §6 / §6.5 作者:Neo.K (許筌崴),EveMissLab,台灣
補論四說的是格點如何越填越滿,本補充說的是填之前要先把軸鋪對:光活在線性的軸上,刻度要細到遞歸吃不光,而你手上的影像,從來不是光本身,只是光留下的一張收據。據著收據可以驗算它自己,但別把收據當成那束光。先認清能證明什麼,再讓格點去填它。