當decoding entropy encoded DC values in JPEG(或entropy encoded prediction differences in lossless JPEG),我如何區分1
位已填充填充標記之前的一個字節和霍夫曼編碼值?處理填充/東西位熵編碼JPEG
例如,如果我看到:
0xAF 0xFF 0xD9
,我已經消耗位[0xA]
,我怎麼能知道如果下一個0xF
是填充或應該被解碼?
這是從JPEG規格:
F.1.2.3字節填充
爲了提供用於其可以位於在上述壓縮圖像數據,而無需解碼標記代碼 提供代碼空間, 使用字節填充。
無論何時,在正常編碼過程中,在代碼字符串中創建了字節值X'FF',則在代碼字符串中填充一個X'00'字節爲 。如果在「0xFFFF」字節之後檢測到X'00'字節,則解碼器必須丟棄它。如果該字節不爲零,則檢測到標記 ,並且應解釋爲完成掃描解碼所需的 範圍。
標記 的字節對齊是通過用1位填充不完整的字節來實現的。如果使用1位的填充產生一個X'FF'值,則在添加 標記之前填充零字節。
如果我在點擊重新開始標記之前擊中了EOI(0xFF,0xD9),怎麼辦? –
如果您在未解碼所有MCU的情況下進入EOI市場,則數據有問題。 – user3344003
[這表示](https://en.wikipedia.org/wiki/JPEG#Syntax_and_structure)使用「DRI」是可選的。 –