# 视频超分辨率

Source: [https://docs.qualcomm.com/doc/80-70022-50SC/topic/video-super-resolution.html](https://docs.qualcomm.com/doc/80-70022-50SC/topic/video-super-resolution.html)

**gst-ai-superresolution** 应用程序可以用低分辨率输入生成高分辨率视频帧。

下图展示了一个 pipeline：从文件源接收视频流作为输入，使用 LiteRT 通过超分辨率模块对其进行处理，并显示输出。

有关 pipeline 中使用的插件的信息，请参见 [Pipeline 流](https://docs.qualcomm.com/doc/80-70022-50SC/topic/video-super-resolution.html#video-super-resolution__section_kkk_xhz_lcc)。

Figure : gst-ai-superresolution pipeline（Wayland 显示）
            
            <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by Microsoft Visio, SVG Export gst_ai_superresolution_pipeline.svg gst_ai_superresolution_pipeline -->
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ev="http://www.w3.org/2001/xml-events" xmlns:v="http://schemas.microsoft.com/visio/2003/SVGExtensions/" width="13.1281in" height="2.27808in" viewbox="0 0 945.225 164.022" xml:space="preserve" color-interpolation-filters="sRGB" class="st14"><v:documentproperties v:langid="1033" v:viewmarkup="false"></v:documentproperties>
<style>.svg-1 .st1 { fill: #fafafa; stroke: none; stroke-linecap: butt; stroke-width: 0.75 }
.svg-1 .st2 { fill: #d2d7e1; stroke: none; stroke-linecap: butt; stroke-width: 0.75 }
.svg-1 .st3 { stroke: #000000; stroke-linecap: butt; stroke-width: 0.75 }
.svg-1 .st4 { fill: none; stroke: #000000; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.5 }
.svg-1 .st5 { stroke: #000000; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.5 }
.svg-1 .st6 { fill: #007884; stroke: none; stroke-linecap: butt; stroke-width: 0.75 }
.svg-1 .st7 { fill: #ffffff; font-family: Roboto; font-size: 0.874992em }
.svg-1 .st8 { fill: #000000; stroke: none; stroke-linecap: butt; stroke-width: 0.75 }
.svg-1 .st9 { fill: #2a2aea; stroke: none; stroke-linecap: butt; stroke-width: 0.75 }
.svg-1 .st10 { fill: none; stroke: none; stroke-linecap: butt; stroke-width: 0.75 }
.svg-1 .st11 { fill: #000000; font-family: Roboto; font-size: 0.874992em }
.svg-1 .st12 { fill: none }
.svg-1 .st13 { fill: #000000; font-family: SimHei; font-size: 0.874992em }
.svg-1 .st14 { fill: none; fill-rule: evenodd; font-size: 12px; overflow: visible; stroke-linecap: square; stroke-miterlimit: 3 }</style>
<g v:mid="0" v:index="1" v:groupcontext="foregroundPage">	<title>gst_ai_superresolution_pipeline</title>	<v:pageproperties v:drawingscale="1" v:pagescale="1" v:drawingunits="19" v:shadowoffsetx="9" v:shadowoffsety="-9"></v:pageproperties>	<g id="shape3-1" v:mid="3" v:groupcontext="shape" transform="translate(0.374954,-0.374908)">		<title>Sheet.3</title>		<path d="M0 158.4 A5.62513 5.62513 -180 0 0 5.62 164.02 L938.85 164.02 A5.62513 5.62513 -180 0 0 944.47 158.4 L944.47					 6.37 A5.62513 5.62513 -180 0 0 938.85 0.75 L5.62 0.75 A5.62513 5.62513 -180 0 0 0 6.37 L0 158.4 Z" class="st1"></path>	</g>	<g id="shape4-3" v:mid="4" v:groupcontext="shape">		<title>Sheet.4</title>		<path d="M939.22 0.75 C942.12 0.75 944.47 3.11 944.47 6 L944.47 158.02 C944.47 160.92 942.12 163.27 939.22 163.27 L6					 163.27 C3.11 163.27 0.75 160.92 0.75 158.02 L0.75 6 C0.75 3.11 3.11 0.75 6 0.75 L939.22 0.75 ZM939.22 0					 L6 0 C2.69 0 0 2.69 0 6 L0 158.02 C0 161.34 2.69 164.02 6 164.02 L939.22 164.02 C942.54 164.02 945.22 161.34					 945.22 158.02 L945.22 6 C945.22 2.69 942.54 0 939.22 0 Z" class="st2"></path>	</g>	<g id="shape13-5" v:mid="13" v:groupcontext="shape" transform="translate(1056.75,46.3117) rotate(90)">		<title>Sheet.13</title>		<path d="M0 164.02 L15.63 164.02" class="st3"></path>	</g>	<g id="group14-8" transform="translate(876.975,-119.979)" v:mid="14" v:groupcontext="group">		<title>Sheet.14</title>		<g id="group15-9" v:mid="15" v:groupcontext="group">			<title>Sheet.15</title>			<g id="shape16-10" v:mid="16" v:groupcontext="shape" transform="translate(1.8785E-13,-6.3)">				<title>Sheet.16</title>				<path d="M0 161.02 A3.00007 3.00007 -180 0 0 3 164.02 L28.5 164.02 A3.00007 3.00007 -180 0 0 31.5 161.02 L31.5							 144.97 A3.00007 3.00007 -180 0 0 28.5 141.97 L3 141.97 A3.00007 3.00007 -180 0 0 -0 144.97 L0 161.02							 Z" class="st4"></path>			</g>			<g id="shape17-12" v:mid="17" v:groupcontext="shape" transform="translate(9.45,2.84217E-14)">				<title>Sheet.17</title>				<path d="M0 164.02 L12.6 164.02" class="st5"></path>			</g>		</g>		<g id="shape18-15" v:mid="18" v:groupcontext="shape" transform="translate(179.772,157.722) rotate(90)">			<title>Sheet.18</title>			<path d="M0 164.02 L6.3 164.02" class="st5"></path>		</g>	</g>	<g id="shape19-18" v:mid="19" v:groupcontext="shape" transform="translate(15,-41.9383)">		<title>Sheet.19</title>		<desc>filesrc</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="33.375" cy="134.022" width="66.76" height="60"></v:textrect>		<path d="M-0 161.02 A3.00007 3.00007 -180 0 0 3 164.02 L63.75 164.02 A3.00007 3.00007 -180 0 0 66.75 161.02 L66.75 107.02					 A3.00007 3.00007 -180 0 0 63.75 104.02 L3 104.02 A3.00007 3.00007 -180 0 0 -0 107.02 L0 161.02 Z" class="st6"></path>		<text x="18.99" y="137.62" class="st7" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>filesrc</text>		</g>	<g id="group20-21" transform="translate(81.75,-68.9465)" v:mid="20" v:groupcontext="group">		<title>Sheet.20</title>		<g id="shape21-22" v:mid="21" v:groupcontext="shape" transform="translate(0,-2.99181)">			<title>Sheet.21</title>			<path d="M0 164.02 L9.48 164.02" class="st3"></path>		</g>		<g id="shape22-25" v:mid="22" v:groupcontext="shape" transform="translate(8.60701,0)">			<title>Sheet.22</title>			<path d="M0 164.02 L5.18 161.03 L0 158.04 L0 164.02 Z" class="st8"></path>		</g>	</g>	<g id="group23-27" transform="translate(841.437,-68.9465)" v:mid="23" v:groupcontext="group">		<title>Sheet.23</title>		<g id="shape24-28" v:mid="24" v:groupcontext="shape" transform="translate(0,-2.99181)">			<title>Sheet.24</title>			<path d="M0 164.02 L9.48 164.02" class="st3"></path>		</g>		<g id="shape25-31" v:mid="25" v:groupcontext="shape" transform="translate(8.60701,0)">			<title>Sheet.25</title>			<path d="M0 164.02 L5.18 161.03 L0 158.04 L0 164.02 Z" class="st8"></path>		</g>	</g>	<g id="shape26-33" v:mid="26" v:groupcontext="shape" transform="translate(95.5902,-41.9383)">		<title>Sheet.26</title>		<desc>qtdemux</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="28.125" cy="134.022" width="56.25" height="60"></v:textrect>		<path d="M0 161.02 A3.00007 3.00007 -180 0 0 3 164.02 L53.25 164.02 A3.00007 3.00007 -180 0 0 56.25 161.02 L56.25 107.02					 A3.00007 3.00007 -180 0 0 53.25 104.02 L3 104.02 A3.00007 3.00007 -180 0 0 -0 107.02 L0 161.02 Z" class="st6"></path>		<text x="7.59" y="137.62" class="st7" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>qtdemux</text>		</g>	<g id="group27-36" transform="translate(151.84,-68.9465)" v:mid="27" v:groupcontext="group">		<title>Sheet.27</title>		<g id="shape28-37" v:mid="28" v:groupcontext="shape" transform="translate(0,-2.99181)">			<title>Sheet.28</title>			<path d="M0 164.02 L9.48 164.02" class="st3"></path>		</g>		<g id="shape29-40" v:mid="29" v:groupcontext="shape" transform="translate(8.607,0)">			<title>Sheet.29</title>			<path d="M0 164.02 L5.18 161.03 L0 158.04 L0 164.02 Z" class="st8"></path>		</g>	</g>	<g id="shape30-42" v:mid="30" v:groupcontext="shape" transform="translate(165.68,-41.9383)">		<title>Sheet.30</title>		<desc>h264parse</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="31.875" cy="134.022" width="63.76" height="60"></v:textrect>		<path d="M0 161.02 A3.00007 3.00007 -180 0 0 3 164.02 L60.75 164.02 A3.00007 3.00007 -180 0 0 63.75 161.02 L63.75 107.02					 A3.00007 3.00007 -180 0 0 60.75 104.02 L3 104.02 A3.00007 3.00007 -180 0 0 -0 107.02 L0 161.02 Z" class="st6"></path>		<text x="7.07" y="137.62" class="st7" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>h264parse</text>		</g>	<g id="group31-45" transform="translate(229.43,-68.9465)" v:mid="31" v:groupcontext="group">		<title>Sheet.31</title>		<g id="shape32-46" v:mid="32" v:groupcontext="shape" transform="translate(0,-2.99181)">			<title>Sheet.32</title>			<path d="M0 164.02 L9.48 164.02" class="st3"></path>		</g>		<g id="shape33-49" v:mid="33" v:groupcontext="shape" transform="translate(8.607,0)">			<title>Sheet.33</title>			<path d="M0 164.02 L5.18 161.03 L0 158.04 L0 164.02 Z" class="st8"></path>		</g>	</g>	<g id="shape34-51" v:mid="34" v:groupcontext="shape" transform="translate(243.27,-41.9383)">		<title>Sheet.34</title>		<desc>V4l2h264dec</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="35.625" cy="134.022" width="71.25" height="60"></v:textrect>		<path d="M0 161.02 A3.00007 3.00007 -180 0 0 3 164.02 L68.25 164.02 A3.00007 3.00007 -180 0 0 71.25 161.02 L71.25 107.02					 A3.00007 3.00007 -180 0 0 68.25 104.02 L3 104.02 A3.00007 3.00007 -180 0 0 0 107.02 L0 161.02 Z" class="st6"></path>		<text x="4.89" y="137.62" class="st7" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>V4l2h264dec</text>		</g>	<g id="group35-54" transform="translate(314.52,-68.9465)" v:mid="35" v:groupcontext="group">		<title>Sheet.35</title>		<g id="shape36-55" v:mid="36" v:groupcontext="shape" transform="translate(0,-2.99181)">			<title>Sheet.36</title>			<path d="M0 164.02 L9.48 164.02" class="st3"></path>		</g>		<g id="shape37-58" v:mid="37" v:groupcontext="shape" transform="translate(8.607,0)">			<title>Sheet.37</title>			<path d="M0 164.02 L5.18 161.03 L0 158.04 L0 164.02 Z" class="st8"></path>		</g>	</g>	<g id="group38-60" transform="translate(724.475,-60.6974)" v:mid="38" v:groupcontext="group">		<title>Sheet.38</title>		<g id="shape39-61" v:mid="39" v:groupcontext="shape" transform="translate(0,-2.99176)">			<title>Sheet.39</title>			<path d="M0 164.02 L37.23 164.02" class="st3"></path>		</g>		<g id="shape40-64" v:mid="40" v:groupcontext="shape" transform="translate(36.357,0)">			<title>Sheet.40</title>			<path d="M0 164.02 L5.18 161.03 L0 158.04 L0 164.02 Z" class="st8"></path>		</g>	</g>	<g id="shape41-66" v:mid="41" v:groupcontext="shape" transform="translate(766.437,-42)">		<title>Sheet.41</title>		<desc>qtivcomposer</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="37.5" cy="134.053" width="75.01" height="59.9383"></v:textrect>		<path d="M6 104.08 L69 104.08 C72.31 104.08 75 106.77 75 110.08 L75 158.83 C75 161.7 72.67 164.02 69.81 164.02 L6 164.02					 C2.69 164.02 0 161.33 0 158.02 L0 110.08 C0 106.77 2.69 104.08 6 104.08 Z" class="st9"></path>		<text x="5.44" y="137.65" class="st7" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>qtivcomposer</text>		</g>	<g id="shape42-69" v:mid="42" v:groupcontext="shape" transform="translate(855.225,-41.9383)">		<title>Sheet.42</title>		<desc>Waylandsink</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="37.5" cy="134.022" width="75.01" height="60"></v:textrect>		<path d="M0 161.02 A3.00007 3.00007 -180 0 0 3 164.02 L72 164.02 A3.00007 3.00007 -180 0 0 75 161.02 L75 107.02 A3.00007					 3.00007 -180 0 0 72 104.02 L3 104.02 A3.00007 3.00007 -180 0 0 0 107.02 L0 161.02 Z" class="st6"></path>		<text x="7.98" y="137.62" class="st7" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>Waylandsink</text>		</g>	<g id="shape47-72" v:mid="47" v:groupcontext="shape" transform="translate(328.308,-41.9383)">		<title>Sheet.47</title>		<desc>tee</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="35.625" cy="134.022" width="71.25" height="60"></v:textrect>		<path d="M0 161.02 A3.00007 3.00007 -180 0 0 3 164.02 L68.25 164.02 A3.00007 3.00007 -180 0 0 71.25 161.02 L71.25 107.02					 A3.00007 3.00007 -180 0 0 68.25 104.02 L3 104.02 A3.00007 3.00007 -180 0 0 0 107.02 L0 161.02 Z" class="st6"></path>		<text x="28.35" y="137.62" class="st7" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>tee</text>		</g>	<g id="group48-75" transform="translate(399.558,-68.9465)" v:mid="48" v:groupcontext="group">		<title>Sheet.48</title>		<g id="shape49-76" v:mid="49" v:groupcontext="shape" transform="translate(0,-2.99181)">			<title>Sheet.49</title>			<path d="M0 164.02 L9.48 164.02" class="st3"></path>		</g>		<g id="shape50-79" v:mid="50" v:groupcontext="shape" transform="translate(8.60701,0)">			<title>Sheet.50</title>			<path d="M0 164.02 L5.18 161.03 L0 158.04 L0 164.02 Z" class="st8"></path>		</g>	</g>	<g id="shape54-81" v:mid="54" v:groupcontext="shape" transform="translate(727.447,-64.7007)">		<title>Sheet.54</title>		<desc>sink_1</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="31.5" cy="157.722" width="63" height="12.6"></v:textrect>		<rect x="0" y="151.422" width="63" height="12.6" class="st10"></rect>		<text x="0" y="160.87" class="st11" v:langid="1033"><v:paragraph></v:paragraph><v:tablist></v:tablist>sink_1</text>		</g>	<g id="group55-84" transform="translate(399.558,-90.6957)" v:mid="55" v:groupcontext="group">		<title>Sheet.55</title>		<g id="shape56-85" v:mid="56" v:groupcontext="shape" transform="translate(0,-2.99181)">			<title>Sheet.56</title>			<path d="M0 164.02 L361.38 164.02" class="st3"></path>		</g>		<g id="shape57-88" v:mid="57" v:groupcontext="shape" transform="translate(360.501,0)">			<title>Sheet.57</title>			<path d="M0 164.02 L5.18 161.03 L0 158.04 L0 164.02 Z" class="st8"></path>		</g>	</g>	<g id="shape58-90" v:mid="58" v:groupcontext="shape" transform="translate(726.675,-94.797)">		<title>Sheet.58</title>		<desc>sink_0</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="31.5" cy="157.722" width="63" height="12.6"></v:textrect>		<rect x="0" y="151.422" width="63" height="12.6" class="st10"></rect>		<text x="0" y="160.87" class="st11" v:langid="1033"><v:paragraph></v:paragraph><v:tablist></v:tablist>sink_0</text>		</g>	<g id="shape60-93" v:mid="60" v:groupcontext="shape" transform="translate(413.347,-42)">		<title>Sheet.60</title>		<desc>qtimlvconverter</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="45" cy="141.522" width="90.01" height="45"></v:textrect>		<path d="M0 161.02 A3.00007 3.00007 -180 0 0 3 164.02 L87 164.02 A3.00007 3.00007 -180 0 0 90 161.02 L90 122.02 A3.00007					 3.00007 -180 0 0 87 119.02 L3 119.02 A3.00007 3.00007 -180 0 0 0 122.02 L0 161.02 Z" class="st9"></path>		<text x="8.6" y="145.12" class="st7" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>qtimlvconverter</text>		</g>	<g id="group61-96" transform="translate(503.347,-61.5082)" v:mid="61" v:groupcontext="group">		<title>Sheet.61</title>		<g id="shape62-97" v:mid="62" v:groupcontext="shape" transform="translate(0,-2.99181)">			<title>Sheet.62</title>			<path d="M0 164.02 L9.48 164.02" class="st3"></path>		</g>		<g id="shape63-100" v:mid="63" v:groupcontext="shape" transform="translate(8.60701,5.68434E-14)">			<title>Sheet.63</title>			<path d="M0 164.02 L5.18 161.03 L0 158.04 L0 164.02 Z" class="st8"></path>		</g>	</g>	<g id="shape64-102" v:mid="64" v:groupcontext="shape" transform="translate(517.187,-42)">		<title>Sheet.64</title>		<desc>qtimltflite</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="33.75" cy="141.522" width="67.51" height="45"></v:textrect>		<path d="M0 161.02 A3.00007 3.00007 -180 0 0 3 164.02 L64.5 164.02 A3.00007 3.00007 -180 0 0 67.5 161.02 L67.5 122.02					 A3.00007 3.00007 -180 0 0 64.5 119.02 L3 119.02 A3.00007 3.00007 -180 0 0 0 122.02 L0 161.02 Z" class="st9"></path>		<text x="11.32" y="145.12" class="st7" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>qtimltflite</text>		</g>	<g id="group65-105" transform="translate(584.687,-61.5082)" v:mid="65" v:groupcontext="group">		<title>Sheet.65</title>		<g id="shape66-106" v:mid="66" v:groupcontext="shape" transform="translate(0,-2.99181)">			<title>Sheet.66</title>			<path d="M0 164.02 L9.48 164.02" class="st3"></path>		</g>		<g id="shape67-109" v:mid="67" v:groupcontext="shape" transform="translate(8.60701,5.68434E-14)">			<title>Sheet.67</title>			<path d="M0 164.02 L5.18 161.03 L0 158.04 L0 164.02 Z" class="st8"></path>		</g>	</g>	<g id="shape68-111" v:mid="68" v:groupcontext="shape" transform="translate(598.475,-42)">		<title>Sheet.68</title>		<desc>qtimlpostprocess</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="63" cy="141.522" width="126" height="45"></v:textrect>		<path d="M0 161.02 A3.00007 3.00007 -180 0 0 3 164.02 L123 164.02 A3.00007 3.00007 -180 0 0 126 161.02 L126 122.02 A3.00007					 3.00007 -180 0 0 123 119.02 L3 119.02 A3.00007 3.00007 -180 0 0 0 122.02 L0 161.02 Z" class="st9"></path>		<text x="22.13" y="145.12" class="st7" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>qtimlpostprocess</text>		</g>	<g id="shape72-114" v:mid="72" v:groupcontext="shape" transform="translate(211.471,46.3117) rotate(90)">		<title>Sheet.72</title>		<path d="M0 164.02 L15.63 164.02" class="st3"></path>	</g>	<g id="group73-117" transform="translate(34.875,-117.853)" v:mid="73" v:groupcontext="group">		<title>Sheet.73</title>		<g id="shape74-118" v:mid="74" v:groupcontext="shape">			<title>Sheet.74</title>			<path d="M18.56 130.27 L3.38 130.27 C1.51 130.27 0 131.78 0 133.65 L0 160.65 C0 162.51 1.51 164.02 3.38 164.02 L23.63						 164.02 C25.49 164.02 27 162.51 27 160.65 L27 138.71 L18.56 130.27 Z" class="st4"></path>		</g>		<g id="shape75-120" v:mid="75" v:groupcontext="shape" transform="translate(16.875,-23.625)">			<title>Sheet.75</title>			<path d="M0 153.9 L0 160.65 C0 162.51 1.51 164.02 3.38 164.02 L10.13 164.02 L0 153.9 Z" class="st12"></path>			<path d="M0 153.9 L0 160.65 C0 162.51 1.51 164.02 3.38 164.02 L10.13 164.02" class="st5"></path>		</g>		<g id="shape76-123" v:mid="76" v:groupcontext="shape" transform="translate(10.125,-8.4375)">			<title>Sheet.76</title>			<path d="M0 153.9 L8.44 158.96 L0 164.02 L0 153.9 Z" class="st4"></path>		</g>	</g>	<g id="group77-125" transform="translate(820.1,-11.7124)" v:mid="77" v:groupcontext="group">		<title>Sheet.77</title>		<g id="shape7-126" v:mid="7" v:groupcontext="shape" transform="translate(15.1883,2.84217E-14)">			<title>Sheet.7</title>			<desc>Qualcomm</desc>			<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>			<v:textrect cx="26.5396" cy="157.722" width="53.08" height="12.6"></v:textrect>			<rect x="0" y="151.422" width="53.0792" height="12.6" class="st10"></rect>			<text x="0" y="160.87" class="st11" v:langid="1033"><v:paragraph></v:paragraph><v:tablist></v:tablist>Qualcomm  </text>			</g>		<g id="shape8-129" v:mid="8" v:groupcontext="shape" transform="translate(6.29496E-14,-0.218619)">			<title>Sheet.8</title>			<path d="M0 162.52 A1.50003 1.50003 -180 0 0 1.5 164.02 L10.5 164.02 A1.50003 1.50003 -180 0 0 12 162.52 L12 153.52						 A1.50003 1.50003 -180 0 0 10.5 152.02 L1.5 152.02 A1.50003 1.50003 -180 0 0 0 153.52 L0 162.52 Z" class="st9"></path>		</g>		<g id="shape10-131" v:mid="10" v:groupcontext="shape" transform="translate(89.1246,2.84217E-14)">			<title>Sheet.10</title>			<desc>开源</desc>			<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>			<v:textrect cx="10.5" cy="157.722" width="21" height="12.6"></v:textrect>			<rect x="0" y="151.422" width="21" height="12.6" class="st10"></rect>			<text x="0" y="161.22" class="st13" v:langid="1033"><v:paragraph></v:paragraph><v:tablist></v:tablist>开源</text>			</g>		<g id="shape11-134" v:mid="11" v:groupcontext="shape" transform="translate(73.9363,-0.218619)">			<title>Sheet.11</title>			<path d="M0 162.52 A1.50003 1.50003 -180 0 0 1.5 164.02 L10.5 164.02 A1.50003 1.50003 -180 0 0 12 162.52 L12 153.52						 A1.50003 1.50003 -180 0 0 10.5 152.02 L1.5 152.02 A1.50003 1.50003 -180 0 0 0 153.52 L0 162.52 Z" class="st6"></path>		</g>	</g></g>
</svg>

Figure : gst-ai-superresolution pipeline（文件接收）
            
            <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by Microsoft Visio, SVG Export gst_ai_superresolution_pipeline_filesink.svg gst_ai_superresolution_pipeline -->
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ev="http://www.w3.org/2001/xml-events" xmlns:v="http://schemas.microsoft.com/visio/2003/SVGExtensions/" width="14.8828in" height="2.35626in" viewbox="0 0 1071.56 169.651" xml:space="preserve" color-interpolation-filters="sRGB" class="st14"><v:documentproperties v:langid="1033" v:viewmarkup="false"></v:documentproperties>
<style>.svg-2 .st1 { fill: #fafafa; stroke: none; stroke-linecap: butt; stroke-width: 0.75 }
.svg-2 .st2 { fill: #d2d7e1; stroke: none; stroke-linecap: butt; stroke-width: 0.75 }
.svg-2 .st3 { fill: #007884; stroke: none; stroke-linecap: butt; stroke-width: 0.75 }
.svg-2 .st4 { fill: #ffffff; font-family: Roboto; font-size: 0.874992em }
.svg-2 .st5 { stroke: #000000; stroke-linecap: butt; stroke-width: 0.75 }
.svg-2 .st6 { fill: #000000; stroke: none; stroke-linecap: butt; stroke-width: 0.75 }
.svg-2 .st7 { fill: #2a2aea; stroke: none; stroke-linecap: butt; stroke-width: 0.75 }
.svg-2 .st8 { fill: none; stroke: none; stroke-linecap: butt; stroke-width: 0.75 }
.svg-2 .st9 { fill: #000000; font-family: Roboto; font-size: 0.874992em }
.svg-2 .st10 { fill: none; stroke: #000000; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.5 }
.svg-2 .st11 { fill: none }
.svg-2 .st12 { stroke: #000000; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.5 }
.svg-2 .st13 { fill: #000000; font-family: SimHei; font-size: 0.874992em }
.svg-2 .st14 { fill: none; fill-rule: evenodd; font-size: 12px; overflow: visible; stroke-linecap: square; stroke-miterlimit: 3 }</style>
<g v:mid="0" v:index="1" v:groupcontext="foregroundPage">	<title>gst_ai_superresolution_pipeline</title>	<v:pageproperties v:drawingscale="1" v:pagescale="1" v:drawingunits="19" v:shadowoffsetx="9" v:shadowoffsety="-9"></v:pageproperties>	<g id="group2-1" v:mid="2" v:groupcontext="group">		<title>Sheet.2</title>		<g id="shape3-2" v:mid="3" v:groupcontext="shape" transform="translate(0.374886,-0.374634)">			<title>Sheet.3</title>			<path d="M0 164.03 A5.62513 5.62513 -180 0 0 5.62 169.65 L1065.19 169.65 A5.62513 5.62513 -180 0 0 1070.81 164.03						 L1070.81 6.37 A5.62513 5.62513 -180 0 0 1065.19 0.75 L5.62 0.75 A5.62513 5.62513 -180 0 0 -0 6.37 L0						 164.03 Z" class="st1"></path>		</g>		<g id="shape4-4" v:mid="4" v:groupcontext="shape">			<title>Sheet.4</title>			<path d="M1065.56 0.75 C1068.46 0.75 1070.81 3.11 1070.81 6 L1070.81 163.65 C1070.81 166.55 1068.46 168.9 1065.56						 168.9 L6 168.9 C3.11 168.9 0.75 166.55 0.75 163.65 L0.75 6 C0.75 3.11 3.11 0.75 6 0.75 L1065.56 0.75						 ZM1065.56 0 L6 0 C2.69 0 0 2.69 0 6 L0 163.65 C0 166.96 2.69 169.65 6 169.65 L1065.56 169.65 C1068.87						 169.65 1071.56 166.96 1071.56 163.65 L1071.56 6 C1071.56 2.69 1068.87 0 1065.56 0 Z" class="st2"></path>		</g>	</g>	<g id="shape13-6" v:mid="13" v:groupcontext="shape" transform="translate(15,-41.9999)">		<title>Sheet.13</title>		<desc>filesrc</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="34.0425" cy="139.051" width="68.09" height="61.2"></v:textrect>		<path d="M0 166.65 A3.00007 3.00007 -180 0 0 3 169.65 L65.08 169.65 A3.00007 3.00007 -180 0 0 68.08 166.65 L68.08 111.45					 A3.00007 3.00007 -180 0 0 65.08 108.45 L3 108.45 A3.00007 3.00007 -180 0 0 0 111.45 L0 166.65 Z" class="st3"></path>		<text x="19.66" y="142.65" class="st4" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>filesrc</text>		</g>	<g id="group14-9" transform="translate(83.085,-69.6081)" v:mid="14" v:groupcontext="group">		<title>Sheet.14</title>		<g id="shape15-10" v:mid="15" v:groupcontext="shape" transform="translate(0,-2.99181)">			<title>Sheet.15</title>			<path d="M0 169.65 L9.76 169.65" class="st5"></path>		</g>		<g id="shape16-13" v:mid="16" v:groupcontext="shape" transform="translate(8.88277,-2.84217E-14)">			<title>Sheet.16</title>			<path d="M0 169.65 L5.18 166.66 L0 163.67 L0 169.65 Z" class="st6"></path>		</g>	</g>	<g id="group17-15" transform="translate(817.955,-69.6081)" v:mid="17" v:groupcontext="group">		<title>Sheet.17</title>		<g id="shape18-16" v:mid="18" v:groupcontext="shape" transform="translate(0,-2.99181)">			<title>Sheet.18</title>			<path d="M0 169.65 L9.76 169.65" class="st5"></path>		</g>		<g id="shape19-19" v:mid="19" v:groupcontext="shape" transform="translate(8.88277,-2.84217E-14)">			<title>Sheet.19</title>			<path d="M0 169.65 L5.18 166.66 L0 163.67 L0 169.65 Z" class="st6"></path>		</g>	</g>	<g id="shape20-21" v:mid="20" v:groupcontext="shape" transform="translate(97.2019,-41.9999)">		<title>Sheet.20</title>		<desc>qtdemux</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="28.6875" cy="139.051" width="57.38" height="61.2"></v:textrect>		<path d="M0 166.65 A3.00007 3.00007 -180 0 0 3 169.65 L54.37 169.65 A3.00007 3.00007 -180 0 0 57.37 166.65 L57.37 111.45					 A3.00007 3.00007 -180 0 0 54.37 108.45 L3 108.45 A3.00007 3.00007 -180 0 0 -0 111.45 L0 166.65 Z" class="st3"></path>		<text x="8.15" y="142.65" class="st4" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>qtdemux</text>		</g>	<g id="group21-24" transform="translate(154.577,-69.6081)" v:mid="21" v:groupcontext="group">		<title>Sheet.21</title>		<g id="shape22-25" v:mid="22" v:groupcontext="shape" transform="translate(0,-2.99181)">			<title>Sheet.22</title>			<path d="M0 169.65 L9.76 169.65" class="st5"></path>		</g>		<g id="shape23-28" v:mid="23" v:groupcontext="shape" transform="translate(8.88277,-2.84217E-14)">			<title>Sheet.23</title>			<path d="M0 169.65 L5.18 166.66 L0 163.67 L0 169.65 Z" class="st6"></path>		</g>	</g>	<g id="shape24-30" v:mid="24" v:groupcontext="shape" transform="translate(168.694,-41.9999)">		<title>Sheet.24</title>		<desc>h264parse</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="32.5125" cy="139.051" width="65.03" height="61.2"></v:textrect>		<path d="M0 166.65 A3.00007 3.00007 -180 0 0 3 169.65 L62.03 169.65 A3.00007 3.00007 -180 0 0 65.02 166.65 L65.02 111.45					 A3.00007 3.00007 -180 0 0 62.03 108.45 L3 108.45 A3.00007 3.00007 -180 0 0 -0 111.45 L0 166.65 Z" class="st3"></path>		<text x="7.71" y="142.65" class="st4" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>h264parse</text>		</g>	<g id="group25-33" transform="translate(233.719,-69.6081)" v:mid="25" v:groupcontext="group">		<title>Sheet.25</title>		<g id="shape26-34" v:mid="26" v:groupcontext="shape" transform="translate(0,-2.99181)">			<title>Sheet.26</title>			<path d="M0 169.65 L9.76 169.65" class="st5"></path>		</g>		<g id="shape27-37" v:mid="27" v:groupcontext="shape" transform="translate(8.88277,-2.84217E-14)">			<title>Sheet.27</title>			<path d="M0 169.65 L5.18 166.66 L0 163.67 L0 169.65 Z" class="st6"></path>		</g>	</g>	<g id="shape28-39" v:mid="28" v:groupcontext="shape" transform="translate(247.836,-41.9999)">		<title>Sheet.28</title>		<desc>V4l2h264dec</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="36.3375" cy="139.051" width="72.68" height="61.2"></v:textrect>		<path d="M0 166.65 A3.00007 3.00007 -180 0 0 3 169.65 L69.68 169.65 A3.00007 3.00007 -180 0 0 72.68 166.65 L72.68 111.45					 A3.00007 3.00007 -180 0 0 69.68 108.45 L3 108.45 A3.00007 3.00007 -180 0 0 -0 111.45 L0 166.65 Z" class="st3"></path>		<text x="5.6" y="142.65" class="st4" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>V4l2h264dec</text>		</g>	<g id="group29-42" transform="translate(320.511,-69.6081)" v:mid="29" v:groupcontext="group">		<title>Sheet.29</title>		<g id="shape30-43" v:mid="30" v:groupcontext="shape" transform="translate(0,-2.99181)">			<title>Sheet.30</title>			<path d="M0 169.65 L9.76 169.65" class="st5"></path>		</g>		<g id="shape31-46" v:mid="31" v:groupcontext="shape" transform="translate(8.88276,-2.84217E-14)">			<title>Sheet.31</title>			<path d="M0 169.65 L5.18 166.66 L0 163.67 L0 169.65 Z" class="st6"></path>		</g>	</g>	<g id="group32-48" transform="translate(702.479,-61.194)" v:mid="32" v:groupcontext="group">		<title>Sheet.32</title>		<g id="shape33-49" v:mid="33" v:groupcontext="shape" transform="translate(0,-2.99181)">			<title>Sheet.33</title>			<path d="M0 169.65 L34.24 169.65" class="st5"></path>		</g>		<g id="shape34-52" v:mid="34" v:groupcontext="shape" transform="translate(33.3628,-2.84217E-14)">			<title>Sheet.34</title>			<path d="M0 169.65 L5.18 166.66 L0 163.67 L0 169.65 Z" class="st6"></path>		</g>	</g>	<g id="shape35-54" v:mid="35" v:groupcontext="shape" transform="translate(741.455,-42.0629)">		<title>Sheet.35</title>		<desc>qtivcomposer</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="38.25" cy="139.082" width="76.5" height="61.137"></v:textrect>		<path d="M6 108.51 L70.5 108.51 C73.81 108.51 76.5 111.2 76.5 114.51 L76.5 164.46 C76.5 167.33 74.17 169.65 71.31 169.65					 L6 169.65 C2.69 169.65 0 166.96 0 163.65 L0 114.51 C0 111.2 2.69 108.51 6 108.51 Z" class="st7"></path>		<text x="6.19" y="142.68" class="st4" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>qtivcomposer</text>		</g>	<g id="shape36-57" v:mid="36" v:groupcontext="shape" transform="translate(832.019,-41.9999)">		<title>Sheet.36</title>		<desc>h264parse</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="32.5125" cy="139.051" width="65.03" height="61.2"></v:textrect>		<path d="M0 166.65 A3.00007 3.00007 -180 0 0 3 169.65 L62.03 169.65 A3.00007 3.00007 -180 0 0 65.03 166.65 L65.03 111.45					 A3.00007 3.00007 -180 0 0 62.03 108.45 L3 108.45 A3.00007 3.00007 -180 0 0 0 111.45 L0 166.65 Z" class="st3"></path>		<text x="7.71" y="142.65" class="st4" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>h264parse</text>		</g>	<g id="shape41-60" v:mid="41" v:groupcontext="shape" transform="translate(334.575,-41.9999)">		<title>Sheet.41</title>		<desc>tee</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="23.2174" cy="139.051" width="46.44" height="61.2"></v:textrect>		<path d="M0 166.65 A3.00007 3.00007 -180 0 0 3 169.65 L43.43 169.65 A3.00007 3.00007 -180 0 0 46.43 166.65 L46.43 111.45					 A3.00007 3.00007 -180 0 0 43.43 108.45 L3 108.45 A3.00007 3.00007 -180 0 0 0 111.45 L0 166.65 Z" class="st3"></path>		<text x="15.94" y="142.65" class="st4" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>tee</text>		</g>	<g id="group42-63" transform="translate(381.009,-69.6081)" v:mid="42" v:groupcontext="group">		<title>Sheet.42</title>		<g id="shape43-64" v:mid="43" v:groupcontext="shape" transform="translate(0,-2.99181)">			<title>Sheet.43</title>			<path d="M0 169.65 L9.76 169.65" class="st5"></path>		</g>		<g id="shape44-67" v:mid="44" v:groupcontext="shape" transform="translate(8.88277,-2.84217E-14)">			<title>Sheet.44</title>			<path d="M0 169.65 L5.18 166.66 L0 163.67 L0 169.65 Z" class="st6"></path>		</g>	</g>	<g id="group48-69" transform="translate(896.998,-69.6081)" v:mid="48" v:groupcontext="group">		<title>Sheet.48</title>		<g id="shape49-70" v:mid="49" v:groupcontext="shape" transform="translate(0,-2.99181)">			<title>Sheet.49</title>			<path d="M0 169.65 L9.76 169.65" class="st5"></path>		</g>		<g id="shape50-73" v:mid="50" v:groupcontext="shape" transform="translate(8.88277,-2.84217E-14)">			<title>Sheet.50</title>			<path d="M0 169.65 L5.18 166.66 L0 163.67 L0 169.65 Z" class="st6"></path>		</g>	</g>	<g id="shape51-75" v:mid="51" v:groupcontext="shape" transform="translate(911.062,-41.9999)">		<title>Sheet.51</title>		<desc>mp4mux</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="32.5125" cy="139.051" width="65.03" height="61.2"></v:textrect>		<path d="M0 166.65 A3.00007 3.00007 -180 0 0 3 169.65 L62.03 169.65 A3.00007 3.00007 -180 0 0 65.03 166.65 L65.03 111.45					 A3.00007 3.00007 -180 0 0 62.03 108.45 L3 108.45 A3.00007 3.00007 -180 0 0 0 111.45 L0 166.65 Z" class="st3"></path>		<text x="11.92" y="142.65" class="st4" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>mp4mux</text>		</g>	<g id="group53-78" transform="translate(976.087,-69.6081)" v:mid="53" v:groupcontext="group">		<title>Sheet.53</title>		<g id="shape54-79" v:mid="54" v:groupcontext="shape" transform="translate(0,-2.99181)">			<title>Sheet.54</title>			<path d="M0 169.65 L9.76 169.65" class="st5"></path>		</g>		<g id="shape55-82" v:mid="55" v:groupcontext="shape" transform="translate(8.88277,-2.84217E-14)">			<title>Sheet.55</title>			<path d="M0 169.65 L5.18 166.66 L0 163.67 L0 169.65 Z" class="st6"></path>		</g>	</g>	<g id="shape56-84" v:mid="56" v:groupcontext="shape" transform="translate(991.535,-41.9999)">		<title>Sheet.56</title>		<desc>filesink</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="32.5125" cy="139.051" width="65.03" height="61.2"></v:textrect>		<path d="M0 166.65 A3.00007 3.00007 -180 0 0 3 169.65 L62.03 169.65 A3.00007 3.00007 -180 0 0 65.03 166.65 L65.03 111.45					 A3.00007 3.00007 -180 0 0 62.03 108.45 L3 108.45 A3.00007 3.00007 -180 0 0 0 111.45 L0 166.65 Z" class="st3"></path>		<text x="15.82" y="142.65" class="st4" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>filesink</text>		</g>	<g id="shape58-87" v:mid="58" v:groupcontext="shape" transform="translate(706.128,-68.3407)">		<title>Sheet.58</title>		<desc>sink_1</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="31.5" cy="163.351" width="63" height="12.6"></v:textrect>		<rect x="0" y="157.051" width="63" height="12.6" class="st8"></rect>		<text x="0" y="166.5" class="st9" v:langid="1033"><v:paragraph></v:paragraph><v:tablist></v:tablist>sink_1</text>		</g>	<g id="group59-90" transform="translate(381.009,-91.7923)" v:mid="59" v:groupcontext="group">		<title>Sheet.59</title>		<g id="shape60-91" v:mid="60" v:groupcontext="shape" transform="translate(0,-2.99181)">			<title>Sheet.60</title>			<path d="M0 169.65 L354.92 169.65" class="st5"></path>		</g>		<g id="shape61-94" v:mid="61" v:groupcontext="shape" transform="translate(354.045,0)">			<title>Sheet.61</title>			<path d="M0 169.65 L5.18 166.66 L0 163.67 L0 169.65 Z" class="st6"></path>		</g>	</g>	<g id="shape62-96" v:mid="62" v:groupcontext="shape" transform="translate(705.34,-97.5087)">		<title>Sheet.62</title>		<desc>sink_0</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="31.5" cy="163.351" width="63" height="12.6"></v:textrect>		<rect x="0" y="157.051" width="63" height="12.6" class="st8"></rect>		<text x="0" y="166.5" class="st9" v:langid="1033"><v:paragraph></v:paragraph><v:tablist></v:tablist>sink_0</text>		</g>	<g id="shape64-99" v:mid="64" v:groupcontext="shape" transform="translate(395.073,-42.0629)">		<title>Sheet.64</title>		<desc>qtimlvconverter</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="45.9" cy="146.701" width="91.81" height="45.9"></v:textrect>		<path d="M0 166.65 A3.00007 3.00007 -180 0 0 3 169.65 L88.8 169.65 A3.00007 3.00007 -180 0 0 91.8 166.65 L91.8 126.75					 A3.00007 3.00007 -180 0 0 88.8 123.75 L3 123.75 A3.00007 3.00007 -180 0 0 0 126.75 L0 166.65 Z" class="st7"></path>		<text x="9.5" y="150.3" class="st4" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>qtimlvconverter</text>		</g>	<g id="group65-102" transform="translate(486.873,-62.0211)" v:mid="65" v:groupcontext="group">		<title>Sheet.65</title>		<g id="shape66-103" v:mid="66" v:groupcontext="shape" transform="translate(0,-2.99181)">			<title>Sheet.66</title>			<path d="M0 169.65 L9.76 169.65" class="st5"></path>		</g>		<g id="shape67-106" v:mid="67" v:groupcontext="shape" transform="translate(8.88277,2.84217E-14)">			<title>Sheet.67</title>			<path d="M0 169.65 L5.18 166.66 L0 163.67 L0 169.65 Z" class="st6"></path>		</g>	</g>	<g id="shape68-108" v:mid="68" v:groupcontext="shape" transform="translate(500.99,-42.0629)">		<title>Sheet.68</title>		<desc>qtimltflite</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="34.425" cy="146.701" width="68.86" height="45.9"></v:textrect>		<path d="M0 166.65 A3.00007 3.00007 -180 0 0 3 169.65 L65.85 169.65 A3.00007 3.00007 -180 0 0 68.85 166.65 L68.85 126.75					 A3.00007 3.00007 -180 0 0 65.85 123.75 L3 123.75 A3.00007 3.00007 -180 0 0 0 126.75 L0 166.65 Z" class="st7"></path>		<text x="11.99" y="150.3" class="st4" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>qtimltflite</text>		</g>	<g id="group69-111" transform="translate(569.84,-62.0211)" v:mid="69" v:groupcontext="group">		<title>Sheet.69</title>		<g id="shape70-112" v:mid="70" v:groupcontext="shape" transform="translate(0,-2.99181)">			<title>Sheet.70</title>			<path d="M0 169.65 L9.76 169.65" class="st5"></path>		</g>		<g id="shape71-115" v:mid="71" v:groupcontext="shape" transform="translate(8.88277,2.84217E-14)">			<title>Sheet.71</title>			<path d="M0 169.65 L5.18 166.66 L0 163.67 L0 169.65 Z" class="st6"></path>		</g>	</g>	<g id="shape72-117" v:mid="72" v:groupcontext="shape" transform="translate(583.904,-42.0629)">		<title>Sheet.72</title>		<desc>qtimlpostprocess</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="59.2875" cy="146.701" width="118.58" height="45.9"></v:textrect>		<path d="M0 166.65 A3.00007 3.00007 -180 0 0 3 169.65 L115.57 169.65 A3.00007 3.00007 -180 0 0 118.57 166.65 L118.57					 126.75 A3.00007 3.00007 -180 0 0 115.57 123.75 L3 123.75 A3.00007 3.00007 -180 0 0 0 126.75 L0 166.65 Z" class="st7"></path>		<text x="18.42" y="150.3" class="st4" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>qtimlpostprocess</text>		</g>	<g id="shape76-120" v:mid="76" v:groupcontext="shape" transform="translate(217.749,50.3631) rotate(90)">		<title>Sheet.76</title>		<path d="M0 169.65 L15.94 169.65" class="st5"></path>	</g>	<g id="group77-123" transform="translate(35.2725,-119.433)" v:mid="77" v:groupcontext="group">		<title>Sheet.77</title>		<g id="shape78-124" v:mid="78" v:groupcontext="shape">			<title>Sheet.78</title>			<path d="M18.93 135.23 L3.44 135.23 C1.54 135.23 0 136.77 0 138.67 L0 166.21 C0 168.11 1.54 169.65 3.44 169.65 L24.1						 169.65 C26 169.65 27.54 168.11 27.54 166.21 L27.54 143.83 L18.93 135.23 Z" class="st10"></path>		</g>		<g id="shape79-126" v:mid="79" v:groupcontext="shape" transform="translate(17.2125,-24.0975)">			<title>Sheet.79</title>			<path d="M0 159.32 L0 166.21 C0 168.11 1.54 169.65 3.44 169.65 L10.33 169.65 L0 159.32 Z" class="st11"></path>			<path d="M0 159.32 L0 166.21 C0 168.11 1.54 169.65 3.44 169.65 L10.33 169.65" class="st12"></path>		</g>		<g id="shape80-129" v:mid="80" v:groupcontext="shape" transform="translate(10.3275,-8.60625)">			<title>Sheet.80</title>			<path d="M0 159.32 L8.61 164.49 L0 169.65 L0 159.32 Z" class="st10"></path>		</g>	</g>	<g id="shape81-131" v:mid="81" v:groupcontext="shape" transform="translate(1192.75,50.3631) rotate(90)">		<title>Sheet.81</title>		<path d="M0 169.65 L15.94 169.65" class="st5"></path>	</g>	<g id="group82-134" transform="translate(1010.28,-119.433)" v:mid="82" v:groupcontext="group">		<title>Sheet.82</title>		<g id="shape83-135" v:mid="83" v:groupcontext="shape">			<title>Sheet.83</title>			<path d="M18.93 135.23 L3.44 135.23 C1.54 135.23 0 136.77 0 138.67 L0 166.21 C0 168.11 1.54 169.65 3.44 169.65 L24.1						 169.65 C26 169.65 27.54 168.11 27.54 166.21 L27.54 143.83 L18.93 135.23 Z" class="st10"></path>		</g>		<g id="shape84-137" v:mid="84" v:groupcontext="shape" transform="translate(17.2125,-24.0975)">			<title>Sheet.84</title>			<path d="M0 159.32 L0 166.21 C0 168.11 1.54 169.65 3.44 169.65 L10.33 169.65 L0 159.32 Z" class="st11"></path>			<path d="M0 159.32 L0 166.21 C0 168.11 1.54 169.65 3.44 169.65 L10.33 169.65" class="st12"></path>		</g>		<g id="shape85-140" v:mid="85" v:groupcontext="shape" transform="translate(10.3275,-8.60625)">			<title>Sheet.85</title>			<path d="M0 159.32 L8.61 164.49 L0 169.65 L0 159.32 Z" class="st10"></path>		</g>	</g>	<g id="group86-142" transform="translate(946.436,-11.6741)" v:mid="86" v:groupcontext="group">		<title>Sheet.86</title>		<g id="shape7-143" v:mid="7" v:groupcontext="shape" transform="translate(15.1882,0)">			<title>Sheet.7</title>			<desc>Qualcomm</desc>			<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>			<v:textrect cx="28.6217" cy="163.351" width="57.25" height="12.6"></v:textrect>			<rect x="0" y="157.051" width="57.2433" height="12.6" class="st8"></rect>			<text x="0" y="166.5" class="st9" v:langid="1033"><v:paragraph></v:paragraph><v:tablist></v:tablist>Qualcomm  </text>			</g>		<g id="shape8-146" v:mid="8" v:groupcontext="shape" transform="translate(6.29496E-14,-0.21861)">			<title>Sheet.8</title>			<path d="M0 168.15 A1.50003 1.50003 -180 0 0 1.5 169.65 L10.5 169.65 A1.50003 1.50003 -180 0 0 12 168.15 L12 159.15						 A1.50003 1.50003 -180 0 0 10.5 157.65 L1.5 157.65 A1.50003 1.50003 -180 0 0 0 159.15 L0 168.15 Z" class="st7"></path>		</g>		<g id="shape10-148" v:mid="10" v:groupcontext="shape" transform="translate(89.1246,0)">			<title>Sheet.10</title>			<desc>开源</desc>			<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>			<v:textrect cx="10.5" cy="163.351" width="21" height="12.6"></v:textrect>			<rect x="0" y="157.051" width="21" height="12.6" class="st8"></rect>			<text x="0" y="166.5" class="st13" v:langid="1033"><v:paragraph></v:paragraph><v:tablist></v:tablist>开源</text>			</g>		<g id="shape11-151" v:mid="11" v:groupcontext="shape" transform="translate(73.9363,-0.21861)">			<title>Sheet.11</title>			<path d="M0 168.15 A1.50003 1.50003 -180 0 0 1.5 169.65 L10.5 169.65 A1.50003 1.50003 -180 0 0 12 168.15 L12 159.15						 A1.50003 1.50003 -180 0 0 10.5 157.65 L1.5 157.65 A1.50003 1.50003 -180 0 0 0 159.15 L0 168.15 Z" class="st3"></path>		</g>	</g></g>
</svg>

## 示例模型文件

Table : gst-ai-superresolution 示例模型

| Runtime | 模型文件 |
| :--- | :--- |
| LiteRT | <var class="keyword varname">quicksrnetsmall_quantized.tflite</var> |

## 在目标设备上运行应用程序

示例应用程序使用 /etc/configs/config-superresolution.json文件读取输入参数。
Note: 对于 Ubuntu Server，此文件默认不可用。

要创建您自己的 config JSON 文件，请使用 [config-superresolution.json](https://git.codelinaro.org/clo/le/platform/vendor/qcom-opensource/gst-plugins-qti-oss/-/blob/imsdk.lnx.2.0.0.r2-rel/gst-sample-apps/gst-ai-superresolution/config-superresolution.json) 作为参考。

1. 确保您已完成[前提条件](https://docs.qualcomm.com/doc/80-70022-50SC/topic/download-model-and-label-files.html)。
2. 根据模型、输入流和其他属性更新 config JSON 文件。关于更多详细信息，请参阅 [Config JSON 字段说明](https://docs.qualcomm.com/doc/80-70022-50SC/topic/video-super-resolution.html#video-super-resolution__section_ett_nd4_nfc)。
3. 使用以下格式的 config-superresolution.json文件：

        {
          "input-file-path": "<input-video-path>",
          "model": "<path-to-model-file>",
          "output-file-path": "<path-to-output-video>"
        }Copy to clipboard

例如，使用自定义视频输入文件和模型路径运行应用程序：

        {
            "input-file-path": "/etc/media/video.mp4",
            "model": "/etc/models/quicksrnetsmall_quantized.tflite"
        }Copy to clipboard
4. 运行 gst-ai-superresolution 应用程序：

        gst-ai-superresolution --config-file=/etc/configs/config-superresolution.jsonCopy to clipboard
5. 要显示可用的帮助选项，请在 SSH shell 中运行以下命令：

        gst-ai-superresolution -hCopy to clipboard
6. 要停止用例，请按 CTRL +
                    C。

## 预期输出

输出显示在 HDMI 显示器上。

Figure : VSR 的预期输出
                
                ![](data:image/png;base64,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)

## Pipeline 流

下表列出了视频超分辨率 pipeline 中使用的插件：| 插件 | 说明 |
| --- | --- |
| filesrc | 采集视频流并使用 tee 拆分流进行推理。 |
| [qtimlvconverter](https://docs.qualcomm.com/doc/80-70022-50SC/topic/qtimlvconverter.html) | AI 处理流将其用于预处理：<ol class="ol" id="video-super-resolution__ol_j34_ddg_q1c"><br>                                    <li class="li">在其接收端口上接收视频流。</li><br><br>                                    <li class="li">对流数据执行以下预处理。当模型需要浮点值作为输入时，会执行此预处理。<ol class="ol" type="a" id="video-super-resolution__ol_m5z_cpr_lbc"><br>                                            <li class="li">颜色转换</li><br><br>                                            <li class="li">缩放（放大或缩小）</li><br><br>                                            <li class="li">归一化</li><br><br>                                        </ol><br></li><br><br>                                    <li class="li">将预处理的视频流转换为其发送端口上的张量数据流。 </li><br><br>                                </ol><br><br>张量数据流用于 pipeline 后期的推理。 |
| [qtimltflite](https://docs.qualcomm.com/doc/80-70022-50SC/topic/qtimltflite.html) | 在 LiteRT 上运行并使用 quicksrnetsmall\_quantized模型。<ol class="ol" id="video-super-resolution__ol_lwl_521_mcc"><br>                                    <li class="li">推理 runtime 在其接收端口上接收张量数据。</li><br><br>                                    <li class="li">Runtime 执行推理。</li><br><br>                                    <li class="li">生成一个张量数据流，并在其发送端口上显示推理结果。</li><br><br>                                </ol> |
| qtimlpostprocess | 处理任何超分辨率模式的推理结果。<ol class="ol" id="video-super-resolution__ul_w2c_xf1_mcc"><br>                                    <li class="li">加载 SRNet 模块。 </li><br><br>                                    <li class="li">生成视频帧形式的结果。 </li><br><br>                                    <li class="li">将它们发送至 qtivcomposer 的接收端口。</li><br><br>                                </ol> |
| [qtivcomposer](https://docs.qualcomm.com/doc/80-70022-50SC/topic/qtivcomposer.html) | <ol class="ol" id="video-super-resolution__ol_dmb_2vr_lbc"><br>                                    <li class="li">将接收端口获取的内容组成帧。</li><br><br>                                    <li class="li">将包含这些组合帧的 GStreamer 缓存推送到其发送端口。</li><br><br>                                </ol> |
| [Waylandsink](https://docs.qualcomm.com/doc/80-70022-50SC/topic/waylandsink.html) | <ol class="ol" id="video-super-resolution__ol_kjr_fvr_lbc"><br>                                    <li class="li">Waylandsink 将其接收端口上接收的视频流提交给 Weston。</li><br><br>                                    <li class="li">Weston 在本地显示器上渲染视频流。</li><br><br>                                </ol> |

## Config JSON 字段说明

可用于配置 JSON 文件和运行用例的不同参数如下：

Table : 字段描述 - config-superresolution.json 文件

| 字段 | 值/描述 |
| :--- | :--- |
| **Input source** | `input-file-path`：输入视频的目录路径。 |
| **Models** | `model`：超分辨率模型的路径。 |
| **Output source** | `output-file-path`：输出视频的目录路径。如果未提供输出文件路径，则启用显示输出。 |

## 相关信息

[使用 LiteRT 进行视频超分辨率和显示](https://docs.qualcomm.com/doc/80-70022-50SC/topic/video-super-resolution-and-display-with-litert.html)

**Parent Topic:** [运行 AI/ML 示例应用程序](https://docs.qualcomm.com/doc/80-70022-50SC/topic/ai-ml-sample-applications.html)

Last Published: Nov 05, 2025

[Previous Topic
视频单目深度估计](https://docs.qualcomm.com/bundle/publicresource/80-70022-50SC/topics/mono-depth-from-video.md) [Next Topic
多流推理](https://docs.qualcomm.com/bundle/publicresource/80-70022-50SC/topics/multistream-inference.md)