一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

视频解码设备和方法与流程

2023-02-19 10:38:26 来源:中国专利 TAG:

视频解码设备和方法
1.相关申请的交叉引用
2.本技术基于并要求2021年8月3日提交于韩国知识产权局的韩国专利申请no.10-2021-0102017的优先权,其公开内容整体以引用方式并入本文中。
技术领域
3.根据本发明构思的各种示例实施方式涉及一种视频解码设备和/或方法。。


背景技术:

4.在与图像处理有关的各种技术领域中使用视频解码设备和方法。例如,从数字信号恢复图像数据。


技术实现要素:

5.视频解码可被分成由诸如精简指令集计算机(risc)的中央处理单元(cpu)执行的固件操作以及由解码器执行的硬件操作,并且硬件操作取决于解码器本身的性能。因此,当在视频解码中使用相同的解码器时,可能需要减少固件操作的时间,以便减少总视频解码时间。
6.然而,即使risc的性能提高,解析包括在比特流中的头数据并控制解码器的操作的固件操作可能不会显著减少基本处理时间。此外,输入比特流的头数据的格式可根据应用于解码器的视频编解码器的类型而变化,并且固件操作时间可根据输入比特流的类型而变化。
7.如上所述,在减少固件操作时间本身存在限制的情况下,可能需要一种进一步改进视频解码系统的附加性能的方法。各种示例实施方式提供一种能够减少总解码时间的视频解码设备和方法。本发明构思要解决的技术问题不限于如上所述的技术问题,其它技术问题可从以下示例实施方式推断。
8.根据本发明构思的一方面的视频解码设备可包括:cpu,其被配置为解析包括在输入比特流的第一比特流中的第一头数据,并且基于解析的第一头数据来生成第一寄存器集;以及解码器,其被配置为基于通过第一寄存器集获得的输入参数来对第一比特流进行解码,其中,在解码器对与第一帧对应的第一比特流进行解码的同时,cpu被配置为解析包括在第一帧之后的第二帧的输入比特流的第二比特流中的第二头数据。
9.根据本发明构思的另一方面的视频解码设备可包括:在对与包括第一头数据的第一帧对应的第一比特流进行解码的同时,解析包括在与第一帧之后的第二帧对应的第二比特流中的第二头数据;基于包括在第二比特流中的头数据的解析结果来预先生成并存储与第二帧对应的寄存器集;以及当第一比特流的解码完成时,基于与第二帧对应的寄存器集开始第二比特流的解码。
10.根据本发明构思的另一方面的视频解码设备可包括:解码器,其被配置为对第一比特流进行解码;cpu,其被配置为解析包括在第二比特流中的头数据;以及多个比特流读
取器,其被配置为分别将第一比特流和第二比特流提供给解码器和cpu,使得第一比特流的解码和包括在第二比特流中的头数据的解析可并行执行。
附图说明
11.本发明构思的示例实施方式将从以下结合附图进行的详细描述更清楚地理解,在附图中:
12.图1至图3是用于说明根据现有技术的视频解码设备的示图;
13.图4是示出根据示例实施方式的视频解码设备的配置的框图;
14.图5是沿着时间线示出根据示例实施方式的视频解码设备的总体操作过程的示图;
15.图6和图7是用于说明在解码两个连续帧的过程中由图4的视频解码设备的组件执行的操作的示图;
16.图8是示出根据示例实施方式的由视频解码设备对图像序列进行解码的算法的示例的示图;
17.图9是示出根据示例实施方式的视频解码方法的流程图;以及
18.图10是示出根据示例实施方式的数字电视(dtv)的框图。
具体实施方式
19.以下,参照附图详细描述本发明构思的示例实施方式。提供本发明构思的示例实施方式以更完整地向本领域普通技术人员说明本发明构思。由于本发明构思可以是各种修改并采取各种形式,所以特定示例实施方式示出于附图中并详细描述。然而,这并非旨在将本发明构思限于特定公开形式,应该理解为包括本发明构思的思想和范围内所包括的所有修改、等同物和替代物。在描述各个图时,相似的标号用于相似的组件。在附图中,为了本发明构思清晰,结构的尺寸与实际尺寸相比被放大或缩小。
20.本示例实施方式中使用的诸如“由

组成”或“包括”的术语不应被解释为必然包括说明书中所描述的所有各种组件或各种步骤,而应该解释为可不包括一些组件或一些步骤或者可进一步包括附加组件或步骤。
21.另外,如本文所用,包括诸如“第一”或“第二”的序数的术语可用于描述各种组件,但上述组件不应受上述术语限制。上述术语可用于将一个组件与另一组件相区分的目的。
22.图1至图3是用于描述根据现有技术的视频解码设备的示图。
23.参照图1,根据现有技术的视频解码设备10包括输入缓冲器110、比特流读取器120、精简指令集计算机(risc)130、解码器140和输出缓冲器150。
24.输入缓冲器110可从外部接收输入比特流并存储所接收的输入比特流。在一个示例中,输入比特流可对应于包括多个帧的图像序列。比特流读取器120可以比特为单位读取存储在输入缓冲器110中的输入比特流并且可将读取的比特流提供给risc 130或解码器140。
25.risc 130可检查输入缓冲器110中是否准备了输入比特流。当输入缓冲器110中准备了输入比特流时,risc 130可以帧为单位从输入缓冲器110接收比特流。例如,risc 130可在一个循环中接收与一个帧对应的比特流。
26.参照图2,示出输入比特流20的示例。如图2所示,输入比特流20可包括与第一帧(帧0)对应的比特流以及与第二帧(帧1)对应的比特流。尽管图2中省略,输入比特流20还可包括与剩余帧对应的比特流。另一方面,与一个帧对应的比特流可被分成头数据和主体数据。头数据可包括解码器140对比特流进行解码所需的控制信息(例如,输入参数),主体数据可包括实际压缩的图像数据(例如,压缩的图像和关联的数据)。主体数据也可被称为有效载荷。
27.图像序列可包括多个连续画面或帧,显示在一个屏幕上的画面或帧可包括多个切片。头数据可包括以画面和切片为单位与控制信息关联的参数以及定义图像序列的总体特性的参数。例如,头数据可包括诸如最大帧数、画面顺序、解码画面的分辨率、画面的颜色和深度的各种参数和用于解码的各种工具等。
28.risc 130可解析包括在与当前帧对应的比特流中的头数据。risc 130可基于解析的头数据来生成解码器140对与当前帧对应的比特流进行解码所需的寄存器集,并且可将寄存器集设定在解码器140中。解码器140可从比特流读取器120接收与当前帧对应的比特流并在risc 130的控制下对比特流执行解码。由解码器140解码的图像数据可被存储在输出缓冲器150中。
29.参照图3,沿着时间线示出视频解码设备10对一个帧执行解码的过程。
30.在图3中,“设定br”可指risc 130设定比特流读取器120以从输入缓冲器110接收与一个帧对应的比特流的过程。“以br解析头”可指当通过比特流读取器120发送与一个帧对应的比特流时risc 130解析包括在比特流中的头数据的过程。“设定regvals”是指risc 130基于头数据生成解码器140对比特流进行解码所需的寄存器集并将寄存器集设定在解码器140中的过程,“选择br”可指risc 130设定比特流读取器120以向解码器140发送比特流的过程。另外,“视频解码器处理”可指解码器140对与一个帧对应的比特流进行解码的过程。
31.因此,视频解码可被分成由risc 130执行的固件操作和由解码器140执行的硬件操作。另外,如图3所示,一个帧的解码时间可对应于固件操作时间(fw时间)和硬件操作时间(hw时间)之和。另一方面,硬件操作取决于解码器140本身的性能。因此,为了在使用相同解码器140的情况下减少总视频解码时间,可能需要减少固件操作时间(fw时间)。
32.然而,即使risc 130的性能提高,解析包括在比特流中的头数据并控制解码器140的操作的固件操作可能不会显著减少基本处理时间。此外,输入比特流的头数据的格式可根据应用于解码器140的视频编解码器的类型而变化,并且固件操作时间可根据输入比特流的类型而变化。
33.如上所述,在减少固件操作时间本身存在限制的情况下,可能需要进一步改进视频解码系统的附加性能的方法。以下,参照图4至图9详细描述用于减少总视频解码时间的视频解码设备和方法。
34.图4是示出根据示例实施方式的视频解码设备的配置的框图。
35.参照图4,根据本发明构思的示例实施方式的视频解码设备40可包括输入缓冲器410、第一比特流读取器(比特流读取器0)420、第二比特流读取器(比特流读取器1)425、中央处理单元(cpu)430、寄存器缓冲器435、解码器440和输出缓冲器450。然而,这未必限于此,除了图4所示的组件之外,视频解码设备40还可包括其它组件。另外,在图4所示的视频
解码设备40中,可省略一些组件(例如,输入缓冲器410和输出缓冲器450)。
36.输入缓冲器410可从外部接收输入比特流并存储所接收的输入比特流。在一个示例中,输入比特流可对应于包括多个帧的图像序列。输入缓冲器410可通过第一比特流读取器420和第二比特流读取器425中的至少一个将输入比特流提供给cpu 430。
37.输入缓冲器410可包括帧描述符,以使得cpu 430可以帧为单位读取输入比特流。例如,输入缓冲器410可预先获得以帧为单位划分的比特流中的每一个的开始位置、大小和结束位置当中的至少两条或更多条信息,这些信息可被称为帧描述符。cpu 430可参考帧描述符从输入缓冲器410以帧为单位加载比特流的开始位置,并且可将加载的比特流设定到第一比特流读取器420和第二比特流读取器425中的至少一个。
38.第一比特流读取器420和第二比特流读取器425可以比特为单位读取存储在输入缓冲器410中的输入比特流并将读取的输入比特流提供给cpu 430或解码器440。例如,第一比特流读取器420可以比特为单位读取第一比特流并将读取的第一比特流提供给解码器440,第二比特流读取器425可以比特为单位读取第二比特流并将读取的第二比特流提供给cpu 430。
39.第一比特流和第二比特流可对应于各个相邻帧。在一个示例中,在执行当前帧的解码的当前循环中,第一比特流读取器420可将与当前帧(第一帧)对应的第一比特流提供给解码器440,第二比特流读取器425可将与下一帧(第二帧)对应的第二比特流提供给cpu 430。然而,这仅是示例,第一比特流读取器420可将第二比特流提供给cpu 430,第二比特流读取器425可将第一比特流提供给解码器440。
40.在第一比特流读取器420将第一比特流提供给解码器440的第一循环(例如,当前循环)之前的第二循环(例如,前一循环)中,第一比特流读取器420可能已将第一比特流提供给cpu 430。此外,在第一比特流读取器420将第一比特流提供给解码器440的第一循环(例如,当前循环)之后的第三循环(例如,下一循环)中,第二比特流读取器425可将与下一帧对应的第二比特流提供给解码器440,第一比特流读取器420可将与继下一帧之后的帧(第三帧)对应的第三比特流提供给cpu 430。因此,第一比特流读取器420和第二比特流读取器425中的每一个可将比特流交替地提供给cpu 430或解码器440。本领域普通技术人员容易理解,根据何时使用术语,诸如“当前”、“前一”和“下一”的术语可以是相对的。
41.cpu 430可总体控制视频解码设备40或解码器440。cpu 430可控制包括在视频解码设备40中的组件的操作。然而,cpu 430不限于此,cpu 430可以是用于控制解码器440的专用处理器。在这种情况下,视频解码设备40可单独包括通常控制视频解码设备40的主cpu(未示出)。
42.cpu 430可被实现为多个逻辑门的阵列,或者可被实现为通用微处理器和存储可由微处理器执行的程序的存储器的组合。cpu 430可以是驱动固件的risc。例如,cpu 430可以是高级risc机器(arm)处理器并且可根据存储在存储器中的固件代码来控制解码器440等。然而,cpu 430未必限于此,cpu 430可以是复杂指令集计算机(cisc)。换言之,cpu 430不受其架构限制。
43.cpu 430可解析包括在输入比特流中的头数据并且基于解析的头数据来生成寄存器集。解码器440可根据cpu 430的控制对输入比特流进行解码。例如,解码器440可基于通过cpu 430所生成的寄存器集而获得的输入参数来对输入比特流进行解码。
44.在解码器440对与当前帧对应的第一比特流进行解码的同时,cpu 430可解析包括在与下一帧对应的第二比特流中的头数据。cpu430执行固件操作,并且解码器440执行硬件操作,并且cpu 430和解码器440可彼此独立地操作。利用cpu 430和解码器440可以帧为单位并行操作,根据本发明构思的视频解码设备40可并行地对第一比特流执行解码和对包括在第二比特流中的头数据执行解析。
45.因此,存在这样的效果:在除了图像序列的第一帧之外的剩余帧中省略了固件操作的时间,从而每帧的处理时间和总视频解码时间可减少。
46.为了使cpu 430和解码器440并行操作,需要将比特流提供给cpu 430和解码器440中的每一个的多个比特流读取器(例如,第一比特流读取器420和第二比特流读取器425)。另外,需要寄存器缓冲器435来存储先前由cpu 430为下一帧生成的寄存器集。
47.cpu 430可基于包括在第二比特流中的头数据的解析结果来生成与下一帧对应的寄存器集,并且将与下一帧对应的寄存器集存储在寄存器缓冲器435中。换言之,cpu 430可通过转换包括在第二比特流中的头数据的解析结果以适合解码器440所需的格式来生成寄存器集,并且将所生成的寄存器集存储在寄存器缓冲器435中。
48.在将与下一帧对应的寄存器集存储在寄存器缓冲器435中之后,cpu 430可等待直至解码器440完成第一比特流的解码。当解码器440完成第一比特流的解码时,cpu 430可将存储在寄存器缓冲器435中的寄存器集设定在解码器440中以对与下一帧对应的第二比特流执行解码。解码器440可基于存储在寄存器缓冲器435中的寄存器集来对第二比特流进行解码。
49.输出缓冲器450可存储由解码器440解码的图像数据。例如,输出缓冲器450可存储与输出图像有关的数据,例如像素数据。上述操作可在后续帧的解码处理中重复,并且cpu 430和解码器440可形成用于按帧顺序处理包括多个帧的图像序列的流水线结构。
50.另外,视频解码设备40可被实现为嵌入有cpu 430和解码器440的片上系统(soc)。包括在视频解码设备40中的其余组件中的至少一些也可与cpu 430和解码器440一起包括在soc中。soc可以是整个系统被集成为一个芯片的技术密集型半导体。当具有各种功能的装置被集成到一个芯片中时,与单独地制造具有各个功能的半导体相比,产品可小型化并且制造成本可降低。
51.图5是沿着时间线示出根据示例实施方式的视频解码设备的总体操作过程的示图。
52.参照图5,示出根据本发明构思的视频解码设备(例如,图4的视频解码设备40)从第一帧(帧0)至第三帧(帧2)执行解码的处理的示例。
53.在图5中,“br0”可对应于第一比特流读取器(例如,图4的第一比特流读取器420),“br1”可对应于第二比特流读取器(例如,图4的第二比特流读取器425)。
54.在与第一帧(帧0)对应的循环中,与第一帧(帧0)对应的比特流被设定在第一比特流读取器br0中,并且可顺序地执行从头解析至视频解码处理的各个操作。至此,根据本发明构思的示例实施方式的视频解码设备的操作与上面参照图3描述的根据现有技术的视频解码设备的操作相同。
55.然而,在由解码器(例如,图4中的解码器440)对与第一帧(帧0)对应的比特流进行解码的同时,根据本发明构思的视频解码设备可解析与第二帧(帧1)对应的比特流上的头
数据。换言之,根据本发明构思的视频解码设备可并行执行解码器的硬件操作和cpu(例如,图4的cpu 430)的固件操作。
56.cpu的固件操作可包括将与第二帧(帧1)对应的比特流设定在第二比特流读取器中的操作(“设定br1”)、解析包括在与第二帧(帧1)对应的比特流中的头数据的操作(“以br1解析头”)以及存储基于解析的头数据所生成的寄存器集合的操作(“存储regvals”)。
57.当第一帧(帧0)的解码完成并且与第二帧(帧1)对应的循环开始时,cpu可将预存的寄存器设定在解码器中(“设定regvals”)。另外,cpu可选择第二比特流读取器作为向解码器提供比特流的比特流读取器(“选择br1”)。然后,解码器可直接对与第二帧(帧1)对应的比特流执行解码(“以br1的视频解码器处理”)。因此,在与第二帧(帧1)对应的循环中,可获得与省略与第二帧(帧1)的头数据的解析有关的操作(“设定br1”和“以br1解析头”)相同的效果。
58.此外,在解码器对与第二帧(帧1)对应的比特流进行解码的同时,cpu可并行地对与第三帧(帧2)对应的比特流执行固件操作。例如,cpu可执行解析包括在与第三帧(帧2)对应的比特流中的头数据的操作(“设定br0”和“以br0解析头”)和存储与头数据的解析结果对应的寄存器集的操作(“存储regvals”)。因此,在与第三帧(帧2)对应的循环中,可获得与省略与包括在与第三帧(帧2)对应的比特流中的头数据的解析有关的操作(“设定br1”和“以br1解析头”)相同的效果。
59.因此,根据本发明构思,在对第m帧(m是任意自然数)进行视频解码的同时,一起执行对第m 1帧的固件操作(例如头解析和寄存器集存储),因此,可获得这样的效果:在除了视频序列的第一帧之外的剩余帧中省略固件操作的时间。因此,每帧的处理时间和总视频解码时间可减少。
60.图6和图7是用于描述在解码两个连续帧的过程中由图4的视频解码设备的组件执行的操作的示图。
61.参照图6,示出在与帧n对应的循环中视频解码设备40的组件的操作,并且参照图7,示出在与帧n 1对应的循环中视频解码设备40的组件的操作。
62.参照图6,在步骤1中,寄存器缓冲器435可将帧n的寄存器集提供给解码器440。寄存器缓冲器435的操作可由cpu 430控制。cpu 430可将存储在寄存器缓冲器435中的帧n的寄存器集设定在解码器440中。
63.在步骤2中,第一比特流读取器420可将与帧n对应的比特流发送至解码器440。第一比特流读取器420的操作可由cpu 430控制。在步骤3中,解码器440可发起对帧n的解码。另外,步骤2和步骤3可顺序地执行。然而,步骤2和步骤3的执行不限于此,步骤2和步骤3可同时执行。这是因为解码器440可在以比特为单位从第一比特流读取器420接收比特流的同时实时执行解码。
64.在步骤4中,第二比特流读取器425可将与帧n 1对应的比特流发送至cpu 430。第二比特流读取器425的操作可由cpu 430控制。另一方面,步骤3和步骤4可顺序地执行,但是可同时执行。
65.在步骤5中,cpu 430可针对帧n 1执行头解析。另外,步骤4和步骤5可顺序地执行。然而,步骤4和步骤5的执行不限于此,步骤4和步骤5可同时执行。这是因为cpu 430可在从第二比特流读取器425以比特为单位接收比特流的同时实时执行头解析。
66.在步骤6中,cpu 430可将帧n 1的寄存器集存储在寄存器缓冲器435中。例如,cpu 430可将与帧n 1的头解析结果对应的寄存器集存储在寄存器缓冲器435中。另一方面,步骤4至步骤6可在从根据步骤3开始帧n的解码直至帧n的解码完成的时段内执行。通常,由于解码期间的硬件操作时间长于固件操作时间,所以cpu 430可在步骤4至步骤6的操作完成之后等待直至帧n的解码完成。然而,本发明构思不限于此,步骤4可在帧n的解码完成之前开始,步骤6可与帧n的解码完成的定时一起完成。
67.参照图7,在步骤1中,寄存器缓冲器435可将先前通过图6的步骤6存储的帧n 1的寄存器集提供给解码器440。寄存器缓冲器435的操作可由cpu 430控制。cpu 430可将已存储在寄存器缓冲器435中的帧n 1的寄存器集设定到解码器440。
68.在步骤2中,第二比特流读取器425可将与帧n 1对应的比特流发送至解码器440。由于第二比特流读取器425已经在前一循环中向cpu 430发送与帧n 1对应的比特流,所以在当前循环中使用第二比特流读取器425而非第一比特流读取器420来将与帧n 1对应的比特流发送至解码器440可能更高效。第二比特流读取器425的操作可由cpu 430控制。
69.在步骤3中,解码器440可发起对帧n 1的解码。另外,步骤2和步骤3可顺序地执行。然而,步骤2和步骤3的执行不限于此,步骤2和步骤3可同时执行。这是因为解码器440可在以比特为单位从第二比特流读取器425接收比特流的同时实时解码。
70.在步骤4中,第一比特流读取器420可将与帧n 2对应的比特流发送至cpu 430。第一比特流读取器420的操作可由cpu 430控制。另一方面,步骤3和步骤4可顺序地执行,但是也可同时执行。
71.在步骤5中,cpu 430可针对帧n 2执行头解析。另外,步骤4和步骤5可顺序地执行。然而,步骤4和步骤5的执行不限于此,步骤4和步骤5可同时执行。这是因为cpu 430可在从第一比特流读取器420以比特为单位接收比特流的同时实时执行头解析。
72.在步骤6中,cpu 430可将帧n 2的寄存器集存储在寄存器缓冲器435中。另外,步骤4至步骤6可在从根据步骤3开始帧n 1的解码直至帧n 1的解码完成的时段内执行。通常,由于硬件操作时间长于固件操作时间,所以cpu 430可在完成步骤4至步骤6的操作之后等待直至帧n 1的解码完成。然而,本发明构思不限于此,步骤4可在帧n 1的解码完成之前开始,步骤6可与帧n 1的解码完成的定时一起完成。
73.视频解码设备40可重复图6和图7所示的操作,直至包括在图像序列中的最后帧的解码开始。因此,cpu 430对各个帧的固件操作时间可减少,并且一个图像序列的总视频解码时间可减少。
74.图8是示出根据示例实施方式的视频解码设备对图像序列进行解码的算法的示例的图。
75.参照图8,示出视频解码设备(例如,图4的视频解码设备40)对由k个帧(k是任意自然数)组成的图像序列进行解码的处理中使用的算法的示例。图8的算法仅是帮助理解的一个示例,并非旨在限制用于实现上面参照图4至图7描述的视频解码设备的操作的算法。与图8的那些不同的算法可用于实现根据本公开的视频解码设备的操作。另外,图8的算法可由包括在视频解码设备中的cpu(例如,图4的cpu 430)执行。
76.当第一帧的解码开始时,指示帧数的变量“frame_cnt”可具有初始值1,指示帧id的变量“n”可具有初始值0。然而,对应变量的名称或初始值仅是示例,并且不限于此。例如,
n可具有初始值1。另外,尽管在图8的示例中使用两个变量,但是当根据与另一变量的关系定义一个变量时,可仅使用一个变量。
77.在步骤810中,视频解码设备可检查输入比特流是否准备好。例如,视频解码设备可检查输入缓冲器(例如,图4中的输入缓冲器410)中是否准备好与图像序列对应的输入比特流。当输入比特流准备好时,视频解码设备可通过参考输入缓冲器的帧描述符来以帧为单位读取输入比特流。
78.在步骤820中,视频解码设备可解析头数据。例如,视频解码设备可解析包括在与一个帧对应的比特流中的头数据。比特流读取器(例如,图4的第一比特流读取器420或第二比特流读取器425)可在视频解码设备解析头数据的处理中使用。
79.在步骤830中,视频解码设备可存储寄存器集。视频解码设备可基于包括在与一个帧对应的比特流中的头数据的解析结果来生成寄存器集。视频解码设备可对头数据的解析结果进行组合,将组合结果转换为寄存器集,并且将寄存器集存储在寄存器缓冲器(例如,图4的寄存器缓冲器435)中。
80.在步骤840中,视频解码设备可确定frame_cnt是否大于1。视频解码设备可在frame_cnt小于或等于1时执行步骤860,并且可在frame_cnt大于1时执行步骤850。frame_cnt为1或更小的情况对应于frame_cnt为初始值1的情况,并且由于第一帧中不存在先前执行的解码操作,所以可省略步骤850。
81.在步骤850中,视频解码设备可等待直至一个帧的解码完成。例如,当frame_cnt大于1时,由于存在先前执行的解码操作(例如,帧n-1的解码操作),所以视频解码设备等待直至对应解码操作完成。
82.在步骤860中,视频解码设备可将frame_cnt的值增加1。在步骤870中,视频解码设备可设定帧n的寄存器集合。例如,当图像序列解码对应于图8所示的算法的第一回路或循环时,视频解码设备可设定帧0的寄存器集。在步骤880中,视频解码设备可开始解码帧n。
83.在步骤890中,视频解码设备可确定n是否等于k-1。换言之,视频解码设备可确定第k帧(即,最后帧)的解码是否已在步骤880中开始。当n等于k-1时,视频解码设备可在当前帧(即,最后帧)的解码完成时结束图像序列,并且当n不等于k-1时,视频解码设备可返回到步骤810并重复回路或循环。视频解码设备可在返回到步骤810的过程中将n的值增加1。
84.如上所述,在一个帧的解码开始(步骤890)之后并且在对应帧的解码完成(步骤850)之前的周期期间,可对下一帧执行根据步骤810至830的操作。换言之,后续帧的头解析可在执行两个连续帧当中的前一帧的解码的同时并行执行。因此,由于对于除了图像序列的第一帧之外的剩余帧省略了固件操作的时间,所以每帧的处理时间和总视频解码时间可减少。
85.图9是示出根据示例实施方式的视频解码方法的流程图。
86.参照图9,视频解码方法由图4的视频解码设备40中处理的步骤组成。因此,可以看出,尽管下面省略了描述,上面关于图4至图8给出的描述也适用于图9所示的视频解码方法。
87.在步骤910中,视频解码设备(例如,图4的视频解码设备40)可在解码与当前帧对应的第一比特流的同时解析包括在与下一帧对应的第二比特流中的头数据。例如,在包括在视频解码设备中的解码器(例如,图4中的解码器440)对第一比特流执行解码的同时,包
括在视频解码设备中的cpu(例如,图4中的cpu 430)可解析包括在第二比特流中的头数据。
88.另一方面,为了使得解码器和cpu能够并行操作,视频解码设备可使用第一比特流读取器(例如,图4中的第一比特流读取器420)以比特为单位读取第一比特流并将读取的第一比特流提供给解码器,并且可使用第二比特流读取器(例如,第二比特流读取器425)以比特为单位读取第二比特流并将读取的第二比特流提供给cpu。然而,为解码器和cpu中的每一个提供比特流的比特流读取器并不固定为一个,而是可针对每个帧改变。
89.在步骤920中,视频解码设备可基于包括在第二比特流中的头数据的解析结果预先生成并存储与下一帧对应的寄存器集。在使用cpu将与下一帧对应的寄存器集存储在寄存器缓冲器(例如,图4中的寄存器缓冲器435)中之后,视频解码设备可等待直至解码器完成第一比特流的解码。
90.在步骤930中,当第一比特流的解码完成时,视频解码设备可基于与下一帧对应的寄存器集开始对第二比特流进行解码。为了对与下一帧对应的第二比特流执行解码,视频解码设备可使用cpu将先前生成并存储在寄存器缓冲器中的寄存器集设定在解码器中。
91.此外,在对与下一帧对应的第二比特流进行解码的同时,视频解码设备可解析包括在与下一帧之后的帧对应的第三比特流中的头数据。如上所述,视频解码设备针对包括在图像序列中的帧顺序地重复上述操作,从而获得与除了图像序列的第一帧之外的剩余帧中省略固件操作的时间相同的效果。结果,每帧的处理时间和总视频解码时间可减少。
92.另外,上述视频解码方法可被记录在计算机可读记录介质中,在该计算机可读记录介质中记录有包括用于执行方法的指令的一个或多个程序。计算机可读记录介质的示例包括诸如硬盘、软盘和磁带的磁介质、诸如cd-rom和dvd的光学介质、诸如光软盘的磁光介质以及专门被配置为存储和执行程序指令的硬件装置(例如,rom、ram、闪存等)。程序指令的示例不仅包括诸如由编译器生成的机器语言代码,而且包括可由计算机使用解释器等执行的高级语言代码。
93.图10是示出根据示例实施方式的数字电视(dtv)的框图。
94.参照图10,除了图4的视频解码设备40之外,dtv 100还可包括接收器1010、显示单元1020、音频解码设备1030和音频输出单元1040。然而,dtv 100不限于此,dtv 100可另外包括图10所示那些以外的组件。例如,除了包括在视频解码设备40中的cpu(例如,图4中的cpu 430)之外,dtv 100还可包括用于控制dtv 100的总体操作的主cpu(未示出)。另外,dtv 100还可包括暂时或永久存储程序、数据或指令的ram或rom。
95.dtv 100可被实现为卫星dtv系统、有线dtv系统、手持dtv系统或地面dtv系统。另外,dtv 100可包括诸如高清(hd)、四重高清(qhd)、超高清(uhd)和三星超高清(suhd)的tv系统。手持dtv系统可被实现于移动电视、智能电话、平板pc、车辆导航装置、个人数字助理(pda)或便携式多媒体播放器(pmp)中。然而,dtv不限于此。
96.接收器1010可接收从外部图像传输设备发送的图像信号。接收器1010可无线地接收图像信号,或者可连接至线缆或机顶盒以接收图像信号。图像信号可以是表示输入比特流的数字信号。另一方面,图像信号可包括对图像信号一起解码所需的输入参数的编码信息。
97.视频解码设备40可执行与外部图像传输设备编码的标准对应的解码。例如,当图像信号被编码为符合mpeg-2标准时,视频解码设备40可执行符合对应标准的解码。然而,这
仅是示例,视频解码设备40可基于包括mpeg-1、mpeg-2、mpeg-4、h.263、h.264、h.265等的各种视频编码标准来执行解码。视频解码设备40可使用诸如可变长度解码、逆离散余弦变换(dct)、逆量化和考虑空时相关性的运动补偿的解码技术将编码图像信号恢复为原始图像数据。
98.视频解码设备40可包括用于在解码图像信号的处理中如上面参照图4至图9所述减少总视频解码时间的流水线结构。视频解码设备40可使用流水线结构并行执行固件操作和硬件操作,从而节省为固件操作分配的时间。因此,总体解码时间可缩短。
99.显示单元1020可接收由视频解码设备40解码的图像数据并且将图像数据显示在画面上。例如,显示单元1020可被实现为液晶显示器(lcd)、等离子体显示面板(pdp)、发光二极管(led)显示器、有机led(oled)显示器、有源矩阵oled(amoled)显示器或柔性显示器,但不限于此。
100.另一方面,接收器1010可与图像信号一起接收音频信号,音频解码设备1030可对所接收的语音信号进行解码,并且音频输出单元1040可通过扬声器输出解码的音频数据。因此,用户可接收由外部图像传输装置通过dtv 100提供的媒体内容。
101.图10所示的dtv 100的至少一些组件可被实现为soc。嵌入在dtv soc中的组件可通过总线发送和接收信号或数据。另一方面,dtv soc可配备有神经处理单元(npu),并且可将人工智能设计技术用于图像质量改进和声音处理。npu可使用人工神经网络高效地处理大规模计算。另外,npu可通过支持同时矩阵运算来执行深度学习。
102.在图10中,dtv 100已被描述为应用了根据本发明构思的视频解码设备40的代表性示例。然而,根据本发明构思的视频解码设备40并非仅应用于dtv 100,而是可应用于对数字图像信号执行解码的所有电子装置。例如,电子装置可包括智能电话、平板、个人计算机(pc)、个人数字助理(pda)、智能tv、便携式多媒体播放器(pmp)等。
103.另外,解码器140、440、比特流读取器120、第一比特流读取器420、第二比特流读取器425和/或包括在其中的组件可包括:处理电路,例如包括逻辑电路的硬件;硬件/软件组合,例如执行软件的处理器;或其组合。例如,处理电路可包括(但不限于)中央处理单元(cpu)、存储器控制器、算术逻辑单元(alu)、数字信号处理器、微计算机、现场可编程门阵列(fpga)和可编程逻辑单元、微处理器、专用集成电路(asic)等。
104.尽管参考其示例实施方式具体地示出和描述了本发明构思,但是将理解,在不脱离所附权利要求的精神和范围的情况下,可对其进行各种形式和细节上的改变。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献