CN105684035B - 分组并压缩类似照片 - Google Patents

分组并压缩类似照片 Download PDF

Info

Publication number
CN105684035B
CN105684035B CN201380078904.XA CN201380078904A CN105684035B CN 105684035 B CN105684035 B CN 105684035B CN 201380078904 A CN201380078904 A CN 201380078904A CN 105684035 B CN105684035 B CN 105684035B
Authority
CN
China
Prior art keywords
photo
group
module
remaining
difference
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.)
Active
Application number
CN201380078904.XA
Other languages
English (en)
Other versions
CN105684035A (zh
Inventor
Z·夏
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 CN105684035A publication Critical patent/CN105684035A/zh
Application granted granted Critical
Publication of CN105684035B publication Critical patent/CN105684035B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/51Indexing; Data structures therefor; Storage structures
    • 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/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • 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/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/162User input
    • 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/177Methods 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 a group of pictures [GOP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

***和方法可以提供将多个照片的子集分配到组并从该组选择参考照片。另外,参考照片可以被用于引导被分配到该组的一个或多个剩余照片的压缩。在一个示例中,将该参考照片和被分配到该组的经压缩的一个或多个剩余照片传输到远程服务器。

Description

分组并压缩类似照片
技术领域
实施例一般地涉及照片的管理。更具体地,实施例涉及类似照片的分组和压缩。
背景技术
可以将诸如智能电话和平板的移动设备装备有一个或多个相机,所述相机使得移动设备的用户能够捕获他们周围事物的图像。的确,社交网络和其它应用的增长的流行性可以导致相对大数目的正由给定的移动设备捕获的图像。另外,对照片中的许多来说与彼此类似可能是常见的,特别是如果它们在相对短的时间段上被拍摄。本地地在移动设备上存储这些类似照片可能消耗宝贵的存储和/或处理资源。此外,远程地(例如,经由云同步)存储类似照片也可能消耗带宽和/或联网资源,其可能在高容量云计算基础设施中被限制。
附图说明
对本领域技术人员来说通过阅读以下说明书和随附权利要求以及通过参考以下附图,实施例的各种优势将变得明显,其中:
图1是根据实施例的多个照片的示例的图解;
图2A-2C是根据实施例的编码照片的方法的示例的流程图;
图3A和3B是根据实施例的解码照片的方法的示例的流程图;
图4是根据实施例的逻辑架构的示例的框图;
图5是根据实施例的处理器的示例的框图;以及
图6是根据实施例的***的示例的框图。
具体实施方式
现在转到图1,示出了多个照片10,其中可以通过诸如例如智能电话、智能平板、移动互联网设备(MID)、笔记本计算机、个人数字助理(PDA)、成像设备等的移动设备捕获所述照片。还可以通过诸如例如服务器、台式计算机、工作站等的固定设备捕获照片10。在所图解的示例中,多个照片10的第一子集12(12a-12d)被识别为包含类似于彼此的照片。另外,多个照片10的第二子集14(14a-14e)可以被识别为包含类似于彼此的照片。如将被更详细地讨论的那样,可以将第一子集12自动地分配到第一组并将第二子集14自动地分配到第二组,其中可以在每个组中指派参考照片用于压缩在各组中的剩余照片。这样的方法可以减少在本地存储资源上的负荷以及在与将照片10传输到远程服务器(例如,经由云同步)相关联的联网资源上的负荷。
一般地,可以将照片10加时间戳或以其它方式注释以指示它们是何时被捕获的。在所图解的示例中,将在第一子集12之中具有最早的时间戳的照片12a(例如,依时间顺序的/时间上的第一张照片)选为用于对应于照片10的第一子集12的组的参考照片,并将在第二子集14之中具有最早的时间戳的照片14a选为用于对应于照片10的第二子集14的组的参考照片。选择具有最早时间戳的照片可以显著地减少复杂度,在具有相对紧密的处理、功率和/或电池寿命约束的移动设备上这可以是尤其有优势的。照片12a可以被用于引导(conduct)被分配到第一组的剩余照片12b-12d的压缩,并且照片14a可以被用于引导被分配到第二组的剩余照片14b-14e的压缩。
现在转到图2A-2C,示出了编码照片的方法16。可以将方法16实现为存储在机器或计算机可读储存媒体(诸如随机存取存储器(RAM)、只读存储器(ROM)、可编程ROM(PROM)、固件、闪存存储器等)中、在可配置逻辑(诸如例如,可编程逻辑阵列(PLA)、现场可编程门阵列(FPGA)、复杂可编程逻辑设备(CPLD))中、在使用电路技术(诸如例如,专用集成电路(ASIC)、互补金属氧化物半导体(CMOS)或晶体管-晶体管逻辑(TTL)技术、或它们的任何结合)的固定功能性硬件逻辑中的逻辑指令集。例如,可以以一个或多个编程语言的任何结合编写用于实现在方法16中示出的操作的计算机程序代码,所述编程语言包括面向对象的编程语言(诸如Java、Smalltalk、C++等)以及惯例的程序性编程语言(诸如“C”编程语言或类似的编程语言)。
所图解的处理块18提供了将多个照片的第一子集分配到第一组。具体参考图2B,更详细地示出了将照片分配到组的一种方法。特别地,在块22可以设置诸如例如时间跨度和/或类似度参数的一个或多个参数。可以将时间跨度参数设置成例如10分钟以便建立在其上照片将被分配到相同的组的图像捕获时间段。另外,可以将类似度参数设置成诸如例如30%的值以便建立将导致照片之间的匹配(例如,指派它们为“类似”)的共同性和/或冗余度的量。本文中提供的值仅为了便于讨论,并且可以依赖于情况而改变。在块22也可以设置用于便于组的分配和/或类似度的确定的其它参数。
在块24可以将第一张照片分配到第一组,其中在块26可以选择下一张照片。在块28可以进行关于是否到达了最后一张照片的确定。如果是这样,所图解的过程在块30结束。否则,在块32可以进行关于是否在与该第一张照片相同的时间跨度期间捕获了当前所选照片的确定。如已经表明的那样,在块22可以预先设置时间跨度参数。如果在与该第一张照片相同的时间跨度期间(例如,在该第一张照片的十分钟内)捕获了所选照片,那么所图解的块34确定该第一张照片和当前所选照片是否类似。
可以使用广泛种类的方法以在块34进行确定。例如,诸如二进制大对象(blob)检测、均值漂移图像分析、连续自适应均值漂移(camshift)图像分析等的现用的解决方案可以提供在逐像素的基础上和/或在逐块的基础上的在两张照片之间的类似度水平的指示。如已经表明的那样,类似度参数可以有效地提供用于确定照片是类似的阈值(例如,30%)。如果该第一张照片和当前所选的照片类似,那么块36可以将当前所选照片分配到第一组。如果或者照片是来自不同的时间跨度或者照片不类似,那么在块38可以将当前所选照片分配到新组。重复所图解的过程直到将所有的照片都分配到组。
返回到图2A,在块20可以从第一组选择参考照片,其中选择参考照片可以包括识别在对应组中的具有最早的时间戳的照片。另外,在块40可以将参考照片用于引导在第一组中的剩余照片的压缩。具体参考图2C,更详细地示出了压缩照片的一种方法。特别地,块42可以提供在对应的组中选择剩余照片。此外,在块44可以进行关于是否到达了在对应的组中的最后一张照片的确定。如果是这样,所图解的过程在块46结束。否则,所图解的块48确定在参考照片和该剩余照片之间的差(例如,Ai-A1,其中Ai是该剩余照片并且Al是参考照片)。
在块50可以引导剩余照片和/或参考照片的可选的量化。量化可以减少被用于表示照片像素的值的数目,尽管其也可能产生有损结果。在块52可以引导剩余照片的压缩,其中引导压缩可以包括编码在参考照片和该剩余照片之间的残留差值(例如,Ai-A1)。在一个示例中,可以使用霍夫曼编码来压缩参考照片以及被分配到该组的剩余照片。在这方面,绕开块50可以提供无损结果。重复所图解的过程直到压缩了被分配到讨论中的组的所有剩余照片。方法16(图2A)还可以提供将参考照片和经压缩的一个或多个剩余照片传输到远程服务器。
现在转到图3A和3B,示出了解码照片的方法54。可以将方法54实现为存储在机器或计算机可读储存媒体(诸如RAM、ROM、PROM、固件、闪存存储器等)中、在可配置逻辑(诸如例如,PLA、FPGA、CPLD)中、在使用电路技术(诸如例如,ASIC、CMOS、TTL技术、或它们的任何结合)的固定功能性硬件逻辑中的逻辑指令集。例如,可以以一个或多个编程语言的任何结合编写用于实现在方法54中示出的操作的计算机程序代码,所述编程语言包括面向对象的编程语言(诸如Java、Smalltalk、C++等)以及惯例的程序性编程语言(诸如“C”编程语言或类似的编程语言)。
所图解的处理块56提供解码与照片的第一组相关联的参考照片,其中在块58可以接收与照片的第一组相关联的一个或多个差值。可以在相同的或不同的通信中接收参考照片和差值。在块60可以使用参考照片和一个或多个差值来引导被分配到第一组的剩余照片的解压缩。具体参考图3B,更详细地示出了引导剩余照片的解压缩的一种方法。特别地,块61可以解码参考照片,并且在块62可以进行关于是否到达了最后一张剩余照片的确定。如果是这样,那么过程可以在块64结束。否则,所图解的块66解码在参考照片和当前所选剩余照片之间的差值(例如,Ai-A1)。块68可以将经解码的差值添加到参考照片(A1+(Ai-A1)=Ai)以获得经解码的剩余照片。因此所图解的方法可以在远程服务器处提供大量照片的无损恢复,同时使被置于用于在客户端设备和服务器之间传递照片的联网资源上的负荷最小化。
图4示出了具有客户端部分70(70a-70d)和服务器部分72(72a、72b)的逻辑架构。一般而言,可以通过(例如,移动的、固定的)客户端设备来使用客户端部分70以生成照片,并且可以通过服务器来使用服务器部分72以与客户端设备同步照片。更具体地,客户端部分70一般地可以实现已经讨论的方法16(图2A)并且服务器部分72一般地可以实现已经讨论的方法54(图3A)。
在所图解的示例中,分配模块70a将多个照片的第一子集分配到第一组并且参考模块70b从第一组选择参考照片。在一个示例中,分配模块70a基于时间跨度度量或图像类似度度量中的一个或多个将第一子集分配到第一组,并且参考模块70b通过在第一组中识别在第一子集中的具有最早时间戳的照片来选择参考照片。所图解的客户端部分70还包括压缩模块70c,其使用参考照片来引导被分配到第一组的一个或多个剩余照片的压缩。如已经表明的那样,压缩模块70c可以确定在一个或多个剩余照片中的每一个和参考照片之间的差来引导压缩,并且可以可选地引导一个或多个剩余照片的量化。所图解的客户端部分70还包括传输模块70d以将参考照片和被分配到第一组的经压缩的一个或多个剩余照片传输到远程服务器。
所图解的架构的服务器部分72包括接收模块72a以接收与照片的第一组相关联的参考照片和与照片的第一组相关联的一个或多个差值。解压缩模块72b可以使用参考照片来引导与第一组相关联的一个或多个剩余照片的解压缩。在一个示例中,解压缩模块72b解码每个差值以确定在一个或多个剩余照片中的每一个和参考照片之间的差。另外,解压缩模块可以将每个差添加到参考照片以引导解压缩。
图5图解了根据一个实施例的处理器内核200。处理器内核200可以是用于任何类型的处理器(诸如微处理器、嵌入式处理器、数字信号处理器(DSP)、网络处理器)、或用于执行代码的其它设备的内核。虽然在图5中只图解了一个处理器内核200,但是处理元件可以替换地包括多于一个在图5中图解的处理器内核200。处理器内核200可以是单线程内核,或者针对至少一个实施例,处理器内核200可以是多线程的,因为(in that)它可以每个内核都包括多于一个硬件线程上下文(或“逻辑处理器”)。
图5还图解了被耦合到处理器200的存储器270。存储器270可以是如对本领域技术人员已知的或以其它方式可用的广阔范围的存储器(包括存储层次的各种层)中的任何存储器。存储器270可以包括要由处理器200内核执行的一个或多个代码213的(一个或多个)指令,其中代码213可以实现前述的逻辑架构的客户端部分70(图4)或服务器部分72(图4)。处理器内核200遵循由代码213指示的指令程序序列。每个指令可以进入前端部分210并且可以由一个或多个解码器220处理。解码器220可以生成微操作(诸如在预定义格式中的固定宽度微操作)作为解码器220的输出,或者可以生成反映原始代码指令的其它指令、微指令、或控制信号。所图解的前端210还包括寄存器重命名逻辑225和调度逻辑230,其通常分派资源并给对应于用于执行的转换指令(convert instruction)的操作排队。
示出了包括执行逻辑250的处理器200,所述执行逻辑250具有一组执行单元255-1到255-N。一些实施例可以包括许多专用于具体功能或功能集的执行单元。其它实施例可以包括仅一个执行单元或能够执行特定功能的一个执行单元。所图解的执行逻辑250执行由代码指令指定的操作。
在完成由代码指令指定的操作的执行之后,后端逻辑260引退(retire)代码213的指令。在一个实施例中,处理器200允许乱序(out of order)执行但是要求按顺序(inorder) 引退指令。引退逻辑265可以采取如对本领域技术人员已知的各种形式(例如,重新排序缓冲器等)。以这种方式,至少按照由解码器生成的输出、由寄存器重命名逻辑225利用的表格和硬件寄存器、以及由执行逻辑250更改的任何寄存器(未示出)来在代码213的执行期间变换处理器内核200。
虽然未在图5中图解,但是处理元件可以包括与处理器内核200一起的其它片上元件。例如,处理元件可以包括存储器控制逻辑连同处理器内核200一起。处理元件可以包括I/O控制逻辑和/或可以包括被与存储器控制逻辑集成的I/O控制逻辑。处理元件还可以包括一个或多个高速缓冲存储器(cache)。
现在参考图6,示出了根据实施例的***1000实施例的框图。在图6中示出的是多处理器***1000,其包括第一处理元件1070和第二处理元件1080。虽然示出了两个处理元件1070和1080,但是将理解的是,***1000的实施例也可以包括仅一个这样的处理元件。
将***1000图解为点到点互连***,其中经由点到点互连1050耦合第一处理元件1070和第二处理元件1080。应理解的是,可以将在图6中图解的互连中的任何或所有实现为多点总线(multi-drop bus)而不是点到点互连。
如在图6中示出的那样,处理元件1070和1080中的每一个都可以是多核处理器,包括第一和第二处理器内核(即,处理器内核1074a和1074b以及处理器内核1084a和1084b)。这样的内核1074、1074b、1084a、1084b可以被配置成以类似于在上面关于图5讨论的方式的方式执行指令代码。
每个处理元件1070、1080可以包括至少一个共享高速缓冲存储器1896a、1896b。共享高速缓冲存储器1896a、1896b可以分别存储由处理器的一个或多个组件(诸如内核1074a、1074b、和1084a、1084b)利用的数据(例如,指令)。例如,共享高速缓冲存储器1896a、1896b可以本地地高速缓存被存储在存储器1032、1034中的数据用于由处理器的组件更快的访问。在一个或多个实施例中,共享高速缓冲存储器1896a、1896b可以包括一个或多个中级高速缓冲存储器(诸如2级(L2)、3级(L3)、4级(L4)、或其它级别的高速缓冲存储器)、最后极高速缓冲存储器(last level cache,LLC)、和/或它们的结合。
虽然只示出具有两个处理元件1070、1080,但是将理解的是,不会如此限制实施例的范围。在其它实施例中,在给定的处理器中可以存在一个或多个附加的处理元件。替换地,处理元件1070、1080中的一个或多个可以是不同于处理器的元件,诸如加速器或现场可编程门阵列。例如,(一个或多个)附加的处理元件可以包括与第一处理器1070相同的(一个或多个)附加的处理器、与处理器第一处理器1070异类的或不对称的(一个或多个)附加的处理器、加速器(诸如例如,图形加速器或数字信号处理(DSP)单元)、现场可编程门阵列、或任何其它处理元件。在处理元件1070、1080之间在一系列指标(包括架构的、微架构的、热的、功率消耗特性等)的度量方面可以存在各种差异。这些差异可以有效地在处理元件1070、1080之中把它们自己表示为不对称和异类性。对于至少一个实施例,各种处理元件1070、1080可以驻存在相同的管芯封装中。
第一处理元件1070可以进一步包括存储器控制器逻辑(MC)1072以及点到点(P-P)接口1076和1078。类似地,第二处理元件1080可以包括MC1082以及P-P接口1086和1088。如在图6中示出的那样,MC1072和1082将处理器耦合到各个存储器,即存储器1032和存储器1034,其可以是本地地附着到各个处理器的主存储器的部分。虽然将MC1072和1082图解为被集成到处理元件1070、1080中,但是对于替换实施例,MC逻辑可以是在处理元件1070、1080外面而不是被集成在其中的分立逻辑。
可以经由P-P互连1076、1086分别将第一处理元件1070和第二处理元件1080耦合到I/O子***1090。如在图6中示出的那样,I/O子***1090包括P-P接口1094和1098。另外,I/O子***1090包括接口1092以将I/O子***1090与高性能图形引擎1038耦合。在一个实施例中,可以使用总线1049来将图形引擎1038耦合到I/O子***1090。替换地,点到点互连可以耦合这些组件。
依次,可以经由接口1096将I/O子***1090耦合到第一总线1016。在一个实施例中,第一总线1016可以是***组件互连(PCI)总线,或是诸如PCI快速总线或另一第三代I/O互连总线的总线,尽管不会如此限制实施例的范围。
如在图6中示出的那样,可以将各种I/O设备1014(例如,相机)连同总线桥1018一起耦合到第一总线1016,所述总线桥1018可以将第一总线1016耦合到第二总线1020。在一个实施例中,第二总线1020可以是低引脚数(LPC)总线。在一个实施例中,可以将各种设备耦合到第二总线1020,所述设备包括例如键盘/鼠标1012、网络控制器/(一个或多个)通信设备1026(其可以依次与计算机网络通信)、以及可以包括代码1030的数据储存单元1019(诸如硬盘驱动器或其它大容量储存设备)。代码1030可以包括用于执行上面描述的方法中的一个或多个的实施例的指令。因此,所图解的代码1030可以实现前述逻辑架构的客户端部分70(图4)或服务器部分72(图4),并且可以是类似于已经讨论过的代码213(图5)。另外,可以将音频I/O1024耦合到第二总线1020。
注意,其它实施例是可预期的。例如,***可以实现多点总线或另一这样的通信技术代替图6的点到点架构。另外,替换地可以使用比在图6中示出的更多的或更少的集成芯片来划分图6的元件。
附加注解和示例:
示例1可以包括用于编码照片的装置,其包括用于将多个照片的第一子集分配到第一组的分配模块,用于从所述第一组选择参考照片的参考模块,以及用于使用所述参考照片来引导被分配到所述第一组的一个或多个剩余照片的压缩的压缩模块。
示例2可以包括示例1的装置,还包括用于将所述参考照片和被分配到所述第一组的经压缩的一个或多个剩余照片传输到远程服务器的传输模块。
示例3可以包括示例1的装置,其中所述压缩模块是用于确定在所述一个或多个剩余照片中的每一个和所述参考照片之间的差以引导所述压缩。
示例4可以包括示例1的装置,其中所述分配模块是用于基于时间跨度度量或图像类似度度量中的一个或多个将所述多个照片的所述第一子集分配到所述第一组。
示例5可以包括示例1的装置,其中所述参考模块是用于在所述第一组中识别在所述第一子集中的具有最早的时间戳的照片以选择所述参考照片。
示例6可以包括示例1到5中的任何一个的装置,其中所述分配模块是用于将所述多个照片的第二子集分配到第二组。
示例7可以包括示例1到5中的任何一个的装置,其中所述压缩模块是用于引导所述一个或多个剩余照片的量化。
示例8可以包括一种编码照片的方法,其包括将多个照片的第一子集分配到第一组,从所述第一组选择参考照片以及使用所述参考照片来引导被分配到所述第一组的一个或多个剩余照片的压缩。
示例9可以包括示例8的方法,还包括将所述参考照片和被分配到所述第一组的经压缩的一个或多个剩余照片传输到远程服务器。
示例10可以包括示例8的方法,其中使用所述参考照片来引导所述压缩包括确定在所述一个或多个剩余照片中的每一个和所述参考照片之间的差。
示例11可以包括示例8的方法,其中基于时间跨度度量或图像类似度度量中的一个或多个将所述多个照片的所述第一子集分配到所述第一组。
示例12可以包括示例8的方法,其中选择所述参考照片包括在所述第一组中识别在所述第一子集中的具有最早的时间戳的照片。
示例13可以包括示例8到12中的任何一个的方法,还包括将所述多个照片的第二子集分配到第二组。
示例14可以包括示例8到12中的任何一个的方法,还包括引导所述一个或多个剩余照片的量化。
示例15可以包括至少一种计算机可读储存媒体,其包括指令集,如果由计算设备执行所述指令集,所述指令集引起所述计算设备将多个照片的第一子集分配到第一组,从所述第一组选择参考照片以及使用所述参考照片来引导被分配到所述第一组的一个或多个剩余照片的压缩。
示例16可以包括示例15的至少一种计算机可读储存媒体,其中如果所述指令被执行,则所述指令引起计算设备将所述参考照片和被分配到所述第一组的经压缩的一个或多个剩余照片传输到远程服务器。
示例17可以包括示例15的至少一种计算机可读储存媒体,其中如果所述指令被执行,则所述指令引起计算设备确定在所述一个或多个剩余照片中的每一个和所述参考照片之间的差以引导所述压缩。
示例18可以包括示例15的至少一种计算机可读储存媒体,其中基于时间跨度度量或图像类似度度量中的一个或多个将所述多个照片的所述第一子集分配到所述第一组。
示例19可以包括示例15的至少一种计算机可读储存媒体,其中如果所述指令被执行,则所述指令引起计算设备在所述第一组中识别在所述第一子集中的具有最早的时间戳的照片以选择参考图片。
示例20可以包括示例15到19中的任何一个的至少一种计算机可读储存媒体,其中如果所述指令被执行,则所述指令引起计算设备将所述多个照片的第二子集分配到第二组。
示例21可以包括示例15到19中的任何一个的至少一种计算机可读储存媒体,其中如果所述指令被执行,则所述指令引起计算设备引导所述一个或多个剩余照片的量化。
示例22可以包括一种解码照片的方法,其包括接收与照片的第一组相关联的参考照片,接收与所述照片的第一组相关联的一个或多个剩余照片以及使用所述参考照片来引导所述一个或多个剩余照片的解压缩。
示例23可以包括示例22的至少一种计算机可读储存媒体,其中如果所述指令被执行,则所述指令引起计算设备解码每个差值以确定在所述一个或多个剩余照片中的每一个和所述参考照片之间的差。
示例24可以包括示例23的至少一种计算机可读储存媒体,其中如果所述指令被执行,则所述指令引起计算设备将每个差添加到所述参考照片以引导所述解压缩。
示例25可以包括一种解码照片的方法,其包括接收与照片的第一组相关联的参考照片,接收与所述照片的第一组相关联的一个或多个差值以及使用所述参考照片和所述一个或多个差值来引导与所述照片的第一组相关联的所述一个或多个剩余照片的解压缩。
示例26可以包括示例25的方法,还包括解码每个差值以确定在所述一个或多个剩余照片中的每一个和所述参考照片之间的差。
示例27可以包括示例26的方法,还包括将每个差添加到所述参考照片以引导所述解压缩。
示例28是用于解码照片的装置,其包括用于接收与照片的第一组相关联的参考照片和与所述照片的第一组相关联的一个或多个差值的接收模块,以及用于使用所述参考照片和所述一个或多个差值来引导与所述照片的第一组相关联的一个或多个剩余照片的解压缩的解压缩模块。
示例29可以包括示例28的装置,其中所述解压缩模块是用于解码每个差值以确定在所述一个或多个剩余照片中的每一个和所述参考照片之间的差。
示例30可以包括示例29的装置,其中所述解压缩模块是用于将每个差添加到所述参考照片以引导所述解压缩。
因此,本文中描述的技术可以减少被置于捕获相对大数目的照片的客户端设备的存储和/或处理资源上的负荷。例如,将在组中的最早的照片自动地指派为用于该组的参考照片可以减少复杂度和处理开销。另外,也可以经由本文中描述的压缩技术减少被置于带宽和其它联网资源上的负荷。
实施例是可应用的以供所有类型的半导体集成电路(“IC”)芯片使用。这些IC芯片的示例包括但不被限于处理器、控制器、芯片集组件、可编程逻辑阵列(PLA)、存储器芯片、网络芯片、片上***(SoC)、SSD/NAND控制器ASIC等。另外,在附图的一些中,采用线表示信号导线。有一些可能是不同的,以指示更多的构成信号路径,具有数字标签,以指示多个构成信号路径,和/或在一个或多个端处具有箭头,以指示主要的信息流方向。然而,不应以限制性方式解释这一点。不如说,可以关于一个或多个示例性实施例使用这样的被添加的细节以便于对电路的更容易的理解。任何所表示的信号线,不论是否具有附加信息,都可以实际上包括可以在多个方向中行进并且可以采用任何适当类型的信号方案实现的一个或多个信号,所述信号线例如采用差分对实现的数字或模拟线、光纤线、和/或单端线。
可能已经给出了示例尺寸/模型/值/范围,尽管实施例不被限制于同样的事物。随着制造技术(例如,光刻法(photolithography))伴随时间而成熟,能够制造更小尺寸的设备是期望的。另外,为了图解和讨论的简单,并且为了不掩盖实施例的某些方面,在附图内可能或可能没有示出到IC芯片和其它组件的公知的电力/接地连接。另外,可能以框图形式示出了布置以便避免掩盖实施例,并且还考虑到事实—关于这样的框图布置的实现的细节是高度依赖于在其内要实现实施例的平台,即这样的细节应是很好地在本领域技术人员的视界内的。在那里陈述了具体的细节(例如,电路)以便描述示例实施例,对本领域技术人员来说应是显然的是,可以在没有这些具体细节的情况下或在有这些具体细节的变体的情况下实践实施例。因此,描述将被视为例证性的而不是限制性的。
本文中可以使用术语“被耦合”来指在讨论中的组件之间的直接的或非直接的任何类型的关系,并且术语“被耦合”可以应用于电的、机械的、流体的、光的、电磁的、机电的、或其它连接。另外,本文中可以使用术语“第一”、“第二”等仅用于便于讨论,并且除非另外指示并不承载特定的时间上的或按时间顺序上的意义。
如在该申请中和在权利要求中使用的那样,通过术语“中的一个或多个”结合的项列表可以意味着所列出的术语的任何组合。例如,短语“A、B或C中的一个或多个”可以意味着A,B,C,A和B,A和C,B和C,或A、B和C。
从前述描述中本领域技术人员将领会的是,可以以各种形式实现实施例的广泛的技术。因此,虽然关于实施例的特定示例描述了实施例,但是不应如此限制实施例的真实范围,因为在学习附图、说明书、和以下权利要求时对于熟练的专业人员(practitioner)来说其它修改将变得明显。

Claims (18)

1.一种用于编码照片的装置,包括:
分配模块,其用于将多个照片的第一子集分配到第一组;
参考模块,其用于从所述第一组选择参考照片;以及
压缩模块,其用于使用所述参考照片来引导被分配到所述第一组的一个或多个剩余照片的压缩;
其中所述参考模块是用于在所述第一组中识别在所述第一子集中的具有最早的时间戳的照片以选择所述参考照片。
2.如权利要求1的装置,还包括传输模块,其用于将所述参考照片和被分配到所述第一组的经压缩的一个或多个剩余照片传输到远程服务器。
3.如权利要求1的装置,其中所述压缩模块是用于确定在所述一个或多个剩余照片中的每一个和所述参考照片之间的差以引导所述压缩。
4.如权利要求1的装置,其中所述分配模块是用于基于时间跨度度量或图像类似度度量中的一个或多个将所述多个照片的所述第一子集分配到所述第一组。
5.如权利要求1到4中的任何一个的装置,其中所述分配模块是用于将所述多个照片的第二子集分配到第二组。
6.如权利要求1到4中的任何一个的装置,其中所述压缩模块是用于引导所述一个或多个剩余照片的量化。
7.一种编码照片的方法,包括:
将多个照片的第一子集分配到第一组;
从所述第一组选择参考照片;以及
使用所述参考照片来引导被分配到所述第一组的一个或多个剩余照片的压缩;
其中选择所述参考照片包括在所述第一组中识别在所述第一子集中的具有最早的时间戳的照片。
8.如权利要求7的方法,还包括将所述参考照片和被分配到所述第一组的经压缩的一个或多个剩余照片传输到远程服务器。
9.如权利要求7的方法,其中使用所述参考照片来引导所述压缩包括确定在所述一个或多个剩余照片中的每一个和所述参考照片之间的差。
10.如权利要求7的方法,其中基于时间跨度度量或图像类似度度量中的一个或多个将所述多个照片的所述第一子集分配到所述第一组。
11.如权利要求7到10中的任何一个的方法,还包括将所述多个照片的第二子集分配到第二组。
12.如权利要求7到10中的任何一个的方法,还包括引导所述一个或多个剩余照片的量化。
13.一种解码照片的方法,包括:
接收与照片的第一组相关联的参考照片;
接收与所述照片的第一组相关联的一个或多个差值;以及
使用所述参考照片和所述一个或多个差值来引导与所述照片的第一组相关联的一个或多个剩余照片的解压缩;
其中所述参考照片是在第一组中具有最早的时间戳的照片。
14.如权利要求13的方法,还包括解码每个差值以确定在所述一个或多个剩余照片中的每一个和所述参考照片之间的差。
15.如权利要求14的方法,还包括将每个差添加到所述参考照片以引导所述解压缩。
16.一种用于解码照片的装置,包括:
接收模块,其用于接收与照片的第一组相关联的参考照片和与所述照片的第一组相关联的一个或多个差值;以及
解压缩模块,其用于使用所述参考照片和所述一个或多个差值来引导与所述照片的第一组相关联的一个或多个剩余照片的解压缩;
其中所述参考照片是在第一组中具有最早的时间戳的照片。
17.如权利要求16的装置,其中所述解压缩模块是用于解码每个差值以确定在所述一个或多个剩余照片中的每一个和所述参考照片之间的差。
18.如权利要求17的装置,其中所述解压缩模块是用于将每个差添加到所述参考照片以引导所述解压缩。
CN201380078904.XA 2013-09-16 2013-09-16 分组并压缩类似照片 Active CN105684035B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2013/059866 WO2015038154A1 (en) 2013-09-16 2013-09-16 Grouping and compressing similar photos

Publications (2)

Publication Number Publication Date
CN105684035A CN105684035A (zh) 2016-06-15
CN105684035B true CN105684035B (zh) 2019-08-20

Family

ID=52666097

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380078904.XA Active CN105684035B (zh) 2013-09-16 2013-09-16 分组并压缩类似照片

Country Status (3)

Country Link
US (1) US9330112B2 (zh)
CN (1) CN105684035B (zh)
WO (1) WO2015038154A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2640298C1 (ru) 2015-10-12 2017-12-27 Общество С Ограниченной Ответственностью "Яндекс" Способ обработки и хранения изображений
CN109753572B (zh) * 2018-12-26 2021-03-23 维沃移动通信有限公司 一种多媒体数据处理的方法和装置
CN111599202A (zh) * 2020-05-27 2020-08-28 四川邮电职业技术学院 一种车载通信终端及车载通信***
US20210373789A1 (en) * 2020-05-29 2021-12-02 Western Digital Technologies, Inc. Storage System, Host, and Method for Optimizing Storage of a Sequence of Images

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1973529A (zh) * 2004-05-05 2007-05-30 诺基亚公司 提供有效的多媒体内容存储的方法和设备
WO2009031402A1 (ja) * 2007-09-05 2009-03-12 Sony Corporation 画像選択装置、画像選択方法、およびプログラム

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2366464A (en) * 2000-08-14 2002-03-06 Nokia Mobile Phones Ltd Video coding using intra and inter coding on the same data
KR100474769B1 (ko) * 2002-12-06 2005-03-10 엘지전자 주식회사 영상 저장 장치 및 그 관리방법
US20040205286A1 (en) 2003-04-11 2004-10-14 Bryant Steven M. Grouping digital images using a digital camera
AU2007231756B2 (en) * 2007-10-30 2011-04-07 Canon Kabushiki Kaisha A method of segmenting videos into a hierachy of segments
US20100278396A1 (en) * 2008-01-18 2010-11-04 Nikon Corporation Image group title assigning device, image grouping device, representative image determination device for image group, image display device, camera, and image display program
US8811756B2 (en) * 2011-07-11 2014-08-19 International Business Machines Corporation Image compression
US20130058577A1 (en) * 2011-09-07 2013-03-07 Peter O. Stubler Event classification method for related digital images
KR101191172B1 (ko) 2012-02-15 2012-10-15 (주)올라웍스 이미지 데이터베이스의 이미지들을 관리하는 방법, 장치 및 컴퓨터 판독 가능한 기록 매체

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1973529A (zh) * 2004-05-05 2007-05-30 诺基亚公司 提供有效的多媒体内容存储的方法和设备
WO2009031402A1 (ja) * 2007-09-05 2009-03-12 Sony Corporation 画像選択装置、画像選択方法、およびプログラム
CN101622641A (zh) * 2007-09-05 2010-01-06 索尼株式会社 图像选择设备、图像选择方法和程序

Also Published As

Publication number Publication date
WO2015038154A1 (en) 2015-03-19
CN105684035A (zh) 2016-06-15
US20150078673A1 (en) 2015-03-19
US9330112B2 (en) 2016-05-03

Similar Documents

Publication Publication Date Title
CN110147251B (zh) 用于计算神经网络模型的***、芯片及计算方法
US9818166B2 (en) Graph-based application programming interface architectures with producer/consumer nodes for enhanced image processing parallelism
CN105684035B (zh) 分组并压缩类似照片
Emmons et al. Cracking open the dnn black-box: Video analytics with dnns across the camera-cloud boundary
Bajić et al. Collaborative intelligence: Challenges and opportunities
DE102019119058A1 (de) Punktwolkenvorgänge
US20160210721A1 (en) Graph-based application programming interface architectures with equivalency classes for enhanced image processing parallelism
US8675219B2 (en) High bandwidth image processing with run time library function offload via task distribution to special purpose engines
US20140092439A1 (en) Encoding images using a 3d mesh of polygons and corresponding textures
CN105723676A (zh) 通用屏幕内容编解码器
CN107529098A (zh) 实时视频摘要
CN110674918B (zh) 信息处理方法、设备、***及存储介质
JP6328848B2 (ja) 遅延分離シェーディングのための技術
CN109922319A (zh) 基于多核cpu的rtsp协议多视频流并行预处理方法
CN104320622A (zh) 一种开源服务器软件的嵌入式视频增强***
WO2014182469A1 (en) Improved multi-sampling anti-aliasing compression by use of unreachable bit combinations
TW201618030A (zh) 促進針對在計算裝置上之部分被遮蔽圖形影像之動態且有效的預啓用裁剪之技術
CN116524195B (zh) 语义分割方法、装置、电子设备及存储介质
CN112580481A (zh) 基于边缘节点和云端协同视频处理方法、装置、服务器
CN115272565A (zh) 一种头部三维模型的重建方法及电子设备
CN114915753A (zh) 云服务器的构架、数据处理方法及存储介质
KR20220043912A (ko) 머신 비전을 위한 다중 태스크 시스템에서의 딥러닝 기반 특징맵 코딩 장치 및 방법
CN113724398A (zh) 增强现实方法、装置、设备以及存储介质
CN101256668B (zh) 一种计算均衡的多核进行视频滤波的方法
CN102438106A (zh) 一种视频采集***

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant