发明名称 用于视频图像传输的信源信道联合解码方法
摘要 本发明公开了用于视频图像传输的信源信道联合解码方法,适用于视频传输标准H.264,HEVC视频传输,以及JPEG2000的图像传输,主要包括两个模块,联合信源信道算术解码器及联合信源信道变长码解码器,联合信源信道算术码解码器输出的解码信息可以作为联合信源信道变长码解码器的输入信息,经过联合变长码格状图搜索来获得最佳的解码符号序列。同时在联合信源信道算术码解码器部分可以利用变长码的码字结构信息来删除无效搜索路径,提高解码性能。该方法计算复杂度低,延时小,适用于实际的视频及图像传输系统。
申请公布号 CN102655588B 申请公布日期 2015.01.28
申请号 CN201210122095.5 申请日期 2012.04.24
申请人 浙江工商大学 发明人 王粤;钱益彬
分类号 H04N19/44(2014.01)I;H04L1/00(2006.01)I 主分类号 H04N19/44(2014.01)I
代理机构 杭州裕阳专利事务所(普通合伙) 33221 代理人 江助菊
主权项 用于视频图像传输的信源信道联合解码方法,包括对长度为N的信源符号序列a={a<sub>1</sub>,a<sub>2</sub>,...a<sub>i</sub>,...a<sub>N</sub>}经过CABAC的二值化编码器做二值化编码,输出长度为S的二进制序列b={b<sub>1</sub>,b<sub>2</sub>,...b<sub>S</sub>};对所述二进制序列经过CABAC的二值算术码编码器进行二值算术码编码,输出长度为M的二进制序列x={x<sub>1</sub>,x<sub>2</sub>,...x<sub>M</sub>},经过二进制相移键控BPSK调制及信道编码成序列y={y<sub>1</sub>,y<sub>2</sub>,...y<sub>N</sub>}后送入噪声信道;在接收端收到序列<img file="FDA0000156708950000011.GIF" wi="300" he="69" />后经过信道解码得到输出信息<img file="FDA0000156708950000012.GIF" wi="157" he="68" />所述序列<img file="FDA0000156708950000013.GIF" wi="286" he="66" />为序列y={y<sub>1</sub>,y<sub>2</sub>,...y<sub>N</sub>}经过噪声信道得到的序列;所述<img file="FDA0000156708950000014.GIF" wi="18" he="42" />为x序列经噪声信道得到的序列;其特征在于,包括如下步骤:11)在联合信源信道算术码解码器通过公式(a)进行解码:<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><mi>P</mi><mrow><mo>(</mo><mi>x</mi><mo>/</mo><mover><mi>x</mi><mo>^</mo></mover><mo>)</mo></mrow><mo>=</mo><mfrac><mrow><mi>P</mi><mrow><mo>(</mo><mover><mi>x</mi><mo>^</mo></mover><mo>/</mo><mi>x</mi><mo>)</mo></mrow><mi>P</mi><mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow></mrow><mrow><mi>P</mi><mrow><mo>(</mo><mover><mi>x</mi><mo>^</mo></mover><mo>)</mo></mrow></mrow></mfrac><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mi>a</mi><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000156708950000015.GIF" wi="1093" he="162" /></maths>所述<maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><mi>P</mi><mrow><mo>(</mo><mover><mi>x</mi><mo>^</mo></mover><mo>/</mo><mi>x</mi><mo>)</mo></mrow><mo>=</mo><munderover><mi>&Pi;</mi><mrow><mi>i</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>M</mi><mo>-</mo><mn>1</mn></mrow></munderover><mi>P</mi><mrow><mo>(</mo><msub><mover><mi>x</mi><mo>^</mo></mover><mi>i</mi></msub><mo>/</mo><msub><mi>x</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>,</mo></mrow>]]></math><img file="FDA0000156708950000016.GIF" wi="474" he="113" /></maths>所述<maths num="0003" id="cmaths0003"><math><![CDATA[<mrow><mi>P</mi><mrow><mo>(</mo><msub><mover><mi>x</mi><mo>^</mo></mover><mi>i</mi></msub><mo>/</mo><msub><mi>x</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>=</mo><mfenced open='{' close=''><mtable><mtr><mtd><mfrac><mrow><mi>exp</mi><mrow><mo>(</mo><mi>LLR</mi><mrow><mo>(</mo><msub><mover><mi>x</mi><mo>^</mo></mover><mi>i</mi></msub><mo>)</mo></mrow><mo>)</mo></mrow></mrow><mrow><mn>1</mn><mo>+</mo><mi>exp</mi><mrow><mo>(</mo><mi>LLR</mi><mrow><mo>(</mo><msub><mover><mi>x</mi><mo>^</mo></mover><mi>i</mi></msub><mo>)</mo></mrow><mo>)</mo></mrow></mrow></mfrac></mtd><mtd><mi>if</mi></mtd><mtd><msub><mi>x</mi><mi>i</mi></msub><mo>=</mo><mn>0</mn></mtd></mtr><mtr><mtd><mfrac><mn>1</mn><mrow><mn>1</mn><mo>+</mo><mi>exp</mi><mrow><mo>(</mo><mi>LLR</mi><mrow><mo>(</mo><msub><mover><mi>x</mi><mo>^</mo></mover><mi>i</mi></msub><mo>)</mo></mrow><mo>)</mo></mrow></mrow></mfrac></mtd><mtd><mi>if</mi></mtd><mtd><msub><mi>x</mi><mi>i</mi></msub><mo>=</mo><mn>1</mn></mtd></mtr></mtable></mfenced><mo>;</mo></mrow>]]></math><img file="FDA0000156708950000017.GIF" wi="833" he="319" /></maths>所述P(x)=P(b)=2<sup>‑M</sup>;所述<maths num="0004" id="cmaths0004"><math><![CDATA[<mrow><mi>P</mi><mrow><mo>(</mo><mover><mi>x</mi><mo>^</mo></mover><mo>)</mo></mrow><mo>&ap;</mo><munderover><mi>&Pi;</mi><mrow><mi>i</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>M</mi><mo>-</mo><mn>1</mn></mrow></munderover><mi>P</mi><mrow><mo>(</mo><msub><mover><mi>x</mi><mo>^</mo></mover><mi>i</mi></msub><mo>)</mo></mrow><mo>=</mo><munderover><mi>&Pi;</mi><mrow><mi>i</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>M</mi><mo>-</mo><mn>1</mn></mrow></munderover><mfrac><mrow><mi>P</mi><mrow><mo>(</mo><msub><mover><mi>x</mi><mo>^</mo></mover><mi>i</mi></msub><mo>/</mo><msub><mi>x</mi><mi>i</mi></msub><mo>=</mo><mn>1</mn><mo>)</mo></mrow><mo>+</mo><mi>P</mi><mrow><mo>(</mo><msub><mover><mi>x</mi><mo>^</mo></mover><mi>i</mi></msub><mo>/</mo><msub><mi>x</mi><mi>i</mi></msub><mo>=</mo><mn>0</mn><mo>)</mo></mrow></mrow><mn>2</mn></mfrac><mo>;</mo></mrow>]]></math><img file="FDA0000156708950000018.GIF" wi="990" he="137" /></maths>12)联合信源信道算术码解码采用广度优先的M堆栈算法来搜索最佳路径,在每个搜索深度i,根据路径度量公式<maths num="0005" id="cmaths0005"><math><![CDATA[<mrow><mi>m</mi><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>M</mi><mo>-</mo><mn>1</mn></mrow></munderover><msub><mi>m</mi><mi>i</mi></msub><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>n</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>M</mi><mo>-</mo><mn>1</mn></mrow></munderover><mrow><mo>(</mo><mi>log</mi><mi>P</mi><mrow><mo>(</mo><msub><mover><mi>x</mi><mo>^</mo></mover><mi>i</mi></msub><mo>/</mo><msub><mi>x</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>+</mo><mi>log</mi><mi>P</mi><mrow><mo>(</mo><msub><mi>x</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>-</mo><mi>log</mi><mrow><mo>(</mo><msub><mover><mi>x</mi><mo>^</mo></mover><mi>i</mi></msub><mo>)</mo></mrow><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000156708950000019.GIF" wi="1070" he="130" /></maths>只保留N个具有最大度量的状态节点用于后续扩展,而每一个状态节点的扩展有两条路径,一个为0,另一个为1;在扩展路径时检测当前的解码路径上的输出序列是否是合法的后续变长码解码器的变长码码字,若不是,则删除当前路径,当搜索深度达到二值序列的长度时,则搜索结束,选择度量值最大的路径后向逐步递推就可以得到最优估计序列;13)将得的最优估计序列作为联合信源信道变长码解码器的输入,在联合信源信道变长码解码器中采用格状图搜索方式来计算解码的最佳路径,在格状图中在每一个比特解码时刻,将所有有效路径按汉明距离进行排序,只保留度量值最小的K条路径,当解码深度等于接收到的比特序列的长度时,比较当前所有存留的路径,具有最小的汉明距离且其输出的解码符号数符合编码符号数的那条路径就可以认为是最优路径,该路径通过后向递推可获得输出解码符号序列。
地址 310018 浙江省杭州市下沙高教园区学正街18号