2017-10-06 85 views
0

我一直贯彻集团4图像压缩算法,试图将一些文件(不TIFF格式),类似于人在这个问题:Algorithm issue with TIFF CCITT Group 4 decompression (T.6)第4组解压缩 - 在参考线或编码线的颜色上执行Pass Mode代码?

我已经找到了一些重要的资源这样做,但我有一个问题。我发现当遇到传递模式时,接下来的比特将是运行长度为b1b2的编码。这是以参考线的颜色还是编码线?他们会相反,所以我不知道如何对待它。我自然会认为你编码的颜色是编码线,所以这就是你所要做的,而且游程长度对于参考线的颜色来说是一个正常的长度,这意味着它应该被更好地压缩以便使用参考线的颜色代码。

那它是哪一个呢?

下面是我已经使用参考一些链接:

https://www.itu.int/rec/dologin_pub.asp?lang=e&id=T-REC-T.6-198811-I!!PDF-E&type=items http://www.fileformat.info/format/cals/egff.htm http://www.fileformat.info/mirror/egff/ch09_05.htm

https://books.google.com.au/books?id=LHCY4VbiFqAC&lpg=PA253&ots=N3w5NkHek8&dq=group%204%20two%20dimensional%20bit&pg=PA254#v=onepage&q=group%204%20two%20dimensional%20bit&f=false

https://books.google.com.au/books?id=c9OoCAAAQBAJ&lpg=PA96&ots=sGKb9m76a0&dq=group%204%20two%20dimensional%20bit&pg=PA98#v=onepage&q=group%204%20two%20dimensional%20bit&f=false

回答

1

的通行码不具有以下的任何编码的比特,它只是意味着将当前的X位置提前到下一个参考位置相同颜色的位置。对于G4标准变量名称,这是如何处理密码:

< switch statement on G4 code > 
... 
case PASS_CODE: // A0 = B2, iRef+=2 
    iReference++; // skip B1 
    a0 = pRefLine[iReference++]; // B2 - next reference pos of the same color 
    break; 
+0

你知道我其实认为没有任何意义,因为你不需要它们。但我在某处读过一些说他们在那里的东西......谢谢! – Nacht

+0

我的第一本谷歌书籍链接,表5.32 – Nacht