CN117499680A - 视频流压缩同步控制电路、方法及设备 - Google Patents

视频流压缩同步控制电路、方法及设备 Download PDF

Info

Publication number
CN117499680A
CN117499680A CN202311220240.8A CN202311220240A CN117499680A CN 117499680 A CN117499680 A CN 117499680A CN 202311220240 A CN202311220240 A CN 202311220240A CN 117499680 A CN117499680 A CN 117499680A
Authority
CN
China
Prior art keywords
signal
data
video stream
module
period
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202311220240.8A
Other languages
English (en)
Inventor
郭黎
江航
华力
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Eswin Computing Technology Co Ltd
Haining Eswin IC Design Co Ltd
Original Assignee
Beijing Eswin Computing Technology Co Ltd
Haining Eswin IC Design Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Eswin Computing Technology Co Ltd, Haining Eswin IC Design Co Ltd filed Critical Beijing Eswin Computing Technology Co Ltd
Priority to CN202311220240.8A priority Critical patent/CN117499680A/zh
Publication of CN117499680A publication Critical patent/CN117499680A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/184Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本申请提供一种视频流压缩同步控制电路、方法及设备,视频流压缩同步控制电路包括同步信息生成模块和数据缓存模块,其中:所述同步信息生成模块,用于接收针对视频流数据的时序信号;对所述时序信号进行重定时处理,生成同步信号;向所述数据缓存模块发送所述同步信号;所述数据缓存模块,用于接收所述时序信号和所述视频流数据;根据所述时序信号对所述视频流数据进行重组缓存处理,得到有效视频流数据;根据所述同步信号输出所述有效视频流数据。本申请的方案,能够保证同步信号与有效视频流数据的严格同步,使得有效视频流数据能够正确的输入到下游的显示设备中,保障显示设备正确的显示。

Description

视频流压缩同步控制电路、方法及设备
技术领域
本申请涉及视频处理技术领域,尤其涉及一种视频流压缩同步控制电路、方法及设备。
背景技术
高清多媒体接口(Hight-Definition Multimedia Interface,HDMI)是一种全数字化视频和声音发送接口,可以用于发送压缩或未压缩的视频信号,将音视频信号传输到视频显示设备上进行显示。
在HDMI作为数据接收端的视频系统中,HDMI会对数据发送端发送的数据进行相应处理,其中包括数据流的分离,数据解密,数据解压缩等,最终将处理后的数据输出到下游的显示设备等子系统中。由于显示设备的输入端的数据格式已经固定,HDMI输出的数据需要满足显示设备的时序要求,以便显示设备能够正确的执行后续操作。
然而,由于HDMI在不同模式下,经过视频流压缩(VESA Display StreamCompression,DSC)解压缩后的数据与显示设备要求的时序不同步,导致显示设备无法正确的显示。
发明内容
本申请提供一种视频流压缩同步控制电路、方法及设备,以解决经过DSC解压缩后的数据与显示设备要求的时序不同步,导致显示设备无法正确的显示的问题。
第一方面,本申请提供一种视频流压缩同步控制电路,包括同步信息生成模块和数据缓存模块,其中:
所述同步信息生成模块,用于接收针对视频流数据的时序信号;对所述时序信号进行重定时处理,生成同步信号;向所述数据缓存模块发送所述同步信号;
所述数据缓存模块,用于接收所述时序信号和所述视频流数据;根据所述时序信号对所述视频流数据进行重组缓存处理,得到有效视频流数据;根据所述同步信号输出所述有效视频流数据。
在一种可能的实施方式中,所述时序信号包括帧起始信号、行起始信号以及数据有效性信号,所述同步信息生成模块包括垂直同步子模块、水平同步子模块以及指示信号子模块;其中:
所述垂直同步子模块,用于在当前时钟周期下,根据所述帧起始信号、所述行起始信号和所述数据有效性信号,在所述视频流数据中确定所述帧起始信号指示的当前帧的行累计值;
所述水平同步子模块,用于在所述当前时钟周期下,根据所述行起始信号和所述数据有效性信号,在所述当前帧中确定所述行起始信号指示的当前行中的像素点累计值;
所述指示信号子模块,用于根据所述行累计值和所述像素点累计值,生成所述同步信号。
在一种可能的实施方式中,所述水平同步子模块,具体用于:
根据所述行起始信号,初始化所述像素点累计值为第一数值,所述第一数值为所述当前行的首个像素点和所述当前行的首个有效像素点之间间隔的像素点的数量;
根据所述行起始信号和所述数据有效性信号,在所述当前行对应的时段中,确定所述当前时钟周期所属的时段,所述当前行对应的时段包括所述当前行的行起始时段、有效像素时段和无效像素时段;
在所述当前时钟周期所属的时段为所述有效像素时段,且,所述像素点累计值小于第一像素点阈值的情况下,更新所述像素点累计值,更新后的像素点累计值为更新前的像素点累计值加一;
在所述当前时钟周期所属的时段为所述无效像素时段,且,所述像素点累计值小于第二像素点阈值的情况下,更新所述像素点累计值,更新后的像素点累计值为更新前的像素点累计值加一。
在一种可能的实施方式中,所述垂直同步子模块,具体用于:
根据所述帧起始信号,初始化所述行累计值为第二数值,所述第二数值为所述当前帧的首个行和所述行起始信号指示的首个有效行之间间隔的行的数量;
根据所述帧起始信号、所述行起始信号和所述数据有效性信号,在所述当前帧对应的时段中,确定所述当前时钟周期所属的时段,其中,所述当前帧对应的时段包括所述当前帧的帧起始时段、有效行时段或无效行时段;
在所述当前时钟周期所属的时段为所述有效行时段,且,所述行累计值小于预设行阈值的情况下,更新所述行累计值,更新后的行累计值为更新前的行累计值加一;
在所述当前时钟周期所属的时段为所述无效行时段,且,所述像素点累计值等于所述第一像素点阈值的情况下,更新所述行累计值,更新后的行累计值为更新前的行累计值加一。
在一种可能的实施方式中,所述指示信号子模块,具体用于:
根据所述行累计值,以及所述第二数值,生成帧同步信号;
根据所述像素点累计值和所述第一数值,生成行同步信号;
根据所述行累计值和所述像素点累计值,生成有效数据指示信号,所述同步信号包括所述帧同步信号、所述行同步信号以及所述有效数据指示信号。
在一种可能的实施方式中,所述指示信号子模块根据所述行累计值和所述像素点累计值,生成有效数据指示信号的步骤,包括:
在所述当前帧对应的时段中,确定所述行累计值对应的时段,所述行累计值对应的时段为所述有效行时段或所述无效行时段;
根据所述行累计值对应的时段和所述像素点累计值,生成所述有效数据指示信号;
其中,在所述行累计值对应的时段为所述有效行时段,且,所述像素点累计值大于第三数值的情况下,所述有效数据指示信号处于有效状态,所述第三数值为所述第一数值减一;
在所述行累计值对应的时段为所述无效行时段,和/或,所述像素点累计值小于等于所述第三数值的情况下,所述有效数据指示信号处于无效状态。
在一种可能的实施方式中,所述数据缓存模块包括重组子模块、写使能控制子模块、缓存子模块以及读使能控制子模块;
所述重组子模块,用于根据接收设备匹配的目标数据格式,对所述有效视频流数据进行重组,得到所述目标数据格式下的有效视频流数据;
所述写使能控制子模块,用于在所述数据有效性信号处于有效状态的情况下,根据所述帧起始信号和所述行起始信号,将所述目标数据格式下的有效视频流数据存储至所述缓存子模块;
所述读使能控制子模块,用于在所述有效数据指示信号处于有效状态的情况下,根据所述帧同步信号和所述行同步信号,从所述缓存子模块中输出所述目标数据格式下的有效视频流数据。
在一种可能的实施方式中,还包括寄存器同步模块,所述寄存器同步模块用于:
对所述同步信息生成模块和所述数据缓存模块中的寄存器进行同步配置;在所述寄存器同步配置完成后,向所述同步信息生成模块和所述数据缓存模块发送寄存器同步信号;
所述同步信息生成模块对所述时序信号进行重定时处理,生成同步信号的步骤,包括:
在接收到所述寄存器同步信号后,对所述时序信号进行重定时处理,生成所述同步信号;
所述数据缓存模块根据所述时序信号对所述视频流数据进行重组缓存处理,得到有效视频流数据的步骤,包括:
在接收到所述寄存器同步信号后,根据所述时序信号对所述视频流数据进行重组缓存处理,得到所述有效视频流数据。
第二方面,本申请提供一种视频流压缩同步控制方法,包括:
接收视频流数据和针对所述视频流数据的时序信号;
对所述时序信号进行重定时处理,生成同步信号;
根据所述时序信号对所述视频流数据进行重组缓存处理,得到有效视频流数据;
根据所述同步信号输出所述有效视频流数据。
在一种可能的实施方式中,所述时序信号包括帧起始信号、行起始信号以及数据有效性信号,所述对所述时序信号进行重定时处理,生成同步信号,包括:
在当前时钟周期下,根据所述帧起始信号、所述行起始信号和所述数据有效性信号,在所述视频流数据中确定所述帧起始信号指示的当前帧的行累计值;
在所述当前时钟周期下,根据所述行起始信号和所述数据有效性信号,在所述当前帧中确定所述行起始信号指示的当前行中的像素点累计值;
根据所述行累计值和所述像素点累计值,生成所述同步信号。
在一种可能的实施方式中,所述根据所述行起始信号和所述数据有效性信号,在所述当前帧中确定所述行起始信号指示的当前行中的像素点累计值,包括:
根据所述行起始信号,初始化所述像素点累计值为第一数值,所述第一数值为所述当前行的首个像素点和所述当前行的首个有效像素点之间间隔的像素点的数量;
根据所述行起始信号和所述数据有效性信号,在所述当前行对应的时段中,确定所述当前时钟周期所属的时段,所述当前行对应的时段包括所述当前行的行起始时段、有效像素时段和无效像素时段;
在所述当前时钟周期所属的时段为所述有效像素时段,且,所述像素点累计值小于第一像素点阈值的情况下,更新所述像素点累计值,更新后的像素点累计值为更新前的像素点累计值加一;
在所述当前时钟周期所属的时段为所述无效像素时段,且,所述像素点累计值小于第二像素点阈值的情况下,更新所述像素点累计值,更新后的像素点累计值为更新前的像素点累计值加一。
在一种可能的实施方式中,所述根据所述帧起始信号、所述行起始信号和所述数据有效性信号,在所述视频流数据中确定所述帧起始信号指示的当前帧的行累计值,包括:
根据所述帧起始信号,初始化所述行累计值为第二数值,所述第二数值为所述当前帧的首个行和所述行起始信号指示的首个有效行之间间隔的行的数量;
根据所述帧起始信号、所述行起始信号和所述数据有效性信号,在所述当前帧对应的时段中,确定所述当前时钟周期所属的时段,其中,所述当前帧对应的时段包括所述当前帧的帧起始时段、有效行时段或无效行时段;
在所述当前时钟周期所属的时段为所述有效行时段,且,所述行累计值小于预设行阈值的情况下,更新所述行累计值,更新后的行累计值为更新前的行累计值加一;
在所述当前时钟周期所属的时段为所述无效行时段,且,所述像素点累计值等于所述第一像素点阈值的情况下,更新所述行累计值,更新后的行累计值为更新前的行累计值加一。
在一种可能的实施方式中,所述根据所述行累计值和所述像素点累计值,生成所述同步信号,包括:
根据所述行累计值,以及所述第二数值,生成帧同步信号;
根据所述像素点累计值和所述第一数值,生成行同步信号;
根据所述行累计值和所述像素点累计值,生成有效数据指示信号,所述同步信号包括所述帧同步信号、所述行同步信号以及所述有效数据指示信号。
在一种可能的实施方式中,所述根据所述行累计值和所述像素点累计值,生成有效数据指示信号,包括:
在所述当前帧对应的时段中,确定所述行累计值对应的时段,所述行累计值对应的时段为所述有效行时段或所述无效行时段;
根据所述行累计值对应的时段和所述像素点累计值,生成所述有效数据指示信号;
其中,在所述行累计值对应的时段为所述有效行时段,且,所述像素点累计值大于第三数值的情况下,所述有效数据指示信号处于有效状态,所述第三数值为所述第一数值减一;
在所述行累计值对应的时段为所述无效行时段,和/或,所述像素点累计值小于等于所述第三数值的情况下,所述有效数据指示信号处于无效状态。
在一种可能的实施方式中,所述根据所述同步信号输出所述有效视频流数据,包括:
根据接收设备匹配的目标数据格式,对所述有效视频流数据进行重组,得到所述目标数据格式下的有效视频流数据;
在所述数据有效性信号处于有效状态的情况下,根据所述帧起始信号和所述行起始信号,将所述目标数据格式下的有效视频流数据存储至所述缓存子模块;
在所述有效数据指示信号处于有效状态的情况下,根据所述帧同步信号和所述行同步信号,从所述缓存子模块中输出所述目标数据格式下的有效视频流数据。
在一种可能的实施方式中,所述方法还包括:
对所述同步信息生成模块和所述数据缓存模块中的寄存器进行同步配置;
在所述寄存器同步配置完成后,向所述同步信息生成模块和所述数据缓存模块发送寄存器同步信号;
所述对所述时序信号进行重定时处理,生成同步信号,包括:
在接收到所述寄存器同步信号后,对所述时序信号进行重定时处理,生成所述同步信号;
所述根据所述时序信号对所述视频流数据进行重组缓存处理,得到有效视频流数据,包括:
在接收到所述寄存器同步信号后,根据所述时序信号对所述视频流数据进行重组缓存处理,得到所述有效视频流数据。
第三方面,本申请提供一种电子设备,包括如第一方面任一项所述的视频流压缩同步控制电路。
第四方面,本申请提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如第二方面所述的视频流压缩同步控制方法。
本申请提供的视频流压缩同步控制电路,包括同步信息生成模块和数据缓存模块,同步信息生成模块用于接收针对视频流数据的时序信号,然后对时序信号进行重定时处理,生成同步信号,并向数据缓存模块发送同步信号;数据缓存模块用于接收时序信号和视频流数据,并根据时序信号对视频流数据进行重组缓存处理,得到有效视频流数据,并根据同步信号输入有效视频流数据。针对DSC输出的视频流数据,由于视频流数据是基于时序信号指示的时序信息来进行重组缓存处理的,而通过同步信息生成模块对时序信号进行重定时处理后生成的同步信号又指示有效视频流数据的输出,从而能够保证同步信号与有效视频流数据的严格同步,使得有效视频流数据能够正确的输入到下游的显示设备中,保障显示设备正确的显示。
附图说明
为了更清楚地说明本申请或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的视频流压缩同步控制电路的结构示意图一;
图2为本申请实施例提供的视频流压缩同步控制电路的结构示意图二;
图3为本申请实施例提供的当前行对应的时段划分示意图;
图4为本申请实施例提供的确定像素点累计值的流程示意图;
图5为本申请实施例提供的当前帧对应的时段划分示意图;
图6为本申请实施例提供的确定行累计值的流程示意图;
图7为本申请实施例提供的一种DSC输出数据分类排布示意图一;
图8为本申请实施例提供的一种DSC输出数据分类排布示意图二;
图9为本申请实施例提供的数据重组示意图一;
图10为本申请实施例提供的数据重组示意图二;
图11为本申请实施例提供的视频流压缩同步控制方法的流程示意图;
图12为本申请实施例提供的一种电子设备的实体结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请中的附图,对本申请中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在本申请的实施例中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况,其中A,B可以是单数或者复数。在本申请的文字描述中,字符“/”一般表示前后关联对象是一种“或”的关系。
HDMI是一种全数字化视频和声音发送接口,可以用来发送未压缩或压缩的音频及视频信号,可以将DVD播放器、机顶盒、电脑等音影数字信号传输到电视机、投影仪等视频显示设备上。
HDMI 2.1支持DSC压缩技术,当频宽超过48Gbps时,例如在4K120Hz,色深30,36比特的情况下,需要用到DSC,通过固定速率链路(Fixed rate link,FRL)加上DSC的方式,使得高质量图像以视觉无损的方式进行压缩传输。
在HDMI作为数据接收端的音视频系统中,HDMI会对数据发送端发送的音视频数据进行相应处理,其中包括数据流的分离,数据解密,数据解压缩等,最终将处理后的音视频数据数据输出到下游的显示设备,Audio等子系统中。由于显示设备输入端的数据格式已经固定,即符合标准视频格式,DSC输出的数据需要满足显示设备的时序要求,以便显示设备能够正确的执行后续操作。
由于HDMI在不同模式下,经过DSC解压缩后的数据与显示设备要求的时序略有不同,导致显示设备无法正确的显示音视频数据。例如,DSC输出的时序信号,如水平同步(Horizontal synchronization,HSYNC)会存在异常,即在DSC一些模式下的场消隐(VBLANK)期间,HSYNC无输出。例如,DSC输出的数据和时序信号之间存在飘动,即HSYNC到像素数据有效的距离不固定,垂直同步(Vertical synchronization,VSYNC)到有效行的距离不固定。
基于此,本申请实施例提供一种视频流压缩同步控制电路,以实现数据信号和同步信号的同步,从而满足下游的显示设备输入端的时序要求。下面结合附图对本申请实施例的方案进行介绍。
图1为本申请实施例提供的视频流压缩同步控制电路的结构示意图一,如图1所示,该电路包括同步信息生成模块11和数据缓存模块12,其中:
同步信息生成模块11,用于接收针对视频流数据的时序信号;对时序信号进行重定时处理,生成同步信号;向数据缓存模块12发送同步信号;
数据缓存模块12,用于接收时序信号和视频流数据;根据时序信号对视频流数据进行重组缓存处理,得到有效视频流数据;根据同步信号输出有效视频流数据。
DSC向视频流压缩同步控制电路发送视频流数据和针对该视频流数据的时序信号,其中,时序信号输入至同步信息生成模块11,时序信号和视频流数据输入至数据缓存模块12。
在时序信号中,包括了DSC输出的时序信息,数据缓存模块12在接收到时序信号后,根据时序信号中指示的时序信息,对视频流数据进行重组缓存处理,这一过程,是将视频流数据缓存至数据缓存模块12的过程,也就是写数据的过程。
重组缓存处理,包括数据重组和缓存两个过程,数据重组的过程主要是将视频流数据按照下游的显示设备要求的数据格式进行重组,以使得数据重组后的视频流数据与显示设备要求的数据格式匹配。缓存的过程,就是在数据重组后将数据写入数据缓存模块12的过程。在本申请实施例中,视频流数据中可能包括部分无效数据,因此,缓存的过程会剔除这部分无效数据,最终缓存的是有效视频流数据。
对于同步信息生成模块11而言,同步信息生成模块11在接收到针对视频流数据的时序信号后,会对时序信号进行重定时处理。重定时处理主要是为了生成相关的同步信号,以指示有效视频流数据的输出。在同步信息生成模块11生成同步信号后,同步信息生成模块11向数据缓存模块发送同步信号,数据缓存模块12根据接收到的同步信号,输入有效视频流数据。
本申请实施例提供的视频流压缩同步控制电路,包括同步信息生成模块和数据缓存模块,同步信息生成模块用于接收针对视频流数据的时序信号,然后对时序信号进行重定时处理,生成同步信号,并向数据缓存模块发送同步信号;数据缓存模块用于接收时序信号和视频流数据,并根据时序信号对视频流数据进行重组缓存处理,得到有效视频流数据,并根据同步信号输入有效视频流数据。针对DSC输出的视频流数据,由于视频流数据是基于时序信号指示的时序信息来进行重组缓存处理的,而通过同步信息生成模块对时序信号进行重定时处理后生成的同步信号又指示有效视频流数据的输出,从而能够保证同步信号与有效视频流数据的严格同步,使得有效视频流数据能够正确的输入到下游的显示设备中,保障显示设备正确的显示。
在上述任一实施例的基础上,下面结合附图对本申请实施例的方案进行详细介绍。
图2为本申请实施例提供的视频流压缩同步控制电路的结构示意图二,如图2所示,该电路包括同步信息生成模块11和数据缓存模块12。可选的,该电路还包括寄存器同步模块13,其中,
寄存器同步模块13,用于对同步信息生成模块11和数据缓存模块12中的寄存器进行同步配置;在寄存器同步配置完成后,向同步信息生成模块11和数据缓存模块12发送寄存器同步信号。
在本申请实施例中,寄存器同步模块13主要用于将同步信息生成模块11和数据缓存模块12中的寄存器进行同步配置,以消除多比特传输带来的亚稳态问题。在同步信息生成模块11和数据缓存模块12中可能涉及到许多寄存器需要进行提前配置。例如,在同步信息生成模块11和数据缓存模块12中均涉及一些预设的阈值,这些预设的阈值在被同步信息生成模块11或数据缓存模块12调用之前,需要提前将具体的值配置到相应的寄存器中,才能够被正确的使用。寄存器同步模块13就可以完成这些寄存器的同步配置。
如图2所示,寄存器同步模块13将ud信号进行同步处理,ud信号用于指示寄存器同步模块13对于寄存器的同步配置是否完成。例如,当ud信号由1变为0时,表示电路已经使用新的配置,视频流压缩同步控制电路的相关寄存器将锁存配置的值,在该情况下,同步信息生成模块11和数据缓存模块12暂时无法进行后续的操作。例如,当ud信号由0变为1时,表示寄存器的同步配置已完成,此时寄存器同步模块13将ud信号使用16比特的移位寄存器进行扩展,得到寄存器同步信号,寄存器同步信号的目的是产生16个周期的静态清除状态,以保证所有配置均有效。
然后寄存器同步模块13将寄存器同步信号发送给同步信息生成模块11和数据缓存模块12,同步信息生成模块11和数据缓存模块12在接收到寄存器同步信号,可以获知寄存器的同步配置已完成,可以进行后续操作。即,同步信息生成模块11在接收到寄存器同步信号后,对时序信号进行重定时处理,生成同步信号;数据缓存模块12在接收到寄存器同步信号后,根据时序信号对视频流数据进行重组缓存处理,得到有效视频流数据。
下面结合图2对同步信息生成模块11对时序信号的具体处理过程进行介绍。
DSC是依据时序信号向视频流压缩同步控制电路发送视频流数据的,本申请实施例中,时序信号包括帧起始信号、行起始信号以及数据有效性信号。
其中,帧起始信号指示下一帧的开始和上一帧的结束,行起始信号指示下一行的开始和上一行的结束,数据有效性信号指示视频流数据中的有效数据。
如图2所示,同步信息生成模块11包括垂直同步子模块201、水平同步子模块202以及指示信号子模块203。
垂直同步子模块201,用于在当前时钟周期下,根据帧起始信号、行起始信号和数据有效性信号,在视频流数据中确定帧起始信号指示的当前帧的行累计值。
水平同步子模块202,用于在当前时钟周期下,根据行起始信号和数据有效性信号,在当前帧中确定行起始信号指示的当前行中的像素点累计值;
指示信号子模块203,用于根据行累计值和像素点累计值,生成同步信号。
对于视频流数据而言,视频流数据中包括依次传输的帧数据,对于任意一帧数据而言,这一帧数据中包括依次传输的像素点数据。在本申请实施例中,数据的传输是以时钟周期来进行传输的,每个时钟周期对应一个像素点数据,也就是说,一个时钟周期传输一个像素点数据。视频流数据的传输是持续进行的过程,随着时钟周期的变化,相应传输的像素点数据也发生变化。
对于垂直同步子模块201而言,其接收帧起始信号、行起始信号和数据有效性信息,然后在当前时钟周期下,根据帧起始信号、行起始信号和数据有效性信号,在视频流数据中确定当前帧的行累计值。
本申请实施例中的当前帧,指的是帧起始信号指示的当前帧。由于帧起始信号指示的就是上一帧的结束或者下一帧的开始,因此基于帧起始信号,可以将已开始且未结束的帧确定为当前帧。
对于当前帧而言,当前帧中包括许多行,其中,每一行像素点就构成当前帧中的一行。而行累计值表示的是在当前时钟周期下,DSC已发送的视频流数据中包括了当前帧中的多少行。如上所述,DSC发送视频流数据的过程是一个持续的过程,在当前时钟周期内,正在发送当前帧数据。对当前帧而言,传输当前帧中的每一行也是需要一定的时间的,行累计值就是用于指示已发送了当前帧中的多少行。随着时间的变换,行累计值也会相应的发生变化。
对于水平同步子模块202而言,其接收行起始信号和数据有效性信号,然后在当前时钟周期下,根据行起始信号和数据有效性信号,在当前帧中确定当前行中的像素点累计值。
本申请实施例中的当前行,指的是行起始信号指示的当前行。在当前帧中,由于行起始信号指示的就是上一行的结束或者下一行的开始,因此基于行起始信号,可以将已开始且未结束的行确定为当前行。
对于当前行而言,当前行中包括许多像素点,而像素点累计值表示的是在当前时钟周期下,DSC已发送的视频流数据中包括了当前帧的当前行中的多少像素点。如上所述,DSC发送视频流数据的过程是一个持续的过程,在当前时钟周期内,正在发送当前帧中的当前行数据。对当前行而言,传输当前行中的每个像素点也是需要一定的时间的,像素点累计值就是用于指示已发送了当前行中的多少像素点。随着时间的变换,像素点累计值也会相应的发生变化。
下面分别对确定行累计值和像素点累计值的过程进行介绍。
首先介绍水平同步子模块确定像素点累计值的过程。
水平同步子模块202根据行起始信号,初始化像素点累计值为第一数值,第一数值为当前行的首个像素点和当前行的首个有效像素点之间间隔的像素点的数量,第一数值为预先设定的值。行起始信号可以指示当前行的开始,在当前行开始的时刻,直至数据有效性信号指示有效数据开始传输之前,存在第一数值个无效像素点,因此可以初始化像素点累计值为第一数值,第一数值大于或等于0。针对当前帧中的任意一行而言,在该行数据开始传输的时刻,均会初始化像素点累计值为第一数值。
然后,水平同步子模块202根据行起始信号和数据有效性信号,在当前行对应的时段中,确定当前时钟周期所属的时段,当前行对应的时段包括当前行的行起始时段、有效像素时段和无效像素时段。
行起始时段为当前行的起始时刻至当前行中的首个有效像素点的起始时刻之间的时段,有效像素时段为当前行中的首个有效像素点的起始时刻至当前行中的尾个有效像素点的结束时刻之间的时段,无效像素时段为当前行中的尾个有效像素点的结束时刻至当前行的结束时刻之间的时段。
三个时段的划分可以参见图3的介绍。
图3为本申请实施例提供的当前行对应的时段划分示意图,如图3所示,以当前行中包括20个像素点为例,在图3中标识了这20个像素点,传输这20个像素点的数据需要20个时钟周期。
如图3所示,行起始信号可以指示当前行中的第1个像素点的起始时刻,即t1,以及指示当前行中的第20个像素点的结束时刻,即t4。数据有效性信号可以指示当前行中的有效数据的起始时刻和结束时刻,即图3中的t2和t3。则,t1至t2之间的时段,属于行起始时段,t2至t3之间的时段,属于有效像素时段,t3至t4之间的时段,属于无效像素时段。
需要说明的是,t1至t2之间包括的像素点的数量,称为hstart,其表征的是当前行中的第一个像素点至首个有效像素点之间的距离。在本申请实施例中,hstart的值为一个定值,即第一数值。在图3中,第二数值设置为4,也就是说当前行中,前4个像素点为无效像素点,从第5个像素点开始属于有效像素点。
水平同步子模块202根据行起始信号和数据有效性信号可以确定当前时钟周期所属的时段。由于在行起始时段传输的像素点为无效像素点,因此在该时段内传输的像素点不进行计数,仅在有效像素时段和无效像素时段进行计数。
具体的,在当前时钟周期所属的时段为行起始时段的情况下,表示有效行的传输已经开始。然后,水平同步子模块202判断当前时钟周期下数据有效性信号是否处于有效状态,若是,则初始化像素点累计值为第一数值。
在当前时钟周期所属的时段为有效像素时段,且,像素点累计值小于第一像素点阈值的情况下,更新像素点累计值,更新后的像素点累计值为更新前的像素点累计值加一;
在当前时钟周期所属的时段为无效像素时段,且,像素点累计值小于第二像素点阈值的情况下,更新像素点累计值,更新后的像素点累计值为更新前的像素点累计值加一。本申请实施例中,第一像素点阈值和第二像素点阈值可能相等,也可能不等。
在一种可能的实现方式中,可以设置一个像素点计数器hcnt来记录像素点累计值,下面结合图4对该过程进行介绍。
图4为本申请实施例提供的确定像素点累计值的流程示意图,如图4所示,包括:
S41,对hcnt进行复位。
对hcnt进行复位的过程,就是将hcnt的取值复位为第一数值hstart的过程。针对新的一行,即在行起始信号指示新的一行后,复位hcnt为第一数值hstart。
S42,判断寄存器同步信号是否为1,若是,执行S48,若否,执行S43。
在寄存器同步信号为0的情况下,表示水平同步子模块接收到了寄存器同步模块的指示,寄存器同步配置已完成,可以执行后续流程;在寄存器同步信号为1的情况下,表示水平同步子模块未接收到寄存器同步模块的指示,寄存器同步配置已完成,暂时不能执行后续流程。
S43,判断行起始信号以及数据有效性信号是否为1,若是,执行S41,若否,执行S44。
S41至S43的步骤,即在当前时钟周期处于当前行的行起始时段时,表明此时当前行数据的传输已经开始。首先需要判断寄存器同步信号,当寄存器同步信号拉低后,再去判断DSC传入的行起始信号是否有效,一旦有效,则需要清除上一行hcnt计数的值。
S44,判断当前时钟周期所属的时段是否为无效像素时段,若是,执行S45,若否,执行S46。
S45,判断hcnt是否达到第二像素点阈值,若是,执行S48,若否,执行S47。
在当前时钟周期所属的时段为无效像素时段时,表示此时传输的是无效像素点数据,该时段内不传输有效数据,但hcnt仍需要继续计数,从而能够在数据传输期间正确指示出当前行的信息。但是在该期间内,不能直接根据数据有效性信号来判断,因为该时段内数据有效性信号处于无效状态,此时需要根据水平同步子模块中的寄存器预配置的第二像素点阈值来作为hcnt计数器阈值条件。即,若像素点累计值hcnt小于第二像素点阈值,则更新像素点累计值hcnt=hcnt+1,若像素点累计值hcnt等于第二像素点阈值,则对hcnt进行复位操作。
S46,判断hcnt是否达到第一像素点阈值,若是,执行S41,若否,执行S47。
在当前时钟周期所属的时段为有效像素时段时,表示此时传输的是有效像素点数据,正处于有效数据期间。因此,判断像素点累计值hcnt是否小于第一像素点阈值,若是,则更新像素点累计值hcnt=hcnt+1,若否,则hcnt计数器锁存当前的值。
S47,将hcnt加1。
S48,锁存hcnt计数器。
在上述实施例中,介绍了水平同步子模块确定像素点累计值的过程,下面介绍垂直同步子模块确定行累计值的过程。
垂直同步子模块201根据帧起始信号,初始化行累计值为第二数值,第二数值为当前帧的首个行和行起始信号指示的首个有效行之间间隔的行的数量,第二数值为预先设定的值。帧起始信号可以指示当前帧的开始,在当前帧开始的时刻,直至数据有效性信号指示有效数据开始传输之前,存在第二数值个无效行,因此可以初始化行累计值为第二数值,第二数值大于或等于0。针对当前帧而言,在该帧数据开始传输的时刻,均会初始化行累计值为第二数值。
然后,垂直同步子模块201根据帧起始信号、行起始信号和数据有效性信号,在当前帧对应的时段中,确定当前时钟周期所属的时段,其中,当前帧对应的时段包括当前帧的帧起始时段、有效行时段或无效行时段。
帧起始时段为当前帧的起始时刻至当前帧中的首个有效行的起始时刻之间的时段,有效行时段为当前帧中的首个有效行的起始时刻至当前帧中的尾个有效行的结束时刻之间的时段,无效行时段为当前帧中的尾个有效行的结束时刻至当前帧的结束时刻之间的时段。
三个时段的划分可以参见图5的介绍。
图5为本申请实施例提供的当前帧对应的时段划分示意图,如图5所示,以当前帧中包括10行为例,在图5中标识了这10行,每一行均包括多个像素点,由于每个像素点的传输需要一个时钟周期,因此每一行的数据传输需要多个时钟周期。
如图5所示,帧起始信号可以指示当前帧中的第1行的起始时刻,即t5,以及指示当前帧中的第10行的结束时刻,即t8。数据有效性信号可以指示当前帧中的有效数据的起始时刻和结束时刻,即图5中的t6和t7。则,t5至t6之间的时段,属于帧起始时段,t6至t7之间的时段,属于有效行时段,t7至t8之间的时段,属于无效行时段。
需要说明的是,t5至t6之间包括的行的数量,称为vstart,其表征的是当前帧中的第一行至首个有效行之间的距离。在本申请实施例中,vstart的值为一个定值,即第二数值。在图5中,第二数值设置为1,也就是说当前帧中,前1行为无效行,从第2行开始属于有效行。
垂直同步子模块201根据帧起始信号、行起始信号和数据有效性信号,可以确定当前时钟周期所属的时段。由于在帧起始时段传输的行为无效行,因此在该时段内传输的行不进行计数,仅在有效行时段和无效行时段进行计数。
具体的,在当前时钟周期所属的时段为帧起始时段的情况下,表示有效帧的传输已经开始。然后,垂直同步子模块201判断当前时钟周期下数据有效性信号是否处于有效状态,若是,则初始化行累计值为零。
在当前时钟周期所属的时段为有效行时段,且,行累计值小于预设行阈值的情况下,更新行累计值,更新后的行累计值为更新前的行累计值加一;
在当前时钟周期所属的时段为无效行时段,且,像素点累计值等于第一像素点阈值的情况下,更新行累计值,更新后的行累计值为更新前的行累计值加一。
在一种可能的实现方式中,可以设置一个行计数器vcnt来记录行累计值,下面结合图6对该过程进行介绍。
图6为本申请实施例提供的确定行累计值的流程示意图,如图6所示,包括:
S601,对vcnt进行复位。
对vcnt进行复位的过程,就是将vcnt的取值复位为第二数值vstart的过程。针对新的一帧,即在帧起始信号指示新的一帧后,复位vcnt为第一数值vstart。
S602,判断寄存器同步信号是否为1,若是,执行S608,若否,执行S603。
在寄存器同步信号为0的情况下,表示垂直同步子模块接收到了寄存器同步模块的指示,寄存器同步配置已完成,可以执行后续流程;在寄存器同步信号为1的情况下,表示垂直同步子模块未接收到寄存器同步模块的指示,寄存器同步配置已完成,暂时不能执行后续流程。
S603,判断帧起始信号以及数据有效性信号是否为1,若是,执行S604,若否,执行S606。
S601至S603的步骤,即在当前时钟周期处于当前帧的帧起始时段时,表明此时帧数据的传输已经开始。首先需要判断寄存器同步信号,当寄存器同步信号拉低后,再去判断DSC传入的帧起始信号是否有效,一旦有效,则需要清除上一行vcnt计数的值。
S604,判断vcnt是否达到预设行阈值,若是,执行S608,若否,执行S605。
预设行阈值可以根据HDMI视频格式支持的最大像素点数量来确定,在确定HDMI视频格式支持的最大像素点数量后,将HDMI视频格式支持的最大像素点数量除以每行包括的像素点数量,即可得到预设行阈值。
在当前时钟周期所属的时段为有效行时段时,表示此时传输的是有效行数据,正处于有效数据期间。因此,判断行累计值vcnt是否小于预设行阈值,若是,则更新行累计值vcnt=vcnt+1,若否,则vcnt计数器锁存当前的值。
S605,将vcnt加1。
S606,判断当前时钟周期所属的时段是否为无效行时段,若是,执行S607,若否,执行S601。
S607,判断hcnt是否达到第一像素点阈值,若是,执行S604,若否,执行S605。
在当前时钟周期所属的时段为无效行时段时,表示此时传输的是无效行数据,该时段内不传输有效数据,但不能根据行起始信号和帧起始信号作为触发条件,而是需要根据像素点计数器hcnt进行判断。即,若像素点累计值hcnt等于第一像素点阈值,则表示一个无效行结束,更新行累计值vcnt=vcnt+1;若像素点累计值hcnt小于第一像素点阈值,则表示一个无效行未结束,此时不对vcnt进行更新。
S608,锁存vcnt计数器。
在垂直同步子模块得到行累计值后,将行累计值发送给指示信号子模块;在水平同步子模块得到像素点累计值后,将像素点累计值发送给指示信号子模块,指示信号子模块则根据行累计值和像素点累计值,生成同步信号。下面将对该过程进行介绍。
指示信号子模块根据行累计值以及第二数值,可以生成帧同步信号,第二数值即为当前帧的首个行和行起始信号指示的首个有效行之间间隔的行的数量,即上述实施例中的vstart。
具体的,当行累计值小于等于(vstart-1)时,表示在当前时钟周期内仍在传输无效行,此时帧同步信号处于拉高状态,用于指示当前在传输无效行;当行累计值大于(vstart-1)时,表示在当前时钟周期内在传输有效行,此时帧同步信号处于拉低状态,用于指示当前在传输有效行。针对视频流数据中的每一帧,均循环该操作,输出帧同步信号。
指示信号子模块根据像素点累计值和第一数值,可以生成行同步信号,第一数值即为当前行的首个像素点和当前行的首个有效像素点之间间隔的像素点的数量,即上述实施例中的hstart。
具体的,当像素点累计值小于等于(hstart-1)时,表示在当前时钟周期内仍在传输无效像素点,此时行同步信号处于拉高状态,用于指示当前在传输无效像素点;当像素点累计值大于(hstart-1)时,表示在当前时钟周期内在传输有效像素点,此时帧同步信号处于拉低状态,用于指示当前在传输有效像素点。针对当前帧中的每一行,均循环该操作,输出行同步信号。
进一步的,指示信号子模块还可以根据行累计值和像素点累计值,生成有效数据指示信号,指示信号子模块输出的同步信号包括帧同步信号、行同步信号以及有效数据指示信号。
具体的,指示信号子模块在当前帧对应的时段中,确定行累计值对应的时段,行累计值对应的时段为有效行时段或无效行时段。
然后,根据行累计值对应的时段和像素点累计值,生成有效数据指示信号。
其中,在行累计值对应的时段为有效行时段,且,像素点累计值大于第三数值的情况下,有效数据指示信号处于有效状态,第三数值为第一数值减一;在行累计值对应的时段为无效行时段,和/或,像素点累计值小于等于第三数值的情况下,有效数据指示信号处于无效状态。
下面结合附图对数据缓存模块12对时序信号和同步信号的具体处理过程进行介绍。
数据缓存模块12主要是为了缓存DSC输出的数据,并且根据协议标准重组数据,以满足同步信号和数据信号对齐的要求。
如图2所示,数据缓存模块12包括写使能控制子模块211、写地址控制子模块212、重组子模块213、写数据控制子模块214、缓存子模块215、读使能控制子模块216、读地址控制子模块217和读数据控制子模块218。写使能控制子模块211、写地址控制子模块212、重组子模块213以及写数据控制子模块214,共同基于时序信号对视频流数据进行重组缓存处理,得到有效视频流数据,并缓存至缓存子模块215。读使能控制子模块216、读地址控制子模块217和读数据控制子模块218,共同基于同步信号,将缓存在缓存子模块215中的有效视频流数据进行输出。
重组子模块213,用于根据接收设备匹配的目标数据格式,并对有效视频流数据进行重组,得到目标数据格式下的有效视频流数据。
图7为本申请实施例提供的一种DSC输出数据分类排布示意图一,图8为本申请实施例提供的一种DSC输出数据分类排布示意图二,如图7和图8所示,其中,图7中以DSC输出数据为128比特为例,示例了每个像素点中包括的分量,例如包括亮度分量和色差分量,色差分量包括蓝色差分量(Cb)和红色差分量(Cr)等等。在图7中,每个分量为16比特。
由于大部分视频传输系统的DSC支持色深为8、10或12比特,因此传输无效比特是没有必要的,需要将多余的比特截取掉,以节省带宽。又因为每个亮度分量或色差最大为12比特,而一个像素点最大能容6个分量(包括4个亮度分量,2个色差分量),因此最终有效数据带宽为12*6=72比特。如图8所示,相对图7而言,将无效比特剔除后,即可得到有效视频流数据中的像素点的数据排布。在图8中,每个分量为12比特,相对图7中的排布,能够节省存储空间
缓存子模块215例如可以使用深度为2048,宽度为72的静态随机存取存储器(Static Random-Access Memory,SRAM)来存放数据。在将DSC输出的视频流数据写入到SRAM之前,需要将数据按照协议标准以及显示设备要求的数据格式进行重组。
常见的数据格式例如包括DSC422和DSC444/420,DSC422、DSC444和DSC420均为视频编码的格式,DSC444编码是无损的,DSC422编码是高度无损、色彩损失三分之一的,DSC420高度无损、色彩失真一半的。下面以这几个数据格式为例进行介绍。
由于DSC 422和DSC 444/420的色彩分量排布不同,需要根据具体模式进行数据重排。例如,DSC 422数据格式下,每个像素点包含4个亮度分量和2个红色差分量,2个蓝色差分量;而DSC 420数据格式下,每个像素点包含4个亮度分量,2个蓝色差分量或者2个红色差分量。此外,DSC在输出420数据格式的数据的时候,配置的是2像素模式输出,即128比特数据中包含2个像素点;在输出422的时候,配置的是1像素模式输出,即128比特数据中,包含1个像素点。
为满足要求,将数据进行重组。图9为本申请实施例提供的数据重组示意图一,如图9所示,数据格式是DSC 444/420,每个像素点包括4个亮度分量(即图9中的存储地址从15比特至31比特的分量“Y0”、存储地址从31比特至47比特的分量“Y1”、存储地址从79比特至95比特的分量“Y2”、存储地址从95比特至111比特的分量“Y3”),和,2个蓝色差分量或2个红色差分量(即图9中的存储地址从0比特至15比特的分量“Cb或Cr”,和,存储地址从64比特至79比特的分量“Cb或Cr”)。从图9中可以看到,每个分量所需的存储空间为16比特。
对上述数据进行重组,得到的重组后的数据可以参见图9所示。针对每个像素点而言,其包括4个亮度分量(即图9中的存储地址从11比特至23比特的分量“Y0”、存储地址从23比特至35比特的分量“Y1”、存储地址从35比特至47比特的分量“0”、存储地址从59比特至71比特的分量“Y2”、存储地址从71比特至83比特的分量“Y3”以及存储地址从83比特至95比特的分量“0”),和,2个蓝色差分量或2个红色差分量(即图9中的存储地址从0比特至11比特的分量“Cb或Cr”,和,存储地址从48比特至59比特的分量“Cb或Cr”)。从图9中可以看到,每个分量所需的存储空间为12比特。
图10为本申请实施例提供的数据重组示意图二,如图10所示,数据格式是DSC422,每个像素点包括4个亮度分量、2个蓝色差分量和2个红色差分量。
DSC 422与其他模式不同,该模式下,只有低比特在传输有效分量信息,因此需要将数据进行如图10示例的重组,剔除高比特的有效分量信息
对上述数据进行重组,得到的重组后的数据可以参见图10所示。从图10中可以看到,每个分量所需的存储空间为12比特。
写地址控制子模块212,在检测到帧起始信号时,表明一帧开始,这时需要清除上帧记录的地址信息,之后,再根据行起始信号,判断在有效行期间,地址有没有超出缓存子模块215的深度。若超出缓存子模块215的深度,则强制将地址清0;否则地址进行累加操作。
写使能控制子模块211,用于在数据有效性信号处于有效状态的情况下,根据帧起始信号和行起始信号,将目标数据格式下的有效视频流数据存储至缓存子模块215。写使能信号的产生需要利用数据有效性信号作为使能判断,一旦数据有效性信号处于有效状态,表明此时数据为有效数据,则写使能随之有效,表明DSC输出的数据可以写入到缓存子模块215中。
写数据控制子模块214,在写使能有效时,先判断DSC输出的视频流数据是否为422数据格式,若是,则按照422数据格式的排布方式,将视频流数据进行重组,然后将重组后的数据写入到缓存子模块215中,写地址控制子模块212的地址随之累加。若DSC输出的视频流数据为其他数据格式,则按照420/444的排布方式将视频流数据进行数据重组,然后将重组后的数据写入到缓存子模块215中,写地址控制子模块212的地址随之累加。
读地址控制子模块217,用于清除读地址空间。由于需要保证数据信号和同步信号的一致性,此时需要将生成的帧同步信号作为判断条件,一旦帧同步信号处于有效状态,表明此时同步信号已经生成,这时需要清除读地址空间,为后面有效数据行提供干净的地址。当检测到有效数据指示信号时,表面有效数据已经开始,这时,读地址需要进行累加,一旦读地址接近缓存子模块215深度时,强制将读地址清0。由于是同步操作,且写地址比读地址晚一行左右,因此不会出现缓存子模块215写满或者读空的现象。
读使能控制子模块216,用于在有效数据指示信号处于有效状态的情况下,根据帧同步信号和行同步信号,从缓存子模块中输出目标数据格式下的有效视频流数据。读使能控制子模块216通过读使能信号控制有效视频流数据的输出,读使能信号的产生需要利用生成的有效数据指示信号作为使能判断。若有效数据指示信号处于有效状态,立即将缓存子模块215中的数据读取出来,表明此时的同步信号和数据信号已经对齐,此时输出的数据是有效数据。
读数据控制子模块218,在检测到生成的数据有效性信号处于有效状态时,则将缓存子模块215的数据读出来,读地址随之累加。
综上所述,本申请实施例的方案,针对DSC输出的视频流数据,由于视频流数据是基于时序信号指示的时序信息来进行重组缓存处理的,而通过同步信息生成模块对时序信号进行重定时处理后生成的同步信号又指示有效视频流数据的输出,从而能够保证同步信号与有效视频流数据的严格同步,使得有效视频流数据能够正确的输入到下游的显示设备中,保障显示设备正确的显示。
图11为本申请实施例提供的视频流压缩同步控制方法的流程示意图,如图11所示,包括:
S111,接收视频流数据和针对所述视频流数据的时序信号;
S112,对所述时序信号进行重定时处理,生成同步信号;
S113,根据所述时序信号对所述视频流数据进行重组缓存处理,得到有效视频流数据;
S114,根据所述同步信号输出所述有效视频流数据。
在一种可能的实施方式中,所述时序信号包括帧起始信号、行起始信号以及数据有效性信号,所述对所述时序信号进行重定时处理,生成同步信号,包括:
在当前时钟周期下,根据所述帧起始信号、所述行起始信号和所述数据有效性信号,在所述视频流数据中确定所述帧起始信号指示的当前帧的行累计值;
在所述当前时钟周期下,根据所述行起始信号和所述数据有效性信号,在所述当前帧中确定所述行起始信号指示的当前行中的像素点累计值;
根据所述行累计值和所述像素点累计值,生成所述同步信号。
在一种可能的实施方式中,所述根据所述行起始信号和所述数据有效性信号,在所述当前帧中确定所述行起始信号指示的当前行中的像素点累计值,包括:
根据所述行起始信号,初始化所述像素点累计值为第一数值,所述第一数值为所述当前行的首个像素点和所述当前行的首个有效像素点之间间隔的像素点的数量;
根据所述行起始信号和所述数据有效性信号,在所述当前行对应的时段中,确定所述当前时钟周期所属的时段,所述当前行对应的时段包括所述当前行的行起始时段、有效像素时段和无效像素时段;
在所述当前时钟周期所属的时段为所述有效像素时段,且,所述像素点累计值小于第一像素点阈值的情况下,更新所述像素点累计值,更新后的像素点累计值为更新前的像素点累计值加一;
在所述当前时钟周期所属的时段为所述无效像素时段,且,所述像素点累计值小于第二像素点阈值的情况下,更新所述像素点累计值,更新后的像素点累计值为更新前的像素点累计值加一。
在一种可能的实施方式中,所述根据所述帧起始信号、所述行起始信号和所述数据有效性信号,在所述视频流数据中确定所述帧起始信号指示的当前帧的行累计值,包括:
根据所述帧起始信号,初始化所述行累计值为第二数值,所述第二数值为所述当前帧的首个行和所述行起始信号指示的首个有效行之间间隔的行的数量;
根据所述帧起始信号、所述行起始信号和所述数据有效性信号,在所述当前帧对应的时段中,确定所述当前时钟周期所属的时段,其中,所述当前帧对应的时段包括所述当前帧的帧起始时段、有效行时段或无效行时段;
在所述当前时钟周期所属的时段为所述有效行时段,且,所述行累计值小于预设行阈值的情况下,更新所述行累计值,更新后的行累计值为更新前的行累计值加一;
在所述当前时钟周期所属的时段为所述无效行时段,且,所述像素点累计值等于所述第一像素点阈值的情况下,更新所述行累计值,更新后的行累计值为更新前的行累计值加一。
在一种可能的实施方式中,所述根据所述行累计值和所述像素点累计值,生成所述同步信号,包括:
根据所述行累计值,以及所述第二数值,生成帧同步信号;
根据所述像素点累计值和所述第一数值,生成行同步信号;
根据所述行累计值和所述像素点累计值,生成有效数据指示信号,所述同步信号包括所述帧同步信号、所述行同步信号以及所述有效数据指示信号。
在一种可能的实施方式中,所述根据所述行累计值和所述像素点累计值,生成有效数据指示信号,包括:
在所述当前帧对应的时段中,确定所述行累计值对应的时段,所述行累计值对应的时段为所述有效行时段或所述无效行时段;
根据所述行累计值对应的时段和所述像素点累计值,生成所述有效数据指示信号;
其中,在所述行累计值对应的时段为所述有效行时段,且,所述像素点累计值大于第三数值的情况下,所述有效数据指示信号处于有效状态,所述第三数值为所述第一数值减一;
在所述行累计值对应的时段为所述无效行时段,和/或,所述像素点累计值小于等于所述第三数值的情况下,所述有效数据指示信号处于无效状态。
在一种可能的实施方式中,所述根据所述同步信号输出所述有效视频流数据,包括:
根据接收设备匹配的目标数据格式,对所述有效视频流数据进行重组,得到所述目标数据格式下的有效视频流数据;
在所述数据有效性信号处于有效状态的情况下,根据所述帧起始信号和所述行起始信号,将所述目标数据格式下的有效视频流数据存储至所述缓存子模块;
在所述有效数据指示信号处于有效状态的情况下,根据所述帧同步信号和所述行同步信号,从所述缓存子模块中输出所述目标数据格式下的有效视频流数据。
在一种可能的实施方式中,所述方法还包括:
对所述同步信息生成模块和所述数据缓存模块中的寄存器进行同步配置;
在所述寄存器同步配置完成后,向所述同步信息生成模块和所述数据缓存模块发送寄存器同步信号;
所述对所述时序信号进行重定时处理,生成同步信号,包括:
在接收到所述寄存器同步信号后,对所述时序信号进行重定时处理,生成所述同步信号;
所述根据所述时序信号对所述视频流数据进行重组缓存处理,得到有效视频流数据,包括:
在接收到所述寄存器同步信号后,根据所述时序信号对所述视频流数据进行重组缓存处理,得到所述有效视频流数据。
图12示例了一种电子设备的实体结构示意图,如图12所示,该电子设备可以包括:处理器(processor)1210、通信接口(Communications Interface)1220、存储器(memory)1230和通信总线1240,其中,处理器1210,通信接口1220,存储器1230通过通信总线1240完成相互间的通信。处理器1210可以调用存储器1230中的逻辑指令,以执行视频流压缩同步控制方法,该方法包括:接收视频流数据和针对所述视频流数据的时序信号;对所述时序信号进行重定时处理,生成同步信号;根据所述时序信号对所述视频流数据进行重组缓存处理,得到有效视频流数据;根据所述同步信号输出所述有效视频流数据。
此外,上述的存储器1230中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
又一方面,本申请还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法提供的视频流压缩同步控制方法,该方法包括:接收视频流数据和针对所述视频流数据的时序信号;对所述时序信号进行重定时处理,生成同步信号;根据所述时序信号对所述视频流数据进行重组缓存处理,得到有效视频流数据;根据所述同步信号输出所述有效视频流数据。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

Claims (11)

1.一种视频流压缩同步控制电路,其特征在于,包括同步信息生成模块和数据缓存模块,其中:
所述同步信息生成模块,用于接收针对视频流数据的时序信号;对所述时序信号进行重定时处理,生成同步信号;向所述数据缓存模块发送所述同步信号;
所述数据缓存模块,用于接收所述时序信号和所述视频流数据;根据所述时序信号对所述视频流数据进行重组缓存处理,得到有效视频流数据;根据所述同步信号输出所述有效视频流数据。
2.根据权利要求1所述的视频流压缩同步控制电路,其特征在于,所述时序信号包括帧起始信号、行起始信号以及数据有效性信号,所述同步信息生成模块包括垂直同步子模块、水平同步子模块以及指示信号子模块;其中:
所述垂直同步子模块,用于在当前时钟周期下,根据所述帧起始信号、所述行起始信号和所述数据有效性信号,在所述视频流数据中确定所述帧起始信号指示的当前帧的行累计值;
所述水平同步子模块,用于在所述当前时钟周期下,根据所述行起始信号和所述数据有效性信号,在所述当前帧中确定所述行起始信号指示的当前行中的像素点累计值;
所述指示信号子模块,用于根据所述行累计值和所述像素点累计值,生成所述同步信号。
3.根据权利要求2所述的视频流压缩同步控制电路,其特征在于,所述水平同步子模块,具体用于:
根据所述行起始信号,初始化所述像素点累计值为第一数值,所述第一数值为所述当前行的首个像素点和所述当前行的首个有效像素点之间间隔的像素点的数量;
根据所述行起始信号和所述数据有效性信号,在所述当前行对应的时段中,确定所述当前时钟周期所属的时段,所述当前行对应的时段包括所述当前行的行起始时段、有效像素时段和无效像素时段;
在所述当前时钟周期所属的时段为所述有效像素时段,且,所述像素点累计值小于第一像素点阈值的情况下,更新所述像素点累计值,更新后的像素点累计值为更新前的像素点累计值加一;
在所述当前时钟周期所属的时段为所述无效像素时段,且,所述像素点累计值小于第二像素点阈值的情况下,更新所述像素点累计值,更新后的像素点累计值为更新前的像素点累计值加一。
4.根据权利要求2或3所述的视频流压缩同步控制电路,其特征在于,所述垂直同步子模块,具体用于:
根据所述帧起始信号,初始化所述行累计值为第二数值,所述第二数值为所述当前帧的首个行和所述行起始信号指示的首个有效行之间间隔的行的数量;
根据所述帧起始信号、所述行起始信号和所述数据有效性信号,在所述当前帧对应的时段中,确定所述当前时钟周期所属的时段,其中,所述当前帧对应的时段包括所述当前帧的帧起始时段、有效行时段或无效行时段;
在所述当前时钟周期所属的时段为所述有效行时段,且,所述行累计值小于预设行阈值的情况下,更新所述行累计值,更新后的行累计值为更新前的行累计值加一;
在所述当前时钟周期所属的时段为所述无效行时段,且,所述像素点累计值等于第一像素点阈值的情况下,更新所述行累计值,更新后的行累计值为更新前的行累计值加一。
5.根据权利要求4所述的视频流压缩同步控制电路,其特征在于,所述指示信号子模块,具体用于:
根据所述行累计值,以及所述第二数值,生成帧同步信号;
根据所述像素点累计值和第一数值,生成行同步信号;
根据所述行累计值和所述像素点累计值,生成有效数据指示信号,所述同步信号包括所述帧同步信号、所述行同步信号以及所述有效数据指示信号。
6.根据权利要求5所述的视频流压缩同步控制电路,其特征在于,所述指示信号子模块根据所述行累计值和所述像素点累计值,生成有效数据指示信号的步骤,包括:
在所述当前帧对应的时段中,确定所述行累计值对应的时段,所述行累计值对应的时段为所述有效行时段或所述无效行时段;
根据所述行累计值对应的时段和所述像素点累计值,生成所述有效数据指示信号;
其中,在所述行累计值对应的时段为所述有效行时段,且,所述像素点累计值大于第三数值的情况下,所述有效数据指示信号处于有效状态,所述第三数值为所述第一数值减一;
在所述行累计值对应的时段为所述无效行时段,和/或,所述像素点累计值小于等于所述第三数值的情况下,所述有效数据指示信号处于无效状态。
7.根据权利要求2或3所述的视频流压缩同步控制电路,其特征在于,所述数据缓存模块包括重组子模块、写使能控制子模块、缓存子模块以及读使能控制子模块;
所述重组子模块,用于根据接收设备匹配的目标数据格式,对所述有效视频流数据进行重组,得到所述目标数据格式下的有效视频流数据;
所述写使能控制子模块,用于在所述数据有效性信号处于有效状态的情况下,根据所述帧起始信号和所述行起始信号,将所述目标数据格式下的有效视频流数据存储至所述缓存子模块;
所述读使能控制子模块,用于在所述有效数据指示信号处于有效状态的情况下,根据帧同步信号和行同步信号,从所述缓存子模块中输出所述目标数据格式下的有效视频流数据。
8.根据权利要求1-3任一项所述的视频流压缩同步控制电路,其特征在于,还包括寄存器同步模块,所述寄存器同步模块用于:
对所述同步信息生成模块和所述数据缓存模块中的寄存器进行同步配置;在所述寄存器同步配置完成后,向所述同步信息生成模块和所述数据缓存模块发送寄存器同步信号;
所述同步信息生成模块对所述时序信号进行重定时处理,生成同步信号的步骤,包括:
在接收到所述寄存器同步信号后,对所述时序信号进行重定时处理,生成所述同步信号;
所述数据缓存模块根据所述时序信号对所述视频流数据进行重组缓存处理,得到有效视频流数据的步骤,包括:
在接收到所述寄存器同步信号后,根据所述时序信号对所述视频流数据进行重组缓存处理,得到所述有效视频流数据。
9.一种视频流压缩同步控制方法,其特征在于,包括:
接收视频流数据和针对所述视频流数据的时序信号;
对所述时序信号进行重定时处理,生成同步信号;
根据所述时序信号对所述视频流数据进行重组缓存处理,得到有效视频流数据;
根据所述同步信号输出所述有效视频流数据。
10.一种电子设备,其特征在于,包括如权利要求1-8任一项所述的视频流压缩同步控制电路。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求9所述的视频流压缩同步控制方法。
CN202311220240.8A 2023-09-20 2023-09-20 视频流压缩同步控制电路、方法及设备 Pending CN117499680A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311220240.8A CN117499680A (zh) 2023-09-20 2023-09-20 视频流压缩同步控制电路、方法及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311220240.8A CN117499680A (zh) 2023-09-20 2023-09-20 视频流压缩同步控制电路、方法及设备

Publications (1)

Publication Number Publication Date
CN117499680A true CN117499680A (zh) 2024-02-02

Family

ID=89683661

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311220240.8A Pending CN117499680A (zh) 2023-09-20 2023-09-20 视频流压缩同步控制电路、方法及设备

Country Status (1)

Country Link
CN (1) CN117499680A (zh)

Similar Documents

Publication Publication Date Title
CN109618179B (zh) 超高清视频直播的快速起播方法及装置
US8355078B2 (en) HDMI transmission systems for delivering image signals and packetized audio and auxiliary data and related HDMI transmission methods
EP2911381B1 (en) Method and device for processing video image
WO2016107496A1 (zh) 处理视频帧的方法、视频处理芯片以及运动估计和运动补偿memc芯片
US9288418B2 (en) Video signal transmitter apparatus and receiver apparatus using uncompressed transmission system of video signal
CN108965819B (zh) 一种同步信号处理方法、装置及视频传输系统
KR101677223B1 (ko) 픽셀 반복 대역폭을 이용하여 비디오 및 오디오 스트림들 결합
CN111314640B (zh) 一种视频压缩方法、设备以及介质
CN105681720A (zh) 视频播放的处理方法及装置
CN117499680A (zh) 视频流压缩同步控制电路、方法及设备
JP2015204513A (ja) 送信装置、受信装置および送受信システム
CN107666582B (zh) 视频信号转换方法、系统、装置及视频处理装置
CN113132552A (zh) 视频流处理方法及装置
CN111355914B (zh) 一种视频制式信号生成装置和方法
US11451648B2 (en) Multimedia communication bridge
CN115885510A (zh) 一种视频切换方法及相关设备
CN113452933B (zh) 视频信号转换方法及显示设备
JP2008015565A (ja) 画像処理回路および画像処理システムならびに画像処理方法
CN113193931B (zh) 一种arinc818节点时间确定性传输装置及方法
US7233366B2 (en) Method and apparatus for sending and receiving and for encoding and decoding a telop image
CN110677553B (zh) 一种拼接墙信号同步显示方法、装置、系统和设备
WO2023087143A1 (zh) 一种视频传输方法和装置
CN117255164A (zh) 数据处理方法、装置、电子设备及可读存储介质
US20220124282A1 (en) Data conversion and high definition multimedia interface receiving device
JP2017011686A (ja) ビデオ信号伝送装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination