CN100551005C - 可编程视频处理和视频存储结构 - Google Patents

可编程视频处理和视频存储结构 Download PDF

Info

Publication number
CN100551005C
CN100551005C CNB2004800391781A CN200480039178A CN100551005C CN 100551005 C CN100551005 C CN 100551005C CN B2004800391781 A CNB2004800391781 A CN B2004800391781A CN 200480039178 A CN200480039178 A CN 200480039178A CN 100551005 C CN100551005 C CN 100551005C
Authority
CN
China
Prior art keywords
processor
video
programmable processor
port
image processing
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.)
Expired - Fee Related
Application number
CNB2004800391781A
Other languages
English (en)
Other versions
CN1902921A (zh
Inventor
L·利平科特
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.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of CN1902921A publication Critical patent/CN1902921A/zh
Application granted granted Critical
Publication of CN100551005C publication Critical patent/CN100551005C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/91Television signal processing therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/91Television signal processing therefor
    • H04N5/911Television signal processing therefor for the suppression of noise
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/80Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N9/804Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components
    • H04N9/8042Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components involving data reduction

Abstract

在一个实施例中,一种方法包括将视频接收到视频显示设备中。该方法还包括当确定视频显示设备处于存储模式时,由至少一个处理器将所述视频存储到存储器中。此外,该方法还包括当确定所述视频显示设备处于图像处理模式时,用至少一个处理器对视频执行增强图像处理。

Description

可编程视频处理和视频存储结构
相关申请的交叉引用
本专利申请涉及2003年6月19日提交的、授予Louis A.Lippincott的、题为“Processor to Processor Communication in a Data DrivenArchitecture(数据驱动结构中处理器到处理器通信)”的美国专利申请No.10/600,047(客户案号:P15961,代理人案号:884.898US1),它被转让给本专利申请的受让人。本专利申请还涉及2003年6月19日提交的、授予Louis A.Lippincott的、题为“Communication Ports ina Data Driven Architecture(数据驱动结构中的通信端口)”的美国专利申请No.10/600,048(客户案号:P15962,代理人案号:884.899US1),它被转让给本专利申请的受让人。
技术领域
本发明一般涉及电子数据处理,更具体地说,涉及可编程视频处理和视频存储结构。
背景技术
已经开发了许多不同的电子设备来协助观众记录和观看视频。一种需求在增加的此类设备是数字视频录像机,它允许用户暂停实况转播的电视、回退等。
发明内容
在第一实施例中,本发明提供了一种视频信号处理和存储方法,包括:
将视频接收到视频显示设备中;
当确定所述视频显示设备处于存储模式时,由至少一个处理器将所述视频存储到存储器中,其中,存储到所述存储器中的视频将随后被检索用来在耦合到所述视频显示设备的视频显示器上显示;以及
当确定所述视频显示设备处于图像处理模式时,用所述至少一个处理器对所述视频执行增强图像处理,其中,当确定所述视频没有存储到所述存储器中或存储到所述存储器中的视频没有被检索用来在视频显示器上显示时,所述视频显示设备在所述图像处理模式中进行操作。
在第二实施例中,本发明提供了一种视频信号处理和存储装置,包括:
连接到存储器的输入/输出接口;以及
第一可编程处理器,用于在所述装置的当前模式是图像处理模式的情况下,对视频执行第一增强图像处理操作,并且其中在所述装置的当前模式是存储模式的情况下,第一可编程处理器将所述视频存储到所述存储器,其中,存储到所述存储器中的视频将随后被检索用来在耦合到所述装置的视频显示器上显示,以及其中,当确定所述视频没有存储到所述存储器中或存储到所述存储器中的视频没有被检索用来在视频显示器上显示时,所述装置在所述图像处理模式中进行操作。
在第三实施例中,本发明提供了一种视频信号处理和存储装置,包括:
存储器;
第一可编程处理器,用于在所述装置的当前模式是图像处理模式的情况下,对视频执行第一增强图像处理操作,并且其中在所述装置的当前模式是存储模式的情况下,第一可编程处理器将对所述视频执行压缩操作;以及
第二可编程处理器,用于在所述装置的当前模式是所述图像处理模式的情况下,通过包括经由第三可编程处理器的路径的第一逻辑连接,接收来自第一增强图像处理操作的输出,并对所述视频执行第二增强图像处理操作,并且其中在所述装置的当前模式是所述存储模式的情况下,第二可编程处理器通过包括经由第四可编程处理器的路径的第二逻辑连接,接收来自所述压缩操作的输出,并将所述视频存储到所述存储器中。
在第四实施例中,本发明提供了一种视频信号处理和存储装置,包括:
将视频接收到视频显示设备中的部件;
当确定所述视频显示设备处于存储模式时由至少一个处理器将所述视频存储到存储器中的部件,其中,存储到所述存储器中的视频将随后被检索用来在耦合到所述视频显示设备的视频显示器上显示;以及
当确定所述视频显示设备处于图像处理模式时用所述至少一个处理器对所述视频执行增强图像处理的部件,其中,当确定所述视频没有存储到所述存储器中或存储到所述存储器中的视频没有被检索用来在视频显示器上显示时,所述视频显示设备在所述图像处理模式中进行操作。
附图说明
通过参考说明本发明实施例的以下描述和附图,将最好地理解本发明的实施例。本文所含附图的编号方式是一个附图中的给定参考号的第一个数字与该附图的编号相关。例如,在图1中可以找到系统100。但是,对于不同附图中相同的那些部件,参考号是相同的。在附图中:
图1图示根据本发明一个实施例的系统配置的简化框图,包括可编程视频处理和视频存储结构。
图2图示根据本发明一个实施例的可编程处理单元更详细框图。
图3图示根据本发明一个实施例的可编程处理器的更详细框图。
图4图示根据本发明一个实施例的可编程处理器的端口环和相关端口。
图5图示根据本发明一个实施例的发射器或接收器端口内的FIFO存储器和该存储器的相关接口信号。
图6图示根据本发明一个实施例的接收器端口以及相关接口信号的更详细框图。
图7A-7G图示根据本发明一个实施例的与不同发射器端口通信的接收器端口的更详细框图。
图8图示根据本发明一个实施例的发射器端口以及相关接口信号的更具体的框图。
图9A-9E图示根据本发明一个实施例的与使用不同接口信号的不同接收器端口通信的发射器端口的更详细框图。
图10图示根据本发明一个实施例用于从源可编程处理器到目的可编程处理器的给定逻辑连接的许多不同路由。
图11图示根据本发明一个实施例用于可编程处理单元内建立和初始化逻辑连接的流程图。
图12图示根据本发明一个实施例用于可编程处理单元处理数据的流程图。
图13A-13B图示根据本发明实施例用于可编程处理器中的不同端口的存储器之间通信的流程图。
图14图示根据本发明一个实施例的可编程处理单元的多模式操作的流程图。
具体实施方式
描述了用于可编程视频处理和视频存储结构的方法、装置和系统。在下文描述中,阐述了大量具体细节。但是,要理解,本发明的实施例可不依据这些具体细节来实施。在其它示例中,没有详细示出已熟知的电路、结构和技术,以便不模糊对本说明书的理解。虽然是参考视频处理和存储来描述的,但是本发明的实施例并不局限于此。例如,本发明的实施例可以包括作为视频和/或音频一部分的音频元数据等的处理和存储(例如关闭字幕等)。
本详细说明分成两个部分。在第一部分中,给出硬件和操作环境。在第二部分中,给出可编程视频处理和视频存储结构的可编程处理单元的操作。此外,还对第一部分和第二部分进行了划分。第一部分被分成系统的说明、可编程处理单元的说明、可编程处理器的说明、端口环和可编程处理器端口的说明以及可编程处理器之间逻辑连接的说明。第二部分被分成可编程处理器之间数据传输操作的说明以及可编程处理单元多模式操作的说明。
硬件和操作环境
在这一部分中,给出硬件和操作环境。
系统说明
图1图示根据本发明一个实施例的系统配置的简化框图,包括可编程视频处理和视频存储结构。如图所示,图1图示系统100,它包括视频调谐器102、视频信号处理器104、可编程处理单元106、存储器108、视频显示处理器110和视频显示器112。在一个实施例中,系统100可包括可设在任何数量不同观看设备如不同类型电视、计算机监视器等内的组件。在另一个实施例中,这些组件的一部分可以是机顶盒、媒体中心等的一部分。例如,视频调谐器102、视频信号处理器104、可编程处理单元106和存储器108可设在机顶盒内,而视频显示处理器110和视频显示器112设在显示设备(例如电视)内。在一个实施例中,存储器108可以是不同类型的随机存取存储器(RAM)。例如,存储器108可以是同步动态RAM(SDRAM)、DRAM、双倍数据速率(DDR)同步动态RAM(SDRAM)等。
视频调谐器102连接到视频信号处理器104。视频信号处理器104连接到可编程处理单元106。可编程处理单元106连接到存储器108和视频显示处理器110。视频显示处理器110连接到视频显示器112。连接视频调谐器102以接收信号114。在一个实施例中,信号114是射频(RF)信号。视频调谐器102基于当前为在视频显示器112上观看而选择的频道,接收信号114,并将信号114转换成模拟视频信号116。
视频信号处理器104接收模拟视频信号116,并将模拟视频信号116转换成数字视频信号118。在一个实施例中,在模拟视频信号116转换成数字视频信号118前,视频信号处理器104对模拟视频信号116滤波。例如,视频信号处理器104可对模拟视频信号116滤波,以从相邻频道移除噪声。在一个实施例中,视频信号处理器104对模拟视频信号116滤波,以移除来自音频信号的噪声。数字视频信号118可以是可包含用于在视频显示器112上显示的同步信号的数据流。
可编程处理单元106接收数字视频信号118。如下文进一步描述的,在一个实施例中,可编程处理单元106根据系统100的当前模式执行不同的操作。在一个此类实施例中,可编程处理单元106以如下两种模式其中之一操作:1)存储模式以及2)图像处理模式。在存储模式中,系统100的用户可能正在保存或重放已接收到系统100中的视频。在一个实施例中,可编程处理单元106将视频存储在存储器108中。为了图示,假定系统100是电视的一部分。用户可保存正在信号114上接收的视频。例如,用户可将正在视频显示器112上显示的视频暂停一给定时间段。此外,在存储模式中,用户可重放在视频显示器112上显示的视频,由此使输入视频的存储被存储在存储器108中。
在一个实施例中,如果用户未将可编程处理单元106置于存储模式,则可编程处理单元106处于图像处理模式。在一个实施例中,编程处理单元106保持在存储模式,直到存储器108不包含所存储的视频以供显示为止。当用户未在尝试重放保存在存储器108内的视频,或用户未在尝试将正在接收到系统100中的视频保存在存储器108时,可以启动图像处理模式。如下文进一步描述的,在一个此类实施例中,可编程处理单元106对输入视频信号执行增强的视频处理。这种增强可以包括减少重影、噪声、点蠕动等。可编程处理单元106可以使用存储器108来存储输入视频的多个帧。因此,可编程处理单元106可以执行多个帧上图像的增强。例如,可编程处理单元106可在多个帧上执行时间噪声减少。下文将更详细地描述可编程处理单元106及其中的操作。
视频显示处理器110从可编程处理单元106接收视频,并可对该视频执行许多操作,以便在视频显示器112上显示。例如,视频显示处理器110可基于色彩设置、对比度设置等来调节视频。连接视频显示器112,以从视频显示处理器110接收信号。虽然视频显示器112可以是许多不同类型的显示器,但在一个实施例中,视频显示器112可以是阴极射线管(CRT)、等离子显示器、液晶显示器(LCD)等。
因此,本发明的实施例包括灵活的可编程结构,以基于操作模式来提供备选功能。此类功能包括数字视频录像机的操作以及考虑到对视频的增强图像处理的操作。因此,结合本发明实施例的显示设备可提供对广播内容的给定频道的回退、暂停、快进和播放功能,以及广播内容的改进的图像质量。
可编程处理单元的说明
现在描述可编程处理单元106的一个实施例。具体来说,图2图示了根据本发明一个实施例的可编程处理单元的更详细框图。如图所示,可编程处理单元106包括可编程处理器202A-202H。可编程处理器202A-202H分别包括端口环250A-250H。如下文进一步描述的,端口环250A-250H包括许多端口,通过这些端口可编程处理器202A-202H传送接口(控制和数据)信号。在一个实施例中,给定的端口环250包括8个I/O端口,其中每个此类I/O端口是双向连接,以便可以经由两个单独的单向数据总线同时发送和接收数据。换言之,I/O端口包括发射器端口和接收器端口。
可编程处理单元106还包括直接存储器存取(DMA)单元204、DMA单元210、存储器接口206、输入/输出(I/O)接口208以及主机处理器214。虽然图2图示了8个可编程处理器202,但是实施例并不局限于此,因为可将更大和/或更小数量的此类元件结合到可编程处理单元106的实施例中。在一个实施例中,主机处理器214可以是不同类型的通用处理器。I/O接口208提供了至可编程处理单元106的I/O设备或外围组件的接口。I/O接口208可包括任何适当的接口控制器,以提供至可编程处理单元106的不同组件的任何适当的通信链路。一个实施例的I/O接口208为许多接口的其中之一提供适当的仲裁和缓冲。
如图所示,可编程处理器202A-202H之间的互连提供了点到点最近相邻配置,其中给定的可编程处理器202在物理上连接到可编程处理单元106内的四个其它部件(例如不同的可编程处理器202、DMA单元204)。换言之,给定可编程处理器204并非在物理上连接到可编程处理单元106内的每个其它可编程处理器204。如下文进一步描述的,可经由一系列中间可编程处理器202将数据从源可编程处理器202发送到目的可编程处理器202。在一个实施例中,经由一系列中间可编程处理器202的传送是这样的:使得数据经由端口环250在中间可编程处理器202的接收器端口上接收,并在中间可编程处理器202的发射器端口上输出。因此,中间可编程处理器202内没有处理器部件对数据执行作为将数据从源传送到目的可编程处理器202的一部分的处理操作。
经由端口环250A,可编程处理器202A通过两个I/O端口连接到I/O接口208,并通过不同的I/O端口连接到可编程处理器202D的端口环250D。经由端口环250A,可编程处理器202A通过两个其它不同的I/O端口连接到DMA单元204。经由端口环250A,可编程处理器202A还通过另外两个不同的I/O端口连接到可编程处理器202B的端口环250B。再者,经由端口环250A,可编程处理器202A还通过两个其它I/O端口连接到可编程处理器202E的端口环250E。
经由端口环250B,可编程处理器202B通过两个不同的I/O端口连接到DMA单元204。经由端口环250B,可编程处理器202B还通过两个其它不同的I/O端口连接到可编程处理器202C的端口环250C。经由端口环250B,可编程处理器202B通过另外两个不同的I/O端口连接到可编程处理器202F的端口环250F。
经由端口环250C,可编程处理器202C通过两个不同的I/O端口连接到DMA单元204。经由端口环250C,可编程处理器202C还通过两个其它不同的I/O端口连接到可编程处理器202D的端口环250D。经由端口环250C,可编程处理器202C通过另外两个不同的I/O端口连接到可编程处理器202G的端口环250G。
经由端口环250D,可编程处理器202D通过两个不同的I/O端口连接到DMA单元204。经由端口环250D,可编程处理器202D还通过两个I/O端口连接到DMA单元210,并通过不同的I/O端口连接到可编程处理器202A的端口环250A。经由端口环250D,可编程处理器202D通过另外两个不同的I/O端口连接到可编程处理器202H的端口环250H。
经由端口环250E,可编程处理器202E通过两个I/O端口连接到I/O接口208,并通过不同的I/O端口连接到可编程处理器202H的端口环250H。经由端口环250E,可编程处理器202E还通过另外两个不同的I/O端口连接到可编程处理器202F的端口环250F。再者,经由端口环250E,可编程处理器202E还通过两个其它的I/O端口连接到可编程处理器202A的端口环250A。
经由端口环250F,可编程处理器202F通过两个其它不同的I/O端口连接到可编程处理器202G的端口环250G。经由端口环250F,可编程处理器202F通过另外两个不同的I/O端口连接到可编程处理器202B的端口环250B。
经由端口环250G,可编程处理器202G通过两个不同的I/O端口连接到可编程处理器202H的端口环250H。经由端口环250G,可编程处理器202G通过另外两个不同的I/O端口连接到可编程处理器202C的端口环250C。
经由端口环250H,可编程处理器202H还通过两个I/O端口连接到DMA单元212,并通过不同的I/O端口连接到可编程处理器202E的端口环250E。经由端口环250H,可编程处理器202H还通过另外两个不同的I/O端口连接到可编程处理器202D的端口环250D。
I/O接口208还可以在外部连接到不同的外部设备。在一个实施例中,在外部连接I/O接口208,以从视频信号处理器104接收数字视频信号118,并在外部连接I/O接口208,以向视频显示处理器110传送数字视频信号118。在一个实施例中,I/O接口208可以在外部连接到其它可编程处理单元106,由此允许扩充可一起传递和处理图像数据的可编程处理器202的数量。在一个实施例中,可将许多可编程处理单元106菊链到一起,以便允许处理许多不同可编程处理单元106上的数据。
DMA单元204连接到存储器接口206。存储器接口206连接到存储器108。如下文更详细描述的,可经由DMA单元204和存储器接口206将数据(例如来自可编程处理器202其中之一的处理操作结果的输出)存储到存储器108中,并从中读取数据。
主机处理器214连接到内部全局总线216。虽然图2中未示出,但是内部全局总线216连接到可编程处理单元106内的不同部件。因此,主机处理器214可直接与可编程处理单元106内的不同部件的每一个通信/对其进行配置。
可编程处理器的说明
图3是根据本发明一个实施例的可编程处理器的更详细框图。具体来说,图3图示了根据本发明一个实施例的可编程处理器202其中之一的更详细框图。
可编程处理器202包括输入处理器部件302、输出处理器部件304、多个处理器部件306A-306C、多个寄存器308、多个加速器单元310A-310B、存储器314和存储器控制器316。输入处理器部件302、输出处理器部件304、处理器部件306A-306C、加速器单元310A-310B和存储器314(经由存储器控制器316)连接到寄存器308。寄存器308使处理器部件302、304和306、加速器单元310A-310B以及存储器314能够交换数据,并可用作给定处理器部件302、304和306以及加速器单元310A-310B的通用寄存器。此外,处理器部件302、304和306以及加速器单元310A-310B可包括多个局部寄存器(未示出)。
在一个实施例中,输入处理器部件302、输出处理器部件304以及处理器部件306A-306C包括用于数据处理的指令存储器和算术逻辑单元(ALU)。输入处理器部件302和输出处理器部件304通过端口环250连接到可编程处理器202的端口,以分别接收输入到可编程处理器202的数据和发送从可编程处理器202输出的数据(结合图4-9对此予以更详细描述)。除了数据的输入和输出,输入处理器部件302和/或输出处理器部件304可处理该数据(类似于处理器部件306A-306C提供的处理)。不同的处理器部件306A-306C可以是通用处理器部件或专用处理器部件。例如,处理器部件306A-306C可以是乘法累计(MAC)处理器部件,它包括用于通用处理的指令集以及用于MAC功能的指令集。处理器部件306A-306C可以是通用处理器部件与专用处理器部件的组合。例如,处理器部件306A和306C可以是MAC处理器部件,而处理器部件306B可以是通用处理器部件。虽然图3图示了可编程处理器202内的5个处理器部件,但是在其它实施例中,可以将更大和/或更小数量的此类处理器部件结合到可编程处理器202中。
输入处理器部件302是作为输入端口的具有端口接口的通用处理器部件。在一个实施例中,输入处理器部件302内的指令具有作为附加输入操作数的端口,以及寄存器308和输入处理器部件302内的局部寄存器。输出处理器部件304是作为输出端口的具有端口接口的通用处理器部件。在一个实施例中,输出处理器部件304内的指令具有作为附加输出操作数的端口,以及寄存器308和输出处理器部件304内的局部寄存器。
端口环和可编程处理器的端口
图4是根据本发明一个实施例的可编程处理器的端口环和相关联的端口。连接可编程处理器202,以通过端口环250往返于端口404A-404H输入和输出数据。如图所示,在一个实施例中,端口404A-404H是双向数据连接,允许数据从一个可编程处理器202流到不同的单元(诸如不同的可编程处理器202、DMA单元204、I/O接口208)。
给定端口404A-404H包括接收器端口和发射器端口,分别用于将数据接收到端口404和将数据从端口404传送出去。具体来说,端口404A-404H分别包括接收器端口406A-406H和发射器端口408A-408H。下文结合图6和图7分别描述接收器端口的实施例和发射器端口的实施例。在一个实施例中,可编程处理器202通过端口404A-404H连接到相邻(最近邻域)可编程处理器202(如图2所示)。
现在将描述(端口404之一内)包括FIFO存储器的接收器和发射器端口的一个实施例。图5图示了根据本发明一个实施例的发射器或接收器端口内的FIFO存储器以及该存储器的相关接口信号。
如图所示,FIFO存储器500接收init_in信号506,并传送init_out信号510,它们(如下文更详细描述的)是用于初始化和生成用于通过不同可编程处理器202传送数据的逻辑连接的控制信号。FIFO存储器500接收data_in信号502,它将数据输入到FIFO存储器500的入口的其中之一。
FIFO存储器500还图示了多个许可/请求信号。如下文进一步描述的,在一个实施例中,端口404使用“握手”协议来基于这些许可/请求信号传输数据。因此,该许可/接收协议考虑到数据驱动结构,其中图像处理操作由此类操作执行的数据来驱动。
FIFO存储器500接收request_in信号504,它是在将数据输入到FIFO存储器500的入口的不同端口上来自FIFO存储器的控制信号。FIFO存储器500响应于request_in信号504,向该FIFO存储器传送grant_in信号508,指示该FIFO存储器可将数据传送到FIFO存储器500中。
FIFO存储器500向不同端口的FIFO存储器传送request_out信号512,以请求从FIFO存储器500向该FIFO存储器传输数据。FIFO存储器500响应于request_out信号512,从该FIFO存储器接收grant_out信号516。该grant_out信号516向FIFO存储器500告知,不同的FIFO存储器将从FIFO存储器500接收数据。FIFO存储器500传送data_out信号510,它将数据传送到响应于request_out信号512(通过grant_out信号516)许可数据传输的不同的FIFO存储器。
图6是根据本发明一个实施例的接收器端口以及相关接口信号的更详细框图。具体来说,图6图示了接收器端口406(包括接收器FIFO604)和相关接口信号的一个实施例。接收器端口406在端口404(如图4所示)的其中之一内,并将数据接收到可编程处理器202中。
连接接收器FIFO 604,以往返于发射器端口408接收和发送接口信号(grant_in信号508、data_in信号502、request_in信号504以及init_in信号506),该发射器端口408对于可编程处理器202的端口环250是外部的。还连接接收器FIFO 604,以从发射器端口408接收和传送接口信号(多个grant_out信号516A-516N、data_out信号510、request_out信号512和init_out信号514),该发射器端口408对于可编程处理器202的端口环250或可编程处理器202内的处理器部件是内部的。如图所示,grant_out信号516A-516N被接收到多路复用器602中。接收器端口406使用选择信号606使多路复用器602选择要输入到接收器FIFO 604中的grant_out信号516A-516N的其中之一。如上所述,主机处理器214配置可编程处理器1202,其中可通过逻辑连接输入来自可编程处理器202中一个处理器部件的输出,以由不同可编程处理器202中的不同处理器部件来处理。因此,主机处理器214使接收器端口406断言选择信号606,以从适当的发射器端口408/输入处理器部件302中选择grant_out信号516。
如所述,可将来自第一可编程处理器202中的第一处理操作的输出转发到第二可编程处理器202,在其中执行第二处理操作。在一个实施例中,通过逻辑连接来传送该输出,该逻辑连接包括多个可编程处理器202的多个端口404。在一个实施例中,通过不同的端口404传送初始化信号,通过该不同的端口404对于给定逻辑连接传送数据。如上所述,可编程处理单元106的结构是这样的:使给定可编程处理器202不直接连接到每个其它可编程处理器202。相反,将可编程处理器202连接到相邻(最近邻域)设备。因此,如果要将数据从一个可编程处理器202传送到另一个可编程处理器202,则通过该数据从源可编程处理器202到目的可编程处理器202所经过的不同可编程处理器202的不同端口建立逻辑连接。
返回图2进行说明,假定要将来自可编程处理器202C内的处理器部件的输出传送到可编程处理器202E内的处理器部件以便进一步处理。可从可编程处理器202C到可编程处理器202E建立多个逻辑连接的其中之一。逻辑连接的一个示例是从可编程处理器202C到可编程处理器202B到可编程处理器202A到可编程处理器202E。逻辑连接的一个不同示例是从可编程处理器202C到可编程处理器202G到可编程处理器202F到可编程处理器202E。在一个实施例中,主机处理器214基于可使用相同通信路径的其它有源逻辑连接来确定逻辑连接的选择。例如,如果其它逻辑连接正在使用可编程处理器202B至可编程处理器202A之间的端口,主机处理器214可以选择后一示例逻辑连接来减少数据处理操作的等待时间。
在一个实施例中,初始化数据始发的端口404。该初始化信号将通过整个逻辑连接来传播,由此对于该给定逻辑连接初始化数据路径。将该初始化信号寄存,并通过不同端口404传递,如同该初始化信号是数据一样,以便防止传播延迟通过长的逻辑连接而累积。在一个实施例中,该初始化可以包括刷新(flush)逻辑连接中所用的接收器和发射器FIFO。因此,如果这些FIFO内有任何来自先前逻辑连接的数据,则该初始化使得从其中删除该数据。在一个实施例中,以该方式处理这些不同接口信号,以排除通过逻辑连接的大组合延迟。因此,通过点到点连接处理不同可编程处理器202之间的路由选择,这些点到点连接寄存在作为逻辑连接一部分的不同端口404中。
为了说明,图7A-7G图示了根据本发明一个实施例与不同发射器端口通信的接收器端口的更详细框图。具体来说,图7A-7D图示了接收器端口406的更详细框图,该接收器端口406与对于端口环250B是外部的发射器端口408A通信。图7E-7G图示了接收器端口406的更详细框图,该接收器端口406与对于端口环250B是内部的发射器端口408B通信。
图7A-7G图示可编程处理器202A和可编程处理器202B。可编程处理器202A和可编程处理器202B分别包括端口环250A和端口环250B。此外,可编程处理器202A-202B包括多个接收器和发射器端口。具体来说,给定的端口404(如图4所示)包括发射器端口和接收器端口。但是,为了简明起见,图7A-7G图示了给定端口404的发射器端口或接收器端口。可编程处理器202A的端口环250A包括发射器端口408A。可编程处理器202B的端口环250B包括接收器端口406和发射器端口408B。
图7A图示了发射器端口408A将init_in信号506发送到接收器端口406,以刷新作为逻辑连接一部分的FIFO(在其自身与接收器端口406之间)。再者,图7A图示了接收器端口406将通过逻辑连接的该初始化作为init_out信号514通过端口环250B转发到发射器端口408B。因此,该逻辑连接的一部分包括发射器端口408A、接收器端口406和发射器端口408B。该逻辑连接可包括多个其它可编程处理器202。因此,该初始化可能已被发射器端口408通过端口环250A的内部接收器端口406的其中之一从不同的可编程处理器202接收到。此外,发射器端口408B可将该初始化转发到另一个可编程处理器202。一旦逻辑连接的初始化完成,则可通过该逻辑连接传送数据。
图7B图示了发射器端口408A使用request_in信号504来请求将数据输入到接收器端口406。图7C图示了,响应request_in信号504,并在接收器端口406的接收器FIFO 604中提供存储之后,接收器端口406使用grant_in信号508向发射器端口408A指示,发射器端口408A可将数据传送到接收器端口406中。图7D图示了,当request_in信号504和grant_in信号516在控制可编程处理单元106的时钟信号的活动沿上是活动的时,发射器端口408A使用data_in信号502将用于存储的数据传送到接收器端口406的接收器FIFO 604中。
此外,如图6所示,接收器端口406往返于发射器端口408B传送和接收接口信号,这两个端口都是相同端口环250的一部分。图7E-7G图示了此类通信。
图7E图示了接收器端口406使用request_out信号512来请求将数据输入到发射器端口408B(端口环250B的内部发射器端口的其中之一)。图7F图示了,响应request_out信号512,发射器端口408B将grant_out信号516传送回接收器端口406。图7G图示了,当request_out信号512和grant_out信号516在控制可编程处理单元106的时钟信号的活动沿上是活动的时,接收器端口406使用data_out信号510将数据传送到发射器端口408B。
此外,虽然图7E-7G未示出,但是接收器端口406可往返于可编程处理器202B的输入处理器部件302(图3内示出的)传送/接收这些接口信号(request_out信号512、grant_out信号516和data_out信号510)。如果要将接收器FIFO 604内的数据输入到该可编程处理器202内的处理器部件(输入处理器部件302、输出处理器部件304和/或处理器部件306A-306C)以在其中进行处理,则接收器端口406将request_out信号512传送到输入处理器部件302。如果要将接收器端口406内的数据传送到对于可编程处理器202(例如不同的可编程处理器202、DMA单元204的其中之一或外部接口208的其中之一)是外部的设备,则接收器端口406将request_out信号512传送到适当的发射器端口408(作为逻辑连接一部分的端口)。
图8图示了根据本发明一个实施例的发射器端口以及相关接口信号的更详细框图。具体来说,图8图示了发射器端口408(包括发射器FIFO 806)和相关接口信号的一个实施例。发射器端口408在端口404(如图4所示)的其中之一内,并将数据从可编程处理器202传送出去。
如图所示,从对于可编程处理器202是内部的接收器端口406(即,对于可编程处理器202的端口环250是内部的)其中之一,将多个init_in信号506A-506H、多个data_in信号502A-502H和多个request_in信号504A-504H输入到发射器端口408。此外,还将grant_out信号516、request_out信号512、data_out信号510和init_out信号514从发射器端口408输出到对于该可编程处理器202的端口环250是外部的接收器端口406。
连接发射器FIFO 806,以分别通过多路复用器804A、多路复用器804B和多路复用器804C从对于可编程处理器202或输出处理器部件304(图8中未示出)的端口环250是内部的多个接收器端口接收接口信号(多个init_in信号506A-506H、多个data_in信号502A-502H和多个request_in信号504A-504H)。
为了说明,图9A-9E图示了根据本发明一个实施例与使用不同接口信号的不同接收器端口通信的发射器端口的更详细框图。具体来说,图9A图示了从对于发射器端口408相关联的可编程处理器202的端口环250是内部的部件接收接口信号的发射器端口408的更详细框图。图9B-9E图示了从对于发射器端口408相关联的可编程处理器202的端口环250是外部的接收器端口406接收接口信号的发射器端口408的更详细框图。
图9A-9E图示了可编程处理器202A和可编程处理器202B。可编程处理器202A和可编程处理器202B分别包括端口环250A和端口环250B。此外,可编程处理器202A-202B包括多个接收器和发射器端口。具体来说,给定的端口404(如图4所示)包括发射器端口和接收器端口。但是,为了简明起见,图9A-9E图示了给定端口404的发射器端口或接收器端口。可编程处理器202A的端口环250A包括接收器端口406B-406H和发射器端口408。可编程处理器202B的端口环250B包括接收器端口406A。
就图9A而言,连接输出处理器部件304(在可编程处理器202A内),以传送init_in信号506A、data_in信号502A和request_in信号504A。接收器端口406B传送init_in信号506B、data_in信号502B和request_in信号504B。接收器端口406C传送init_in信号506C、data_in信号502C和request_in信号504C。接收器端口406D传送init_in信号506D、data_in信号502D和request_in信号504D。接收器端口传送init_in信号506F、data_in信号502E和request_in信号504E。接收器端口406F传送init_in信号506F、data_in信号502F和request_in信号504F。接收器端口406G传送init_in信号506G、data_in信号502G和request_in信号504G。接收器端口406H传送init_in信号506H、data_in信号502H和request_in信号504H。
就图8而言,发射器端口408内的发射器FIFO 806使用选择信号802使多路复用器804A-804C选择init_in信号506的其中之一、data_in信号502的其中之一和request_in信号504的其中之一。如上所述,主机处理器108配置可编程处理单元106,其中可通过逻辑连接输入来自可编程处理器202中的一个处理器部件的输出,以供不同可编程处理器202中的不同处理器部件来处理。因此,主机处理器108使发射器FIFO 806断言选择信号802,以从适当的源中选择init_in信号506、data_in信号502和request_in信号504。返回到图2来帮助说明,如果接收器端口将数据接收到可编程处理器202B且要通过可编程处理器202B中的发射器端口408将数据输出到可编程处理器202A中的接收器端口,则主机处理器108会配置该发射器端口408来从该接收器端口选择信号606。
因此,选择的接收器端口406(或选择的输出处理器部件304)使用init_in信号506来初始化逻辑连接。在一个实施例中,该初始化可包括刷新逻辑连接中用到的端口中的接收器和发射器FIFO。因此,如果这些FIFO内有任何数据(该初始化之前),则该初始化使得从其中删除数据。此外,选择的接收器端口406(或选择的输出处理器部件304)使用request_in信号504来请求将数据输入到发射器端口408的发射器FIFO 806。选择的接收器端口406(或选择的输出处理器部件304)使用data_in信号502来将数据传送到发射器FIFO 806中。
此外,如图8所示,发射器端口408从不同的可编程处理器202(可编程处理器202B)的接收器端口406A传送和接收接口信号。图9E-9E图示了此类通信。
图9B图示了发射器端口408将init_out信号514输出到接收器端口406A,其在该数据传输之前被连接,以生成逻辑连接(如上所述)。图9C图示了发射器端口408输出request_out信号512来请求将数据输入到接收器端口406A的接收器FIFO。图9D图示了,作为响应,在接收器端口406A的接收器FIFO中有可用的空间之后,接收器端口406A输出由发射器端口408接收的grant_out信号516。图9E图示了,作为响应,发射器端口408使用data_out信号510将数据从发射器FIFO 806输出到接收器端口406A的接收器FIFO。
可编程处理器之间的逻辑连接
图10图示了根据本发明一个实施例用于从源可编程处理器到目的可编程处理器的给定逻辑连接的许多不同路由。如上所述,主机处理器108可以为从源可编程处理器202到目的可编程处理器202传输数据而建立多个逻辑连接。具体来说,由第一可编程处理器202中部件的一个处理操作的输出可被用作由第二可编程处理器202中部件的不同处理操作的输入。
例如,假定可编程处理单元106处于图像处理模式(下文对此予以更详细描述)。第一可编程处理器202可执行操作,以减少视频中的重影,而第二可编程处理器202从第一可编程处理器202接收输出,并可执行操作,以减少视频中的噪声。第三可编程处理器202可以从第二可编程处理器202接收输出,并可执行操作,以减少视频中的点蠕动。在一个实施例中,不同的可编程处理器202执行不同的数据操作,因为(如下文更详细描述)一个可编程处理器202可具有用于执行给定操作的专用硬件加速器。
此外,虽然该示例说明了一个可编程处理器202中操作的输出被直接传送到不同的可编程处理器202,但是本发明的实施例并不局限于此。在一个实施例中,一个可编程处理器202可将操作的输出传送到存储器104的其中之一。因此,第二可编程处理器202可以从存储器404中检索已存储的数据。在第二可编程处理器202在其操作之前可能需要来自第一操作的一定数量的输出时,可以使用此类操作。例如,第二可编程处理器202可以在视频的多个帧上执行时间噪声减少操作。因此,第一可编程处理器202的输出被存储在存储器108中,直到已经处理了预定数量的帧为止。继续该示例,第一可编程处理器202可继续执行输入视频的重影减少操作,而同时第二可编程处理器202可以执行输出视频的时间噪声减少操作(如上所述)。相似地,在存储模式期间(下文对此予以进一步描述),可编程处理单元106可以在不同可编程处理器202上执行多个操作。
因为处理器的结构具有点到点配置(如图2所示),所以第一可编程处理器202可不直接连接到第二可编程处理器202。因此,建立通过一个到多个中间可编程处理器202从第一可编程处理器202(源可编程处理器202)到第二可编程处理器202(目的可编程处理器202)的逻辑连接。
图10图示了图2的可编程处理单元106,连同从可编程处理器202A到可编程处理器202H的给定逻辑连接的五个不同路由。
逻辑连接的第一路由1002起始于可编程处理器202A(源可编程处理器),并经过可编程处理器202D(第一中间可编程处理器)的端口环250D,并完成于可编程处理器202H(目的可编程处理器)的端口环250H。具体来说,将数据从可编程处理器202A的端口环250A的发射器端口传送到可编程处理器202D的端口环250E的接收器端口。可编程处理器202D的端口环250D的接收器端口将数据传送到可编程处理器202D的端口环250D的发射器端口(通过可编程处理器202D的端口环250D)。可编程处理器202D的端口环250D的该发射器端口将数据传送到可编程处理器202H的端口环250H的接收器端口。
逻辑连接的第二路由1004起始于可编程处理器202A(源可编程处理器),并经过可编程处理器202E(第一中间可编程处理器),并完成于可编程处理器202H(目的可编程处理器)。具体来说,将数据从可编程处理器202A的端口环250A的发射器端口传送到可编程处理器202E的端口环250E的接收器端口。可编程处理器202E的端口环250E的接收器端口将数据传送到可编程处理器202E的端口环250E的发射器端口(通过可编程处理器202E的端口环250E)。可编程处理器202E的端口环250E的该发射器端口将数据传送到可编程处理器202H的端口环250H的接收器端口。
逻辑连接的第三路由1006起始于可编程处理器202A(源可编程处理器),并经过可编程处理器202E(第一中间可编程处理器),通过可编程处理器202F(第二中间可编程处理器),通过可编程处理器202G(第三中间可编程处理器),并完成于可编程处理器202H(目的可编程处理器)。具体来说,将数据从可编程处理器202A的端口环250A的发射器端口传送到可编程处理器202E的端口环250E的接收器端口。可编程处理器202E的端口环250E的接收器端口将数据传送到可编程处理器202E的端口环250E的发射器端口(通过可编程处理器202E的端口环250E)。可编程处理器202E的端口环250E的该发射器端口将数据传送到可编程处理器202F的端口环250F的接收器端口。可编程处理器202F的端口环250F的接收器端口将数据传送到可编程处理器202F的端口环250F的发射器端口(通过可编程处理器202F的端口环250F)。可编程处理器202F的端口环250F的该发射器端口将数据传送到可编程处理器202G的端口环250G的接收器端口。可编程处理器202G的端口环250G的接收器端口将数据传送到可编程处理器202G的端口环250G的发射器端口(通过可编程处理器202G的端口环250G)。可编程处理器202G的端口环250G的该发射器端口将该数据传送到可编程处理器202H的端口环250H的接收器端口。
逻辑连接的第四路由1008起始于可编程处理器202A(源可编程处理器),并经过可编程处理器202B(第一中间可编程处理器),通过可编程处理器202C(第二中间可编程处理器),通过可编程处理器202D(第三中间可编程处理器),并完成于可编程处理器202H(目的可编程处理器)。具体来说,将数据从可编程处理器202A的端口环250A的发射器端口传送到可编程处理器202B的端口环250B的接收器端口。可编程处理器202B的端口环250B的接收器端口将数据传送到可编程处理器202B的端口环250B的发射器端口(通过可编程处理器202B的端口环250B)。可编程处理器202B的端口环250B的该发射器端口将数据传送到可编程处理器202C的端口环250C的接收器端口。可编程处理器202C的端口环250C的接收器端口将数据传送到可编程处理器202C的端口环250C的发射器端口(通过可编程处理器202C的端口环250C)。可编程处理器202C的端口环250C的该发射器端口将数据传送到可编程处理器202D的端口环250D的接收器端口。可编程处理器202D的端口环250D的接收器端口将数据传送到可编程处理器202D的端口环250D的发射器端口(通过可编程处理器202D的端口环250D)。可编程处理器202D的端口环250D的该发射器端口将数据传送到可编程处理器202H的端口环250H的接收器端口。
逻辑连接的第五路由1010起始于可编程处理器202A(源可编程处理器),并经过可编程处理器202B(第一中间可编程处理器),通过可编程处理器202F(第二中间可编程处理器),通过可编程处理器202G(第三中间可编程处理器),并完成于可编程处理器202H(目的可编程处理器)。因此,如图所示,可使用一个到多个不同的路由来建立两个不同可编程处理器202之间的逻辑连接。具体来说,将数据从可编程处理器202A的端口环250A的发射器端口传送到可编程处理器202B的端口环250B的接收器端口。可编程处理器202B的端口环250B的接收器端口将数据传送到可编程处理器202B的端口环250B的发射器端口(通过可编程处理器202B的端口环250B)。可编程处理器202B的端口环250B的该发射器端口将数据传送到可编程处理器202F的端口环250F的接收器端口。可编程处理器202F的端口环250F的接收器端口将数据传送到可编程处理器202F的端口环250F的发射器端口(通过可编程处理器202F的端口环250F)。可编程处理器202F的端口环250F的该发射器端口将数据传送到可编程处理器202G的端口环250G的接收器端口。可编程处理器202G的端口环250G的接收器端口将数据传送到可编程处理器202G的端口环250G的发射器端口(通过可编程处理器202G的端口环250G)。可编程处理器202G的端口环250G的该发射器端口将数据传送到可编程处理器202H的端口环250H的接收器端口。
如上所述,通过中间可编程处理器202的行程经过端口环250的端口404,而不经过对于可编程处理器202是内部的处理器部件或其它组件。因此,中间可编程处理器202内的处理器部件不对从源可编程处理器202传送到目的可编程处理器202的数据执行任何类型的操作。
因此,该结构使用可配置的硬件化点到点连接的组合。发射器端口连接到预定义的目的,这允许直接连线可编程处理单元106的小片(die)。但是,给定发射器端口可以为所传送的数据选择几个源的其中之一。接收器端口又使它的数据可提供给多个发射器端口。该结构允许在可编程处理器202的端口环250内有效地路由数据和控制。此外,通过逻辑连接传递初始化信号允许单点清除数据源处数据要经过的逻辑路径,并确保在数据传输之前或之后不必清除或清空中间连接。此外,对于传送不确定量的数据并进行备份或迟延(stall)的逻辑连接,可以用始发于源并经过该逻辑连接的单个命令来清除它。
可编程处理单元的操作
现在描述根据一个实施例的可编程处理单元106的操作。
可编程处理器之间的数据传输操作
图11图示了根据本发明一个实施例用于在可编程处理单元内建立和初始化逻辑连接的流程图。
在框1102,接收为数据传输而要建立的逻辑连接的配置数据。参考图2,不同的可编程处理器202(源可编程处理器、中间可编程处理器和目的可编程处理器)接收为数据传输而要建立的逻辑连接的配置数据。在一个实施例中,主机处理器108通过内部全局总线212将该配置数据传送到这些可编程处理器202。在一个实施例中,主机处理器108还可将微代码下载到作为逻辑连接一部分的可编程处理器202中。例如,主机处理器108可将特定应用程序下载到源和/或目的可编程处理器202。控制在框1104继续。
在框1104中,建立逻辑连接。参考图6和8,接收器端口406和发射器端口408(通过其传送数据作为逻辑连接的一部分)基于接收的配置数据建立逻辑连接。如上所述,接收器端口406使用选择信号606确定多路复用器602将选择哪个grant_out信号516。例如,如果要将接收到接收器端口406A的数据输出到发射器端口408D,则配置数据使接收器端口406A使用选择信号606选择与发射器端口408D相关联的grant_out信号516。相似地,发射器端口408使用选择信号802来确定将分别由多路复用器804C、多路复用器804B和多路复用器804A选择request_in信号504、data__in信号502和init_in信号506中的哪个。控制在框1106继续。
在框1106中,初始化该逻辑连接。参考图2、6和8,要发起该逻辑连接的源可编程处理器202的发射器端口408将init_out信号514发送到参与该逻辑连接的下一个源可编程处理器202的接收器端口406。该接收器端口406将该信号作为init_in信号506接收,并将init_out信号514输出到该原可编程处理器202内的发射器端口。这种init_out信号514的传送和init_in信号506的接收沿着该逻辑连接继续,直到到达目的可编程处理器202的发射器端口408为止。因此,该初始化信号初始化参与该逻辑连接的不同端口。在一个实施例中,该初始化可以包括刷新逻辑连接中用到的接收器和发射器FIFO。因此,如果这些FIFO内有来自先前逻辑连接的任何数据,则该初始化使得从其中删除数据。
在一个实施例中,由可编程处理单元106内的不同可编程处理器202中的不同组件执行/运行一系列处理操作。第一处理操作的输出用作第二处理操作的输入等等。如上所述,为将数据传送到不同的可编程处理器202,建立逻辑连接。因此,为从可编程处理单元106中的一个部件向可编程处理单元106中的不同部件的每个传输,建立一个逻辑连接。现在描述可编程处理单元106中数据处理的一个实施例。图12图示了根据本发明一个实施例用于可编程处理单元处理数据的流程图。具体来说,流程图1200描述了根据本发明一个实施例在可编程处理单元106内由可编程处理器202之一处理数据。
在框1202中,接收数据流。参考图2,可编程处理器202的第一个从多个源的其中之一接收数据流。例如,可编程处理器202A可以从外部源(例如视频信号处理器104)接收数据流。可编程处理器202A还可以通过存储器接口206和DMA单元204从存储器108接收数据流。控制在框1204继续。
在框1204中,在第一可编程处理器中处理数据流。参考图2,第一可编程处理器202内的组件(例如处理器部件302、304、306A-306C的其中之一或加速器单元310A-310B的其中之一)执行第一处理操作。输入处理器部件302通过接收器端口406接收数据。在一个实施例中,处理器部件302、304、306A-306C中的任一个对接收的数据执行/运行处理操作。在一个实施例中,作为该处理操作相关联的逻辑连接配置的一部分,主机处理器214可以指示第一可编程处理器202中的哪个组件将执行/运行该处理操作。因此,输入处理器部件302可将数据存储在存储器314中,其中指定的组件检索数据,并对此类数据执行/运行第一处理操作。第一可编程处理器202可以输出处理数据流的一部分的结果,而继续处理数据流的不同部分。例如,第一可编程处理器202可以输出处理视频的第一帧的结果,而继续处理该视频的后续帧。控制在框1206继续。
在框1206,通过逻辑连接将处理操作的输出传送/转发到不同的可编程处理器或存储器。参考图2和3,输出处理器部件304(在执行/运行第一处理操作的可编程处理器202中)通过作为配置的逻辑连接一部分的发射器端口408将处理操作的结果传送/转发到不同的可编程处理器202,或通过配置的逻辑连接传送/转发到存储器108。控制在框1208继续。
在框1208中,在不同的可编程处理器中处理该结果。与第一可编程处理器(在框1204中所述)中的处理相似,不同可编程处理器202内的组件(例如处理器部件302、304、306A-306C的其中之一或加速器单元310A-310B的其中之一)执行不同的图像处理操作。控制在框1210继续。
在框1210中,就数据流的处理操作是否完成作出判断。具体来说,正在处理一部分数据流的当前可编程处理器202判断,是否要基于从主机处理器214接收的配置数据将其操作的输出通过逻辑连接传送到不同的可编程处理器202或存储器108。具体来说,主机处理器214可将可编程处理单元106配置为接收数据流,并在五个不同的可编程处理器202中执行五个不同的压缩/存储处理操作。因此,主机处理器214将不同的逻辑连接配置为按给定次序将数据传送到五个不同的可编程处理器202。当确定对于数据流尚未完成处理操作时,控制在框1006继续,其中将处理的结果输出到不同的可编程处理器202或存储器108。框1206和1206的操作继续,直到对于数据流完成了处理操作为止。
在框1212中,当确定对于数据流完成了处理操作时,输出结果。参考图2,在一个实施例中,如果当前模式是存储模式,则处理数据流的可编程处理器链中的最后一个可编程处理器202将结果输出到存储器108。参考图1,在一个实施例中,如果当前模式是图像处理模式,则最后一个可编程处理器202通过I/O接口208将结果输出到视频显示处理器110。
现在将描述可编程处理器202的不同端口之间基于握手协议传输数据的操作的一个实施例。具体来说,图13A-13B图示了根据本发明实施例用于可编程处理器中不同端口的存储器之间通信的流程图。通过示例方式而非限定方式,流程图1300和1330的操作描述为这些不同端口内的FIFO存储器具有2的深度(即,两入口FIFO)。图13A图示了将数据接收到端口存储器的流程图,而图13B图示了将数据传送出端口存储器的流程图。
在框1302中,将接收数据的请求接收到可编程处理器的端口环的接收器端口。参考图6,接收器端口406接收请求,以通过request_in信号504接收数据。如上所述,连接到接收器端口406的发射器端口408传送该请求。控制在框1304继续。
在框1304中,就接收器端口的接收器FIFO是否已满作出判断。参考图6,接收器端口406判断接收器FIFO 406是否已满。当确定接收器端口406的接收器FIFO 604已满时,控制在框1304继续,其中再次作出该判断。在一个实施例中,该请求可在预定时段之后超时,其中向主机处理器108发出警报,并中止流程图1300的操作。
在框1306中,当确定接收器端口406的接收器FIFO 604未满时,就接收器FIFO是否半满作出判断。如上所述,接收器FIFO 604描述为具有2的深度。参考图6,接收器端口406判断接收器FIFO 604是否半满。换言之,接收器端口406判断接收器FIFO 604是空的还是在一个入口中有数据。当确定接收器FIFO不是半满(即,接收器FIFO是空的)时,控制在框1310继续,下文对此予以更详细描述。
在框1308中,当确定接收器FIFO是半满时,将存储在接收器FIFO中的第一入口中的数据移到接收器FIFO中的第二入口。参考图6,接收器端口406将第一入口中存储的数据移到接收器FIFO 604中的第二入口。控制在框1310继续。
在框1310中,向在请求发射器端口(请求向接收器端口发送数据的发射器端口)发送许可。参考图6,接收器端口406通过grant_in信号508将许可传送到发射器端口408,由此指示发射器端口408可将数据传送到接收器FIFO 604中。控制在框1312继续。
在框1312中,将接收的数据存储在接收器端口的接收器FIFO中。参考图6,接收器端口406将接收的数据存储在接收器FIFO 604的第一入口中,其是通过data_in信号502从发射器端口408接收的。
现结合图13B的流程图1330描述数据传送出端口存储器的实施例。在框1332中,传送将数据输出到接收器端口的请求。参考图8,发射器端口408通过request_out信号512将输出数据的请求传送到(发射器端口408连接到的)接收器端口406。控制在框1334继续。
在框1334中,就是否已从接收器端口接收到许可作出判断。参考图8,发射器端口408基于grant_out信号516的值判断是否已从接收器端口406接收到许可。当确定尚未从接收器端口406接收到许可时,控制在框1334继续,其中发射器端口408再次作出该判断。在一个实施例中,此许可的检查可能在预定时间之后超时,其中向主机处理器108发出警报,并中止流程图1300的操作。
在框1336中,当确定已从接收器端口接收到许可时,就发射器FIFO是否半满作出判断。参考图8,发射器端口408判断发射器FIFO706是否半满。因为已经启动了流程图1330的操作,所以假定是发射器FIFO 706是非空的。
在框1338中,当确定发射器FIFO不是半满(发射器FIFO是满的)时,将来自发射器FIFO第二入口的数据输出到接收器FIFO。参考图8,发射器端口408通过data_out信号510将数据从发射器FIFO706的第二入口输出到接收器FIFO,由此完成流程图1330的操作。
在框1340中,当确定发射器FIFO是半满时,将来自发射器FIFO第一入口的数据输出到接收器FIFO。参考图8,发射器端口408通过data_out信号510将数据从发射器FIFO 706的第一入口输出到接收器FIFO,由此完成流程图1330的操作。
虽然流程图1300和1330描述作为不同端口环一部分的接收器端口和发射器端口之间的通信,但是所述的握手协议操作还可应用于作为同一端口环一部分的接收器端口和发射器端口之间的通信。此外,此类握手协议操作可应用于将数据分别输入到输入处理器部件302和输出到输出处理器部件304。
因此,如图13A-13B所示,在一个实施例中,用于图像处理操作的数据驱动的结构是基于该握手协议来通过逻辑连接的不同端口传送数据。气泡是没有数据事务处理发生的时钟周期(即,在给定时钟周期内数据未移动)。例如,在开始数据未准备要传送,和/或在逻辑连接的末端未检索到数据。因此,在逻辑连接中可能有空位置,因为数据未进入逻辑连接中。此外,如上所述,如果因为源可编程处理器或目的可编程处理器上的数据迟延条件的原因在逻辑连接中形成气泡,则数据暂停单个时钟周期。换言之,接收器和发射器端口内的FIFO存储器使逻辑连接中可以有不是因逻辑连接内停止和重启数据流而产生的气泡。本发明的实施例是这样的:使气泡不在气泡外强制逻辑连接的任一端处有延迟。气泡无需可编程处理单元106重新同步(其可能需要比与气泡自身相关联的时钟周期数更多的时钟周期来恢复)。
可编程处理单元的多模式操作
现在描述可编程处理单元106的多模式操作。图14图示了根据本发明一个实施例的可编程处理单元的多模式操作的流程图。
在流程图1400的框1402中,接收视频。参考图1的实施例,可编程处理单元106通过I/O接口208从视频信号处理器104接收视频。在一个实施例中,接收的视频是数字数据流。
在框1404,就系统是否处于存储模式作出判断。参考图2的实施例,主机处理器214作出该判断。在一个实施例中,系统100处于如下两种模式其中之一:1)存储模式或2)图像处理模式。主机处理器214可基于来自系统100的用户的输入来作出该判断。在一个实施例中,系统100在电视内(或为机顶盒或与之连接的媒体中心的一部分),其中用户使用遥控器来选择当前模式。例如,用户可在暂停将视频显示到视频显示器112时使系统100处于存储模式。用户还可在回退正在视频显示器112上显示的视频时使系统100处于存储模式。因此,主机处理器214从用户那接收该输入。在一个实施例中,系统100内的I/O逻辑(未示出)可以接收和处理系统100的输入。这种I/O逻辑可将该输入转发到主机处理器214。
在一个实施例中,系统100的当前模式保持在存储模式,直到存储器108没有其中存储的视频为止。例如,如果用户取消视频显示器112上显示的暂停操作(由此恢复显示),则系统100继续存储模式,直到存储器108不包括存储的视频为止。因此,如果存储器108包括存储的视频,则系统100可保持在存储模式,直到用户执行快进操作(例如跳过商业广告节目)为止。这种操作使从存储器108输出视频的速率超过在其中输入输入视频的速率。
当确定系统100的当前模式不是存储模式(而是图像处理模式)时,控制在框1412继续,下文对此予以更详细描述。当确定系统100的当前模式是存储模式时,控制在框1406和1410继续,现在对此予以描述。
在操作1406中,压缩视频。参考图2和3的实施例,一个或多个可编程处理器202中的一个或多个处理器部件压缩该视频。在一个实施例中,作为视频压缩的一部分,可以执行多个不同的噪声减少操作。在一个实施例中,压缩视频可包括图像缩放、帧速率降低等。返回到图2以帮助说明,可编程处理器202A中的处理器部件可以执行噪声减少操作。可编程处理器202E可接收来自该噪声减少操作的输出。可编程处理器202E中的处理器部件可以通过图像缩放操作来缩减视频中的图像。可编程处理器202H可以接收来自该图像缩放操作的输出。可编程处理器202H中的处理器部件可进一步通过帧速率降低操作来压缩视频。
因此,如本示例所述的,在一个实施例中,主机处理器214将适当的微代码下载到适当的可编程处理器202中。具体来说,当系统100的当前模式改变时,主机处理器214可将微代码下载到可编程处理器202中。例如,假定可编程处理器202中的处理器部件已配置为,作为图像处理模式的一部分,执行增强的视频处理操作(下文对此进一步描述)。因此,在将系统100的当前模式改为存储模式之后,主机处理器214可将微代码下载到可编程处理器202H中,以进行帧速率降低操作。
此外,主机处理器214还可配置可编程处理器202之间的逻辑连接,以便进行处理(如上文结合图10的描述所述)。在一个实施例中,可编程处理器202的至少其中之一可配置为将其结果存储在存储器108中,随后由不同的可编程处理器202来检索。例如,如果在多个视频帧上执行压缩操作的其中之一,则可在由不同的可编程处理器202处理之前,将给定数量的视频帧存储在存储器108中。
返回到有关不同可编程处理器中的处理器部件执行不同压缩操作的上述示例,主机处理器214建立从I/O接口208到可编程处理器202A的逻辑连接。主机处理器214还建立从可编程处理器202A到可编程处理器202E的逻辑连接。主机处理器214还建立从可编程处理器202E到可编程处理器202H的逻辑连接。控制在框1408继续。
在框1408中,存储压缩的视频。参考图2的实施例,可编程处理器202的其中之一存储压缩的视频。如上所述,在一个实施例中,由可编程处理器202的至少其中之一对视频执行多个压缩操作。完成压缩操作的可编程处理器202可将压缩的视频存储在存储器108中。返回到与框1406相关的上述示例,在完成帧速率降低操作之后,可编程处理器202通过(如上所述给定可编程处理器202与存储器108之间的)逻辑连接将该结果存储在存储器108中。
在框1410中,基于控制输入,显示视频(与增强视频处理无关)。如上所述,在一个实施例中,系统100是电视或其它观看设备的一部分。此类设备的用户控制视频在视频显示器112上的显示。例如,用户可使用遥控器在视频显示器112上暂停、重放、快进或播放视频。因此,从用户那接收控制输入,并将其传送到主机处理器214。如果控制输入是播放视频,则主机处理器214建立多个逻辑连接,以解压存储在存储器108中的视频,并将这种视频输出到视频显示处理器110,以便在视频显示器112上显示。
为了说明,假定执行图像缩放操作和帧速率降低操作来压缩存储在存储器108中的视频。因此,主机处理器214在要执行解压操作的可编程处理器202之间建立逻辑连接。例如,可在存储器108与可编程处理器202F之间建立逻辑连接。可编程处理器202F中的处理器部件可以从存储器108中检索压缩视频,并将帧插入回视频中(例如使用内插法)。可在可编程处理器202F与可编程处理器202D之间建立不同的逻辑连接。通过建立的逻辑连接,将来自可编程处理器202F的结果的视频传送到可编程处理器202D。可编程处理器202D可以执行图像缩放操作,以增大视频的图像尺寸。可以在可编程处理器202D与I/O接口208之间建立另一逻辑连接。通过所建立的逻辑连接将来自可编程处理器202D的结果的视频传送到I/O接口208。从其中将视频输出到视频显示处理器110。
虽然是以压缩操作与解压操作的数量之间存在一对一关系进行描述的,但是实施例并不局限于此。返回上述示例来说明,在一个实施例中,不执行将帧插入回视频,以便增加解压和显示的执行。
就基于控制输入显示视频而言(在框1410中),可以暂停视频在视频显示器112上的显示。因此,不执行上述的解压操作。此外,可编程处理单元106继续压缩输入视频,并将其存储到存储器108中(如框1406和1408中所述)。
基于控制输入,可以重放视频在视频显示器112上的显示。主机处理器214接收指示要重放视频的控制输入。由此,主机处理器214配置可编程处理器108,以逆序解压和显示先前的帧,直到改变控制输入或存储器108没有包括任何存储的视频为止。
基于控制输入,可以快进视频在视频显示器112上的显示,直到输入视频是正在显示的内容为止。例如,系统100的用户可能希望跳过商业广告节目。因此,主机处理器214配置可编程处理器108以比播放视频时更快的速率解压和显示视频。
返回到流程图1400,在框1412中,当确定系统100不处于存储模式(而是图像处理模式)时,执行增强的视频处理。参考图2的实施例,一个或多个可编程处理器202中的一个或多个处理器部件执行增强的视频处理。在一个实施例中,增强的视频处理包括重影减少操作、噪声减少操作(空间上、时间上等)、点蠕动减少操作等。
返回到图2以帮助说明,在一个实施例中,主机处理器214在I/O接口208与参与增强视频处理的不同可编程处理器202之间建立逻辑连接(如上所述)。此外,主机处理器214可下载要作为部分增强视频处理操作执行的微代码。例如,假定:可编程处理器202B配置为执行重影减少操作;可编程处理器202H配置为执行空间噪声减少操作;可编程处理器202C配置为执行时间噪声减少操作;以及可编程处理器202E配置为执行点蠕动减少操作。
因此,主机处理器214可将微代码下载到可编程处理器202B、可编程处理器202H、可编程处理器202C和/或可编程处理器202E。主机处理器214还建立从(接收数据的)I/O接口208到(执行重影减少操作的)可编程处理器202B的逻辑连接。主机处理器214还建立从可编程处理器202B到(执行空间噪声减少操作的)可编程处理器202H的逻辑连接。另外,假定时间噪声减少操作在多个视频数据帧上执行,主机处理器214建立从可编程处理器202H到(在时间噪声减少操作之前用于存储多个视频数据帧的)存储器108的逻辑连接。主机处理器214还建立从存储器108到可编程处理器202C的逻辑连接。因此,在已将来自可编程处理器202H的输出的给定数量的视频数据帧存储在存储器108中之后,将这些帧输入到(执行时间噪声减少操作的)可编程处理器202C。主机处理器214还建立从可编程处理器202C与(执行点蠕动减少操作的)可编程处理器202E的逻辑连接。主机处理器还建立从可编程处理器202E到I/O接口208的逻辑连接,在I/O接口208输出视频数据用于显示。
在框1414中,显示经过增强视频处理的视频。参考图1和2的实施例,I/O接口208将用于显示的视频数据输出到视频显示处理器110。
另外,在一个实施例中,在改变系统100的当前模式之后,当前操作被中断,且控制在点1处继续,其中在框1404就系统模式作出判断。例如,如果当前模式是图像处理模式,且用户选择暂停按钮以暂停视频显示器112上的显示,则当前模式改变为存储模式,且控制被中断,并在点1处继续。
虽然流程图1400图示了在存储之前压缩视频,但是本发明的实施例并不局限于此。在另一个实施例中,接收视频,并将其存储在存储器108中,而不执行压缩操作。
在描述中,阐述了大量具体细节,如逻辑实现、操作码、指定操作数的组件、资源分区/共享/复制实现、系统组件的类型和相互关系以及逻辑分区/集成选择,以便提供对本发明更透彻的理解。但是本领域人员将认识到,本发明的实施例可以在没有此类具体细节的情况下实施。在其它示例中,没有详细地示出控制结构、门级电路和完整的软件指令序列,以便不模糊本发明的实施例。本领域技术人员用所含的描述将能够在无不当实验的情况下实现适当的功能。
本说明书中提及“一个实施例”、“实施例”、“示例实施例”等是指所述的实施例可包括特定的特性、结构或特征,但是每个实施例可并不一定都包括该特定特性、结构或特征。而且,此类短语不一定涉及相同的实施例。再者,当结合一个实施例来描述特定特性、结构或特征时,提出应在本领域技术人员的知识范围内,结合无论明确描述与否的其它实施例影响这种特定特性、结构或特征。
本发明实施例包括可以在机器可读介质提供的机器可执行指令中实施的特性、方法或过程。机器可读介质包括任何以机器(例如计算机、网络设备、个人数字助理、制造工具、具有一组一个或多个处理器的任何设备等)可访问形式提供(即存储和/或传送)信息的机构。在一个示范实施例中,机器可读介质包括易失和/或非易失性介质(例如只读存储器(ROM)、随机存取存储器(RAM)、磁盘存储介质、光存储介质、闪速存储器设备等),以及电、光、声或其它形式的传播信号(例如载波、红外信号、数字信号等)。
此类指令用于使得用这些指令编程的通用或专用处理器来执行本发明实施例的方法或过程。或者,由包括执行这些操作的硬连线逻辑的特定硬件组件,或由编程数据处理组件与特定硬件组件的任何组合,来执行本发明实施例的特性或操作。本发明的实施例包括本文进一步描述的软件、数据处理硬件、数据处理系统实现的方法以及各种处理操作。
多个附图示出了根据本发明实施例用于可编程视频处理/存储结构的系统和装置的框图。多个附图示出了说明可编程视频处理/存储结构的操作的流程图。这些流程图的操作将参考框图中所示的系统/装置来描述。但是,应该理解,流程图的操作可以由不是参考这些框图所述的那些的系统和装置实施例来执行,且参考这些系统/装置论述的实施例可以执行不同于参考这些流程图论述的那些的操作。
鉴于对本文所述实施例的各种置换,该详细描述仅视为说明性的,而不应视为限制本发明的范围。为了说明,虽然参考了可编程处理单元106来描述操作,但是本发明的实施例并不局限于此。例如,在一个实施例中,可以由在单个通用处理器中执行的软件应用程序来执行这些多模式操作。而且,虽然是参考视频处理来描述的,但是本发明的实施例并不局限于此。例如,在一个实施例中,这些多模式操作可应用于处理诸如音频、音频和视频组合等的其它类型数据。为了进一步说明对本文所述实施例的可能置换,虽然参考两种模式来描述多模式操作,但是本发明的实施例并不局限于此,因为可以是更多数量的此类模式。例如,在一个实施例中,可编程处理单元106的第三种模式可以包括视频处理的其它方面。再者,虽然就接收RF信号和生成模拟信号的模拟调谐器来描述实施例,但是本发明的实施例并不局限于此。例如,在一个实施例中,视频调谐器102可以是接收RF信号和生成数字信号的数字调谐器。因此本发明所要求的是所附权利要求及其等效项范围和精神内的所有此类修改。因此,说明书和附图应视为说明性的,而非限制性意义的。

Claims (26)

1.一种视频信号处理和存储方法,包括:
将视频接收到视频显示设备中;
当确定所述视频显示设备处于存储模式时,由至少一个处理器将所述视频存储到存储器中,其中,存储到所述存储器中的视频将随后被检索用来在耦合到所述视频显示设备的视频显示器上显示;以及
当确定所述视频显示设备处于图像处理模式时,用所述至少一个处理器对所述视频执行增强图像处理,其中,当确定所述视频没有存储到所述存储器中或存储到所述存储器中的视频没有被检索用来在视频显示器上显示时,所述视频显示设备在所述图像处理模式中进行操作。
2.如权利要求1所述的方法,还包括:当确定所述视频显示设备处于所述存储模式时,在将所述视频存储到所述存储器之前,由所述至少一个处理器压缩所述视频。
3.如权利要求2所述的方法,其中由所述至少一个处理器压缩所述视频包括由所述至少一个处理器的第一处理器对所述视频执行帧速率降低。
4.如权利要求3所述的方法,其中由所述至少一个处理器压缩所述视频包括由所述至少一个处理器的第二处理器缩放所述视频。
5.如权利要求1所述的方法,其中对所述视频执行增强图像处理包括执行重影减少操作。
6.如权利要求1所述的方法,其中对所述视频执行增强图像处理包括执行噪声减少操作。
7.如权利要求1所述的方法,其中用所述至少一个处理器对所述视频执行增强图像处理包括:用所述至少一个处理器的第一处理器对所述视频执行第一增强图像处理操作,以及用所述至少一个处理器的第二处理器对所述视频执行第二增强图像处理操作。
8.如权利要求7所述的方法,还包括:通过包括经由第三处理器的路径的逻辑连接,将第一增强图像处理操作的输出从第一处理器传送到第二处理器,其中作为通过所述逻辑连接传送所述输出的一部分,第三处理器不配置为对所述输出执行处理操作。
9.一种视频信号处理和存储装置,包括:
连接到存储器的输入/输出接口;以及
第一可编程处理器,用于在所述装置的当前模式是图像处理模式的情况下,对视频执行第一增强图像处理操作,并且其中在所述装置的当前模式是存储模式的情况下,第一可编程处理器将所述视频存储到所述存储器,其中,存储到所述存储器中的视频将随后被检索用来在耦合到所述装置的视频显示器上显示,以及其中,当确定所述视频没有存储到所述存储器中或存储到所述存储器中的视频没有被检索用来在视频显示器上显示时,所述装置在所述图像处理模式中进行操作。
10.如权利要求9所述的装置,还包括:第二可编程处理器,用于在所述装置的当前模式是所述图像处理模式的情况下,对所述视频执行第二增强图像处理操作,并且其中在所述装置的当前模式是存储模式的情况下,在将所述视频存储到所述存储器之前,第二处理器对所述视频执行视频压缩操作。
11.如权利要求10所述的装置,其中所述视频压缩操作是从由图像缩放操作和帧速率降低操作组成的组中选择的。
12.如权利要求10所述的装置,还包括:第三可编程处理器,用于在所述装置的当前模式是所述图像处理模式的情况下,对所述视频执行第三增强图像处理操作,并且其中在所述装置的当前模式是所述存储模式的情况下,在所述视频压缩操作之前,第三处理器对所述视频执行噪声减少操作。
13.如权利要求9所述的装置,还包括:主机处理器,用于从包括所述装置的视频显示设备的用户接收控制输入,其中所述控制输入使所述当前模式改变,其中在所述控制输入使得从所述当前模式改变的情况下,所述主机处理器更新第一可编程处理器中的微代码。
14.一种视频信号处理和存储装置,包括:
存储器;
第一可编程处理器,用于在所述装置的当前模式是图像处理模式的情况下,对视频执行第一增强图像处理操作,并且其中在所述装置的当前模式是存储模式的情况下,第一可编程处理器将对所述视频执行压缩操作;以及
第二可编程处理器,用于在所述装置的当前模式是所述图像处理模式的情况下,通过包括经由第三可编程处理器的路径的第一逻辑连接,接收来自第一增强图像处理操作的输出,并对所述视频执行第二增强图像处理操作,并且其中在所述装置的当前模式是所述存储模式的情况下,第二可编程处理器通过包括经由第四可编程处理器的路径的第二逻辑连接,接收来自所述压缩操作的输出,并将所述视频存储到所述存储器中。
15.如权利要求14所述的装置,还包括:主机处理器,用于从包括所述装置的视频显示设备的用户接收控制输入,其中所述控制输入使所述当前模式改变,其中在所述装置的当前模式是所述存储模式的情况下,所述主机处理器创建第一逻辑连接,在所述装置的当前模式是图像处理模式的情况下,所述主机处理器创建第二逻辑连接。
16.如权利要求15所述的装置,其中在所述控制输入使得从所述当前模式改变的情况下,所述主机处理器更新第一可编程处理器和第二可编程处理器中的微代码。
17.如权利要求16所述的装置,其中使所述当前模式是所述存储模式的所述控制输入是对所述视频显示设备的显示器上所述视频显示的暂停操作。
18.如权利要求16所述的装置,其中使所述当前模式是所述存储模式的所述控制输入是对所述视频显示设备的显示器上所述视频显示的回退操作。
19.一种视频信号处理和存储装置,包括:
将视频接收到视频显示设备中的部件;
当确定所述视频显示设备处于存储模式时由至少一个处理器将所述视频存储到存储器中的部件,其中,存储到所述存储器中的视频将随后被检索用来在耦合到所述视频显示设备的视频显示器上显示;以及
当确定所述视频显示设备处于图像处理模式时用所述至少一个处理器对所述视频执行增强图像处理的部件,其中,当确定所述视频没有存储到所述存储器中或存储到所述存储器中的视频没有被检索用来在视频显示器上显示时,所述视频显示设备在所述图像处理模式中进行操作。
20.如权利要求19所述的装置,还包括用于进行以下操作的部件:当确定所述视频显示设备处于所述存储模式时,在将所述视频存储到所述存储器之前,由所述至少一个处理器压缩所述视频。
21.如权利要求20所述的装置,其中由所述至少一个处理器压缩所述视频包括由所述至少一个处理器的第一处理器对所述视频执行帧降低。
22.如权利要求21所述的装置,其中由所述至少一个处理器压缩所述视频包括由所述至少一个处理器的第二处理器缩放所述视频。
23.如权利要求19所述的装置,其中对所述视频执行增强图像处理包括执行重影减少操作。
24.如权利要求19所述的装置,其中对所述视频执行增强图像处理包括执行噪声减少操作。
25.如权利要求19所述的装置,其中用所述至少一个处理器对所述视频执行增强图像处理包括:用所述至少一个处理器的第一处理器对所述视频执行第一增强图像处理操作,以及用所述至少一个处理器的第二处理器对所述视频执行第二增强图像处理操作。
26.如权利要求25所述的装置,还包括用于进行以下操作的部件:通过包括经由第三处理器的路径的逻辑连接,将第一增强图像处理操作的输出从第一处理器传送到第二处理器,其中作为通过所述逻辑连接传送所述输出的一部分,第三处理器不配置为对所述输出执行处理操作。
CNB2004800391781A 2003-12-31 2004-12-24 可编程视频处理和视频存储结构 Expired - Fee Related CN100551005C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/750,544 US8812749B2 (en) 2003-12-31 2003-12-31 Programmable video processing and video storage architecture
US10/750,544 2003-12-31

Publications (2)

Publication Number Publication Date
CN1902921A CN1902921A (zh) 2007-01-24
CN100551005C true CN100551005C (zh) 2009-10-14

Family

ID=34749332

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2004800391781A Expired - Fee Related CN100551005C (zh) 2003-12-31 2004-12-24 可编程视频处理和视频存储结构

Country Status (8)

Country Link
US (2) US8812749B2 (zh)
JP (1) JP5085137B2 (zh)
KR (1) KR100829647B1 (zh)
CN (1) CN100551005C (zh)
DE (1) DE112004002609T5 (zh)
GB (1) GB2423212B (zh)
TW (1) TWI285364B (zh)
WO (1) WO2005067290A2 (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040257372A1 (en) * 2003-06-19 2004-12-23 Lippincott Louis A. Communication ports in a data driven architecture
US7889951B2 (en) * 2003-06-19 2011-02-15 Intel Corporation Processor to processor communication in a data driven architecture
US8812749B2 (en) 2003-12-31 2014-08-19 Intel Corporation Programmable video processing and video storage architecture
CA2847360C (en) * 2011-08-30 2020-03-24 Allure Energy, Inc. Resource manager, system, and method for communicating resource management information for smart energy and media resources
CN102883199A (zh) * 2012-09-29 2013-01-16 鸿富锦精密工业(深圳)有限公司 分体式电视及应用于所述分体式电视的控制盒
KR20140129607A (ko) * 2013-04-30 2014-11-07 주식회사 칩스앤미디어 동영상 처리 방법 및 장치
CN105824389A (zh) * 2015-09-10 2016-08-03 维沃移动通信有限公司 一种高保真的处理方法和装置
CN110619694A (zh) * 2019-09-23 2019-12-27 北京百度网讯科技有限公司 存储感测数据的方法、装置、电子设备和计算机可读存储介质

Family Cites Families (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4065808A (en) * 1975-01-25 1977-12-27 U.S. Philips Corporation Network computer system
JPS6364178A (ja) 1986-08-29 1988-03-22 インタ−ナショナル・ビジネス・マシ−ンズ・コ−ポレ−ション 画像処理システム
US4933836A (en) 1986-10-29 1990-06-12 United Technologies Corporation n-Dimensional modular multiprocessor lattice architecture
US4891751A (en) * 1987-03-27 1990-01-02 Floating Point Systems, Inc. Massively parallel vector processing computer
US5689647A (en) * 1989-03-14 1997-11-18 Sanyo Electric Co., Ltd. Parallel computing system with processing element number setting mode and shortest route determination with matrix size information
US5617577A (en) * 1990-11-13 1997-04-01 International Business Machines Corporation Advanced parallel array processor I/O connection
US5151783A (en) * 1991-06-05 1992-09-29 Faroudja Y C Digital television with enhancement
JPH0556372A (ja) 1991-08-27 1993-03-05 Toshiba Corp Dsp使用テレビジヨン受像機
US5541640A (en) * 1992-06-23 1996-07-30 Larson; Craig R. Videophone for simultaneous audio and video communication via a standard telephone line
JPH0656732A (ja) 1992-08-07 1994-03-01 Teijin Ltd アミンを用いたアルデヒド誘導体の製造方法
JPH06125539A (ja) 1992-10-14 1994-05-06 Nippon Telegr & Teleph Corp <Ntt> 画像符号化装置
JPH06139210A (ja) 1992-10-26 1994-05-20 Toshiba Corp 映像信号処理装置
US5557734A (en) * 1994-06-17 1996-09-17 Applied Intelligent Systems, Inc. Cache burst architecture for parallel processing, such as for image processing
US5630161A (en) * 1995-04-24 1997-05-13 Martin Marietta Corp. Serial-parallel digital signal processor
US5802278A (en) * 1995-05-10 1998-09-01 3Com Corporation Bridge/router architecture for high performance scalable networking
KR100269106B1 (ko) * 1996-03-21 2000-11-01 윤종용 멀티프로세서 그래픽스 시스템
US6389174B1 (en) 1996-05-03 2002-05-14 Intel Corporation Video transcoding with interim encoding format
JP3119584B2 (ja) * 1996-06-20 2000-12-25 日本電気株式会社 ゴースト除去装置
US5911056A (en) * 1997-05-01 1999-06-08 Hewlett-Packard Co. High speed interconnect bus
US6188381B1 (en) 1997-09-08 2001-02-13 Sarnoff Corporation Modular parallel-pipelined vision system for real-time video processing
US6151069A (en) 1997-11-03 2000-11-21 Intel Corporation Dual mode digital camera for video and still operation
US6125147A (en) 1998-05-07 2000-09-26 Motorola, Inc. Method and apparatus for reducing breathing artifacts in compressed video
US6598145B1 (en) * 1999-02-12 2003-07-22 Avici Systems Irregular network
JP3824440B2 (ja) * 1999-03-09 2006-09-20 三菱電機株式会社 撮像装置
US6757019B1 (en) * 1999-03-13 2004-06-29 The Board Of Trustees Of The Leland Stanford Junior University Low-power parallel processor and imager having peripheral control circuitry
JP2001036484A (ja) 1999-07-16 2001-02-09 Nec Corp 障害多発自動検出方法
JP3617390B2 (ja) 1999-11-05 2005-02-02 日本ビクター株式会社 ディジタル信号記録再生装置
US6804193B1 (en) * 2000-07-28 2004-10-12 Marconi Intellectual Property (Ringfence) Inc. Protected Ethernet backplane communication
US6967950B2 (en) 2000-08-11 2005-11-22 Texas Instruments Incorporated Pull transfers and transfer receipt confirmation in a datapipe routing bridge
US7619657B2 (en) * 2000-10-04 2009-11-17 Fujifilm Corp. Recording apparatus, communications apparatus, recording system, communications system, and methods therefor for setting the recording function of the recording apparatus in a restricted state
US6952576B2 (en) * 2001-08-22 2005-10-04 Matsushita Electric Industrial Co., Ltd. Entertainment device having a content library and adaptive content selection
US7430002B2 (en) * 2001-10-03 2008-09-30 Micron Technology, Inc. Digital imaging system and method for adjusting image-capturing parameters using image comparisons
JP4618956B2 (ja) 2001-12-10 2011-01-26 ソニー株式会社 信号処理装置、信号処理方法、信号処理システム、プログラム及び媒体
US20030220781A1 (en) * 2002-02-25 2003-11-27 Oak Technology, Inc. Communication architecture utilizing emulator interface
US7212574B2 (en) * 2002-04-02 2007-05-01 Microsoft Corporation Digital production services architecture
MXPA04009651A (es) * 2002-04-05 2005-01-11 Thomson Licensing Sa Sistema de control remoto y metodo par videograbadora personal.
US7861273B2 (en) * 2002-04-26 2010-12-28 Microsoft Corporation TV control resource management
FR2846506B1 (fr) * 2002-10-28 2005-02-11 Philippe Marie Alber Guenebaud Dispositif de trans-compression d'un flux numerique audiovisuel pour l'adapter aux equipements de television existants
US20040257372A1 (en) * 2003-06-19 2004-12-23 Lippincott Louis A. Communication ports in a data driven architecture
US7889951B2 (en) * 2003-06-19 2011-02-15 Intel Corporation Processor to processor communication in a data driven architecture
JP4317394B2 (ja) * 2003-07-01 2009-08-19 スミダコーポレーション株式会社 面実装インダクタ
US8812749B2 (en) 2003-12-31 2014-08-19 Intel Corporation Programmable video processing and video storage architecture

Also Published As

Publication number Publication date
JP5085137B2 (ja) 2012-11-28
US9654724B2 (en) 2017-05-16
GB2423212A (en) 2006-08-16
KR20060103275A (ko) 2006-09-28
US20150110463A1 (en) 2015-04-23
KR100829647B1 (ko) 2008-05-16
WO2005067290A2 (en) 2005-07-21
DE112004002609T5 (de) 2006-11-16
US20050166251A1 (en) 2005-07-28
TW200531004A (en) 2005-09-16
US8812749B2 (en) 2014-08-19
GB2423212B (en) 2009-06-10
WO2005067290A3 (en) 2005-12-08
CN1902921A (zh) 2007-01-24
JP2007520115A (ja) 2007-07-19
TWI285364B (en) 2007-08-11
GB0608720D0 (en) 2006-06-14

Similar Documents

Publication Publication Date Title
US9654724B2 (en) Programmable video processing and video storage architecture
CN100444618C (zh) 帧转换器和转换方法以及数字摄像机与监视系统
US8581915B2 (en) System and method for configuring a display pipeline using a network
JPS58213580A (ja) 静止画像伝送装置
US7889951B2 (en) Processor to processor communication in a data driven architecture
US6944696B2 (en) Data processing processor
WO2024051674A1 (zh) 图像处理电路和电子设备
JP2007520115A6 (ja) 装置、方法、システム、機械読み取り可能な媒体
CN100389594C (zh) 投影显示设备信号源搜索的方法
KR100736935B1 (ko) 그래픽 처리를 이용한 비디오 뮤트 화면 표시장치 및 그방법
US20040078501A1 (en) Multi-pass system and method supporting multiple streams of video
US20040257372A1 (en) Communication ports in a data driven architecture
SU1129602A1 (ru) Устройство дл сопр жени процессора с устройствами ввода-вывода
KR920004009B1 (ko) 원터치 다기능 리모트 컨트롤장치 및 방법
JPH05334033A (ja) マルチウィンド表示型ネットワークシステム
JPS6020205A (ja) リモ−ト方式入出力装置
JP2004166030A (ja) 映像信号選択方法及び装置
JPH0374779A (ja) 画像処理プロセッサの同期調整方式
JP2003204458A (ja) 映像データ伝送装置
JPH1066071A (ja) 映像データ送信装置
WO1989003565A1 (en) Selective receiver for each processor in a multiple processor system
JPH02186393A (ja) インターフェース回路
JPS61238138A (ja) デ−タ転送方式
JPS5951689A (ja) 静止画像伝送装置
JPH06124268A (ja) 多重化バスにおけるロック転送方式

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20091014

Termination date: 20171224

CF01 Termination of patent right due to non-payment of annual fee