CN101529917B - 用信号通知逆离散余弦变换的最大动态范围 - Google Patents

用信号通知逆离散余弦变换的最大动态范围 Download PDF

Info

Publication number
CN101529917B
CN101529917B CN2007800390443A CN200780039044A CN101529917B CN 101529917 B CN101529917 B CN 101529917B CN 2007800390443 A CN2007800390443 A CN 2007800390443A CN 200780039044 A CN200780039044 A CN 200780039044A CN 101529917 B CN101529917 B CN 101529917B
Authority
CN
China
Prior art keywords
group
output valve
module
video
frame
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
CN2007800390443A
Other languages
English (en)
Other versions
CN101529917A (zh
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.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN101529917A publication Critical patent/CN101529917A/zh
Application granted granted Critical
Publication of CN101529917B publication Critical patent/CN101529917B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/14Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
    • G06F17/147Discrete orthonormal transforms, e.g. discrete cosine transform, discrete sine transform, and variations therefrom, e.g. modified discrete cosine transform, integer transforms approximating the discrete cosine transform
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/625Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using discrete cosine transform [DCT]
    • 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/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • H04N19/122Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
    • 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/156Availability of hardware or computational resources, e.g. encoding based on power-saving criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • H04N19/45Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder performing compensation of the inverse transform mismatch, e.g. Inverse Discrete Cosine Transform [IDCT] mismatch
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Discrete Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Mathematics (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本发明描述用信号通知可在解码一组经编码媒体数据时产生的逆离散余弦变换(IDCT)输出值的最大动态范围的多种技术。根据这些技术,编码装置可产生媒体文件,所述媒体文件包括与一组一个或一个以上视频帧相关联的经编码媒体数据。所述媒体文件还可包括范围指示元,所述范围指示元指示在解码所述经编码媒体数据时产生的IDCT输出值的所述最大动态范围。接收所述媒体文件的解码装置可在解码所述经编码媒体数据之前使用所述范围指示元来确定是否解码所述经编码媒体数据。举例来说,当所述解码装置不能够产生在IDCT输出值的所述所指示范围中的IDCT输出值时,所述解码装置可不解码所述经编码媒体数据。

Description

用信号通知逆离散余弦变换的最大动态范围
相关申请案交叉参考
本申请案主张2006年10月23日提出申请的第60/862,591号美国临时申请案的权益,所述申请案的全部内容以引用方式并入本文中。
技术领域
本发明涉及计算机图形,且明确地说涉及图形数据的压缩。
背景技术
许多现有的图像及视频编码标准采用压缩技术以允许将高分辨率图像及视频作为相对紧缩文件或数据流来存储或传输。此类编码标准包括联合照片专家组(“JPEG”),移动图片专家组(“MPEG”)-1、MPEG-2、MPEG-4部分2,H.261、H.263、H.264/先进视频编码(“H.264/AVC”)及其它图像或视频编码标准。
根据这些标准中的许多标准,使用“空间”编码来压缩视频帧。这些帧可以是原始帧(即,i-帧)或可以是使用运动补偿的临时编码过程产生的残余帧。在空间编码期间,帧被分为相等大小的像素块。举例来说,可将未经压缩的帧分为一组8×8像素块。对于每一像素块来说,像素分量被分离为像素分量值矩阵。举例来说,可将每一像素块划分为Y像素分量值的矩阵、U像素分量值的矩阵及V像素分量值的矩阵。在此实例中,Y像素分量值指示亮度值且U及V像素分量值表示色度值。
此外,在空间编码期间,将正离散余弦变换(“FDCT”)应用于将要编码的帧中的像素分量值的每一矩阵。理想的一维FDCT由下式定义:
t ( k ) = c ( k ) Σ n = 0 N - 1 s ( n ) cos π ( 2 n + 1 ) k ) 2 N
其中s是N个原始值的阵列,t是N个经变换值的阵列且系数c可由下式给出:
c ( 0 ) = 1 / N , c ( k ) = 2 / N
当1≤k≤N-1时。
理想的二维FDCT是由以下公式定义:
t ( i , j ) = c ( i , j ) Σ n = 1 N - 1 Σ m = 0 N - 1 s ( m , n ) cos π ( 2 m + 1 ) i 2 N cos π ( 2 n + 1 ) j 2 N
其中s是N个原始值的阵列,t是N个经变换值的阵列,以及c(i,j)由c(i,j)=c(i)c(j)给出且其中c(k)定义为在一维情况下。
当使用FDCT变换像素块分量值时,产生系数矩阵。举例来说,可接着使用哈弗曼(Huffman)或算术代码来量化及编码此系数矩阵。视频位流表示在一系列未经压缩视频帧中对视频帧中的所有像素块分量值的执行此过程的经组合结果。
可通过反转此过程来从视频位流中导出未经压缩的视频帧。明确地说,解压缩位流视频中的每一系数矩阵且逆量化经解压缩的值以导出经逆量化系数矩阵。接着将逆离散余弦变换(“IDCT”)应用于每一经逆量化系数矩阵以导出像素分量值矩阵。理想的一维IDCT由下式定义:
s ( n ) = Σ k = 0 N - 1 c ( k ) t ( k ) cos π ( 2 n + 1 ) k 2 N
其中s是N个原始值的阵列,t是N个经变换值的阵列,且系数c由下式给出
c ( 0 ) = 1 / N , c ( k ) = 2 / N
其中1≤k≤N-1。
理想的二维IDCT由以下公式定义:
s ( m , n ) = Σ i = 0 N - 1 Σ j = 0 N - 1 c ( i , j ) t ( i , j ) cos π ( 2 m + 1 ) i 2 N cos π ( 2 n + 1 ) j 2 N
接着将像素分量值所得矩阵再汇编为像素块,且再汇编这些像素块以形成经解码的视频帧。如果所述经解码视频帧是帧内编码帧,那么所述视频帧现在完全被解码。然而,如果所述经解码视频帧是帧间编码帧,那么所述经解码视频帧只不过是经解码的残余帧。通过使用与所述经解码视频帧相关联的运动向量建造经预测帧且接着将所述经预测帧添加到经解码的残余帧,来产生完整的帧。
发明内容
本文描述用以用信号传输可在解码一组经编码媒体数据时产生的逆离散余弦变换(“IDCT”)输出值的最大动态范围的多种技术。根据这些技术,编码装置可产生媒体文件,所述媒体文件包括与一组一个或一个以上视频帧相关联的经编码媒体数据。所述媒体文件还可包括指示在解码所述经编码媒体数据时产生的IDCT输出值的最大动态范围的范围指示元。接收所述媒体文件的解码装置可在解码所述经编码媒体数据之前,使用所述范围指示元来确定是否解码所述经编码媒体数据。举例来说,当所述解码装置不能产生在IDCT输出值的所指示范围中的IDCT输出值时,所述解码装置可不解码所述经编码媒体数据。
在一个方面,一种方法包含:借助解码模块接收媒体对象,所述媒体对象包括表示一组一个或一个以上视频帧的经编码媒体数据及指示与所述经编码媒体数据相关联的IDCT输出值的最大动态范围的范围指示元。所述方法还包含确定与所述经编码媒体数据相关联的IDCT输出值的最大动态范围是否包括在给定范围外的IDCT输出值。此外,所述方法包含当与所述经编码媒体数据相关联的IDCT输出值的最大动态范围不包括在所述给定范围外的IDCT输出值时,基于所述经编码媒体数据使用第一操作来产生一组IDCT输出值。另外,所述方法包含使用所述组IDCT输出值来产生与所述组视频帧中的视频帧相关联的经重建视频帧。所述方法还包含致使媒体呈现模块呈现所述经重建视频帧。
在另一方面,一种方法包含从解码装置接收指示IDCT输出值的最大动态范围的消息。另外,所述方法包含响应于接收所述消息而产生表示一组一个或一个以上视频帧的第一组经编码媒体数据,其中与所述第一组经编码媒体数据相关联的IDCT输出值不包括在所指示范围外的IDCT输出值。所述方法还包含将所述第一组经编码媒体数据输出到所述解码装置。
在再一方面,一种装置包含接收媒体对象的通信接口,所述媒体地响包括表示一组一个或一个以上视频帧的经编码媒体数据及指示与所述经编码媒体数据相关联的IDCT输出值的最大动态范围的范围指示元。所述装置还包含范围检查模块,其确定与所述经编码媒体数据相关联的IDCT输出值的最大动态范围是否包括在给定范围外的IDCT输出值。另外,所述装置包含初级逆变换模块,当与所述经编码媒体数据相关联的IDCT输出值的最大动态范围不包括在所述给定范围外的IDCT输出值,所述初级逆变换模块基于所述经编码媒体数据使用第一操作来产生一组IDCT输出值。所述装置还包含图片重建模块,其使用所述组IDCT输出值来产生与所述组视频帧中的视频帧相关联的经重建视频帧。此外,所述装置包含呈现驱动器,其致使媒体呈现模块呈现所述经重建视频帧。
在又一方面,一种装置包含通信接口,其从解码装置接收指示IDCT输出值的最大动态范围的消息。所述装置还包含编码模块,其响应于接收所述消息而产生表示一组一个或一个以上视频帧的第一组经编码媒体数据,其中与所述第一组经编码媒体数据相关联的IDCT输出值不包括在所指示范围外的IDCT输出值。所述通信接口将所述第一组经编码媒体数据输出到所述解码装置。
在又一方面,一种装置包含用于接收媒体对象的装置,所述媒体对象包括表示一组一个或一个以上视频帧的经编码媒体数据及指示与所述经编码媒体数据相关联的IDCT输出值的最大动态范围的范围指示元。所述装置还包含用于确定与所述经编码媒体数据相关联的IDCT输出值的最大动态范围是否包括在给定范围外的IDCT输出值的装置。另外,所述装置包含用于当与所述经编码媒体数据相关联的IDCT输出值的最大动态范围不包括在所述给定范围外的IDCT输出值时基于所述经编码媒体数据使用第一操作来产生一组IDCT输出值的装置。此外,所述装置包含用于使用所述组IDCT输出值来产生与所述组视频帧中的视频帧相关联的经重建视频帧的装置。所述装置还包含用于致使媒体呈现模块呈现所述经重建视频帧的装置。
在又一方面,一种装置包含用于从解码装置接收指示IDCT输出值的最大动态范围的消息的装置。所述装置还包含用于响应于接收所述消息而产生表示一组一个或一个以上视频帧的第一组经编码媒体数据的装置,其中与所述第一组经编码媒体数据相关联的IDCT输出值不包括在所指示范围外的IDCT输出值。所述装置含包含用于将所述第一组经编码媒体数据输出到解码装置的装置。
在又一方面,一种集成电路包含接收媒体对象的电路,所述媒体对象包括表示一组一个或一个以上视频帧的经编码媒体数据及指示与所述经编码媒体数据相关联的IDCT输出值的最大动态范围的范围指示元。所述集成电路还包含确定与所述经编码媒体数据相关联的IDCT输出值的最大动态范围是否包括在给定范围外的IDCT输出值的电路。此外,所述集成电路包含当与所述经编码媒体数据相关联的IDCT输出值的最大动态范围不包括在所述给定范围外的IDCT输出值时基于所述经编码的媒体数据使用第一操作来产生一组IDCT输出值的电路。另外,所述集成电路包含使用所述组IDCT输出值来产生与所述组视频帧中的视频帧相关联的经重建视频帧的电路。所述集成电路还包含致使媒体呈现模块呈现所述经重建视频帧的电路。
在又一方面,一种集成电路包含从解码装置接收指示IDCT输出值的最大动态范围的消息的电路。另外,所述集成电路包含响应于接收所述消息而产生表示一组一个或一个以上视频帧的第一组经编码媒体数据的电路。与所述第一组经编码媒体数据相关联的IDCT输出值不包括在所指示范围外的IDCT输出值。所述集成电路还包含将所述经编码媒体数据输出到所述解码装置的电路。
在又一方面,一种系统包含编码装置及解码装置。所述解码装置包含从所述编码装置接收媒体对象的第一通信接口,所述媒体对象包括表示一组一个或一个以上视频帧的第一组经编码媒体数据及指示与所述第一组经编码媒体数据相关联的IDCT输出值的最大动态范围的范围指示元。所述解码装置还包含范围检查模块,其确定与所述第一组经编码媒体数据相关联的IDCT输出值的最大动态范围是否包括在给定范围外的IDCT输出值。另外,所述解码装置包含范围协商模块,当与所述经编码媒体数据相关联的IDCT输出值的最大动态范围包括在所述给定范围外的IDCT输出值时,其致使所述第一通信接口向所述编码装置输出指示IDCT输出值的最大动态范围的消息。此外,所述解码装置包含初级逆变换模块,当与所述第一组经编码媒体数据相关联的IDCT输出值的最大动态范围不包括在所述给定范围外的IDCT输出值时,其基于所述第一组经编码媒体数据使用第一操作来产生一组IDCT输出值。另外,所述解码装置包含图片重建模块,其使用所述组IDCT输出值来产生与所述组视频帧中的视频帧相关联的经重建视频帧。所述解码装置还包含呈现驱动器,其致使媒体呈现单元呈现所述经重建视频帧。所述编码装置包含第二通信接口,其从所述解码装置接收指示所述给定范围的消息。所述编码装置还包含编码模块,其响应于接收所述消息而产生表示所述组一个或一个以上视频帧的第二组经编码媒体数据。与所述第二组经编码媒体数据相关联的IDCT输出值不包括在所述给定范围外的IDCT输出值。所述第二通信接口将所述第二组经编码媒体数据输出到所述解码装置。
本发明中所述的技术可实施于硬件、软件、固件或其任一组合中。如果实施于软件中,那么可使用一个或一个以上处理器(例如微处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或数字信号处理器(DSP))来执行所述软件。执行所述技术的软件最初可存储于计算机可读媒体中并使用所述一个或一个以上处理器来加载及执行。
因此,本发明还预期包含可执行指令的计算机可读媒体。当由一个或一个以上处理器执行时,所述指令致使所述一个或一个以上处理器接收媒体对象,所述媒体对象包括表示一组一个或一个以上视频帧的经编码媒体数据及指示与所述经编码媒体数据相关联的IDCT输出值的最大动态范围的范围指示元。另外,所述指令致使所述一个或一个以上处理器确定与所述经编码媒体数据相关联的IDCT输出值的最大动态范围是否包括在给定范围外的IDCT输出值。所述指令还致使所述一个或一个以上处理器当与所述经编码媒体数据相关联的IDCT输出值的最大动态范围不包括在所述给定范围外的IDCT输出值时基于所述经编码媒体数据使用第一操作来产生一组IDCT输出值。另外,所述指令致使所述一个或一个以上处理器使用所述组IDCT输出值来产生与所述组视频帧中的视频帧相关联的经重建视频帧。所述指令进一步致使所述一个或一个以上处理器致使媒体呈现模块呈现所述经重建视频帧。
在另一实例中,一种计算机可读媒体包含当由一个或一个以上处理器执行时致使所述一个或一个以上处理器从解码装置接收指示IDCT输出值的最大动态范围的消息的指令。所述指令还致使所述一个或一个以上处理器响应于接收所述消息而产生表示一组一个或一个以上视频帧的第一组经编码媒体数据。与所述第一组经编码媒体数据相关联的IDCT输出值不包括在所指示范围外的IDCT输出值。另外,所述指令致使所述一个或一个以上处理器将所述经编码媒体数据输出到所述解码装置。
在一些情况下,所述计算机可读媒体可形成计算机程序产品的一部分,可将所述计算机程序产品出售给制造商及/或在装置中使用。所述计算机程序产品可包括计算机可读媒体,且在一些情况下还可包括封装材料。
在附图及以下说明中陈述一个或一个以上实例的细节。根据所述说明及附图以及权利要求书,可清楚地理解本发明的其它特征、目的及优点。
附图说明
图1是图解说明包括编码装置及解码装置的实例性系统的框图。
图2是图解说明编码模块的实例性细节的框图。
图3是图解说明解码模块的实例性细节的框图。
图4是图解说明图2中所图解说明的实例性编码模块的实例性操作的流程图。
图5是图解说明图3中所图解说明的实例性解码模块的实例性操作的流程图。
图6是图解说明图2中所图解说明的实例性编码模块的实例性操作的流程图。
图7是图解说明图3中所图解说明的实例性解码模块的实例性操作的流程图。
具体实施方式
图1是图解说明包括编码装置4及解码装置6的实例性系统2的框图。应了解,系统2是实例性系统且许多其它布置及实施方案是可能的。
编码装置4及解码装置6可包含个人计算机、移动无线电电话、服务器、网络器具、集成于车辆中的计算机、视频游戏平台、便携式视频游戏装置、计算机工作站、计算机信息站、数字看板、主机计算机、电视机顶盒、网络电话、个人数字助理、移动媒体播放器、家庭媒体播放器、数字视频投影仪或其它类型的电子装置。
编码装置4可包括用以产生媒体数据的媒体源8。媒体源8可包含捕获图像数据的数码摄像机或数码相机。媒体源8可以嵌于编码装置4中或可以附装到编码装置4作为外围装置或网络装置。
在图1的实例中,编码装置4还包括处理器10。处理器10可以是数字信号处理器(“DSP”)、微处理器、专用集成电路(“ASIC”)或每一其它类型的集成电路。编码装置4中的编码模块12可编码由媒体源8产生的媒体数据。编码模块12可以各种方式实施。举例来说,编码模块12可包含致使处理器10编码来自媒体源8的媒体数据的指令。在另一实例中,编码模块12可实施为编码由媒体源8产生的媒体数据的集成电路。在又一实例中,编码模块12可以是一个或一个以上硬件与软件单元的组合。
在图1的实例中,编码装置4还包括通信接口14。通信接口14使得编码装置4能够将数据发送到一个或一个以上其它装置(包括解码装置6)或从所述一个或一个以上其它装置接收数据。通信接口14可以是多种接口类型中的任一类型。举例来说,通信接口14可以是一种类型的网络接口。无线接口的类型包括因特网接口、权标环接口、Wi-Fi接口、WiMax接口、无线宽带接口、异步传送模式(“ATM”)接口、蓝牙接口或其它类型的有线或无线网络接口。在另一实例中,通信接口14可以是装置接口总线,例如,通用串行总线(“USB”)接口、火线(FireWire)接口、串行电缆接口或另一类型的装置接口。
解码装置6可包括通信接口16。类似通信接口14,通信接口16可以是多种接口类型中的任一类型。举例来说,通信接口16可以是网络接口、装置接口总线或另一类型的接口。通信接口16可发送和接收许多不同种类的数据。举例来说,通信接口16可接收媒体对象。如本发明中所使用,“媒体对象”是一组可从中导出及从其重放可闻及/或可见信号的数据。举例来说,“媒体对象”可以是视频位流、音频或视频文件、或可从中导出及从其重放可闻及/或可见信号的另一类型的数据。
当通信接口16接收媒体对象时,解码装置6中的解码模块18可解码媒体对象中的经编码媒体数据。解码模块18可以各种方式实施。举例来说,解码模块18可包含解码媒体对象中的经编码媒体数据的集成电路。在另一实例中,解码模块18可实施为一系列指令,所述指令当由解码装置6中的处理器20执行时致使处理器20解码媒体对象中的经编码媒体数据。处理器20可以是微处理器、数字信号处理器、ASIC或其它类型的集成电路。处理器20可使用固定点算术来执行数值计算,如在例如移动电话等较小装置中所常见。举例来说,处理器20可使用16-位寄存器来存储用于数值计算的值。
解码装置6中的呈现驱动器22致使媒体呈现模块24以呈现由解码模块18解码的媒体数据。换句话说,呈现驱动器22可致使媒体呈现模块24输出表示经解码的媒体数据的可闻及/或可见信号。举例来说,媒体呈现模块24可包含呈现视频数据的计算机监视器。媒体呈现模块24可集成到解码装置6中或可作为外围设备经由一个或一个以上有线或无线链路连接到解码装置6。呈现驱动器22可包含可在处理器20上执行的装置驱动器或其它软件、硬件或固件单元或致使媒体呈现模块24呈现媒体数据的某一其它机构。
当编码模块12解码由媒体源8产生的媒体数据中所包括的一组一个或一个以上视频帧时,编码模块12可通过对所述组视频帧中的视频帧中的像素块分量值执行正离散余弦变换(“FDCT”)来产生系数矩阵。在产生系数矩阵之后,编码模块12可通过量化所述系数矩阵中的系数来产生经量化系数矩阵。量化所述系数矩阵中的系数可减少与所述系数矩阵中的高频系数相关联的信息的量。
在编码模块12针对所述组视频帧中的视频帧产生所述组经量化系数矩阵之后,编码模块12可确定与所述经量化系数矩阵相关联的逆离散余弦变换(“IDCT”)输出值的最大动态范围。与经量化系数矩阵相关联的IDCT输出值表示IDCT输出值矩阵中由以下操作产生的IDCT输出值:通过逆量化所述经量化系数矩阵来产生经逆量化系数矩阵且接着通过对所述经逆量化系数矩阵执行IDCT来产生IDCT输出值矩阵。举例来说,编码模块12可确定与所述组经量化系数矩阵相关联的IDCT输出值在从-1805到1805的范围内。
在编码模块12识别与所述组经量化系数矩阵相关联的IDCT输出值的最大动态范围之后,编码模块12可产生媒体对象,所述媒体对象包括与所述组视频帧相关联的经量化系数矩阵的经熵编码版本、与所述组视频帧相关联的运动数据及范围指示元。举例来说,编码模块12可产生:MPEG-2输送流,其包括与所述组视频帧相关联的经量化系数矩阵的经熵编码版本;及位流标头元,其指示与经量化系数矩阵相关联的IDCT输出值的最大动态范围。所述范围指示元指示与所述组视频帧相关联的经量化系数矩阵中的IDCT输出值的最大动态范围。
所述范围指示元可以各种方式指示IDCT输出值的范围。在第一实例中,所述范围指示元可明确地规定或否则指示表示与所述组视频帧相关联的经量化系数矩阵中的任一IDCT输出值所需的位的最大数目。在第二实例中,所述范围指示元可明确地规定或否则指示与所述组视频帧相关联的经量化系数矩阵中的最大IDCT输出值及最小IDCT输出值。
编码模块12可在产生媒体对象之后执行各种动作。举例来说,编码模块12可致使通信接口14将媒体对象输出到解码装置6或另一装置。在另一实例中,编码模块12可将媒体对象存储于计算机可读媒体(未显示)中以供随后使用。
通信接口16可接收媒体对象,所述媒体对象包括与一组视频帧相关联的一组经编码媒体数据、与所述组视频帧相关联的一组运动数据、及范围指示元。当通信接口16接收此媒体对象时,解码模块18可从媒体对象中提取范围指示元。在提取范围指示元之后,解码模块18可确定所述范围指示元指示的范围是否包括在给定范围外的IDCT输出值。此给定范围可以是解码模块18能够产生的IDCT输出值的范围。举例来说,所述范围指示元可指示与经编码媒体数据相关联的IDCT输出值处于范围[-1024、1023]内且解码模块18仅能够产生在范围[-256、255]内的IDCT输出值。因此,在此实例中,解码模块18可确定所述范围指示元指示的范围包括在解码模块18能够产生的IDCT输出值的范围外的IDCT输出值。
如果解码模块18确定范围指示元指示的范围不大于给定范围,那么解码模块18可接着对媒体对象中的所述组经编码媒体数据执行熵解码过程,借此产生与所述组视频帧相关联的一组经量化系数矩阵。另外,解码模块18可对媒体对象中的运动数据执行熵解码过程。解码模块18可接着通过对与所述组视频帧相关联的每一经量化系数矩阵执行逆量化操作来产生经逆量化系数矩阵。接下来,解码模块18可将IDCT应用于每一经逆量化系数矩阵以导出IDCT输出值矩阵。解码模块18可通过再汇编IDCT输出值矩阵来产生与所述组视频帧相关联的经重建残余图片。在产生经重建残余图片之后,解码模块18可使用经重建残余图片及以与所述组视频帧相关联的所述组运动数据产生的经预测图片产生原始视频帧的经重建版本。呈现驱动器22可接着致使媒体呈现模块24输出呈现所述原始组视频帧的经重建版本的可见信号。
本发明中所描述的技术可提供数个优点。举例来说,如果解码装置尝试将IDCT应用于产生解码装置不能产生的IDCT输出值的系数矩阵,那么可造成原始媒体数据与经解码媒体数据之间的严重差异。此类差异可明显地减低经解码媒体数据的质量。本发明中所描述的技术可在解码装置不能产生与媒体数据的经编码版本相关联的IDCT输出值时防止解码装置解码媒体数据。
以下实例图解说明此观点。残余图片中的典型像素分量值可介于从-256到255的范围内。因此,像素分量值可以是511个不同的可能值中的一者。出于此原因,需要九个位来表示这些511个可能值中的每一者(即,29=512)。在理想情况下,在此实例中,IDCT应产生介于从-256到255范围内的IDCT输出值(即,残余图片中的像素分量值)。然而,由于量化所述系数所导致的差错,IDCT可产生介于从-1805到1805范围内的IDCT输出值。因此,IDCT输出值可以是3610个不同的可能值中的一者。将需要十二个位来表示这些3610个可能值中的每一者(即,211=2048是不足的,因此可能需要212=4096)。为最小化成本及复杂度,处理器20可能使用16-位寄存器来存储数值值。此外,解码模块18将算法的最后一级用来应用IDCT可需要七个位置的右移位。出于此原因,当解码模块18在处理器20上执行时,仅保留有九个位来表示IDCT输出值(即,16-7=9)。由于仅有九个位来表示IDCT输出值,因此IDCT输出值可不大于255且不小于-256。因此,当处理器20执行解码模块18的指令以执行逆离散余弦变换时,处理器20可能在处理小于-256或大于255的值时产生明显的差错。
图2是图解说明编码模块12的实例性细节的框图。编码模块12可包含一组“模块”。这些模块可包含编码模块12的软件指令子集。另一选择是,这些模块可包含若干ASIC。在另一替代方案中,这些模块可包含软件指令及ASIC。
如图2的实例中所图解说明,编码模块12可从媒体源8接收一组一个或一个以上未编码的视频帧。所述组视频帧可包括单个视频帧、一个或一个以上“图片群组”或其它数目的视频帧。从媒体源8接收的每一视频帧可包括一个或一个以上片段。视频帧的所述片段是视频帧中的共同包括整个视频帧的若干离散部分。举例来说,先进视频编码(“AVC”)/H.264标准规定每一视频帧可有一个或一个以上片段。然而,运动图片专家组(“MPEG”)-2标准不包括片段的概念。而是,在MPEG-2标准中,仅考虑完整的视频帧。为维持一般性,本发明使用术语“图片”来指代视频帧中可能或不可能包括整个视频帧的区域。
当编码模块12接收与媒体源8所产生的一组视频帧中的视频帧相关联的图片(即,“当前图片”)时,编码模块12中的帧内预测模块28可将当前图片划分为一组分区。这些分区可具有相等或不相等的大小。举例来说,如果编码模块12正根据MPEG-2标准编码块所述组视频帧中的图片,那么帧内预测模块28可将当前图片划分为16个像素宽与16个像素高的若干分区。在MPEG-2标准的上下文中,将这些分区称为“宏块”。在另一实例中,如果编码模块12正根据AVC/H.264标准来编码所述组视频帧中的图片,那么帧内预测模块28可将当前图片划分为可具有16×16、16×8、8×16、8×8、4×8、8×4及4×4尺寸的若干分区。此外,如果编码模块12正根据AVC/H.264标准来编码所述组视频帧中的图片,那么帧内预测模块28可识别用于当前图片的每一经识别分区的帧内编码模式。举例来说,AVC/H.264标准规定四个不同的帧内编码模式用于十六个像素宽与十六个像素高的分区。另外,AVC/H.264标准规定九个不同的帧内编码模式用于四个像素宽×四个像素高的分区。在识别当前图片的分区之后,帧内预测模块28可将当前图片的分区提供到正变换模块44。另外,如果编码模块12正使用AVC/H.264标准来编码所述组图片,那么帧内预测模块28可向正变换模块44提供规定当前图片的每一分区的帧内编码模式的信息。
此外,当编码模块12从媒体源8接收当前图片时,编码模块12中的运动估计模块32对当前图片执行运动估计。为对当前图片执行运动估计,运动估计模块32首先确定是将把当前图片编码为帧内编码图片还是帧间编码图片。如果运动估计模块32确定将把当前图片编码为帧内编码图片,那么运动估计模块32可不执行任一进一步动作。然而,如果运动估计模块32确定将把当前图片编码为帧间编码图片,那么运动估计模块32可将当前图片划分为一组分区。运动估计模块32可接着产生用于当前图片的每一分区的运动数据。运动数据的类型可取决于将把当前图片编码为预测性图片(“P-图片”)还是编码为双向预测性图片(“B-图片”)。因此,运动估计模块32可确定将把当前图片编码为P-图片还是编码为B-图片。
如果运动估计模块32确定将把当前图片编码为P-图片,那么运动估计模块32可针对当前图片的每一分区尝试识别参考缓冲器36中前一图片的对应区域。如果运动估计模块32成功地识别参考缓冲器36中图片的对应于当前图片中的分区的区域,那么运动估计模块32可产生指示所识别区域与所述分区之间的垂直位移及水平位移的运动向量。举例来说,运动估计模块32可产生指示所识别区域是当前图片的所述分区下方的10个像素及当前图片的所述分区右边的2.5个像素。
如果运动估计模块32确定将把当前图片编码为B-图片,那么运动估计模块32可针对当前图片的每一分区尝试识别参考缓冲器36中第一分区的对应区域及参考缓冲器36中第二分区的对应区域。如果编码模块12正根据MPEG-2标准编码所述组视频帧,那么第一图片在与当前图片相关联的视频帧之前且第二图片在与当前图片相关联的视频帧之后。运动估计模块32可接着为所述分区产生规定两个运动向量的运动数据。这些运动向量的第一者可指示从前一图片的所识别区域的位移且这些运动向量的第二者可指示从后续图片的所识别区域的位移。如果运动估计模块32未能成功识别参考缓冲器36中图片的对应于当前图片的分区的区域,那么运动估计模块32可产生指示所述分区与前一图片的等效定位的区域之间不存在位移的运动数据。如果编码模块12正根据AVC/H.264标准编码所述组视频帧,那么第一图片及第二图片两者可在与当前图片相关联的视频帧之前或之后,或者第一图片可在与当前图片相关联的视频帧之前且第二图片可在与当前图片相关联的视频帧之后。运动估计模块32可接着(此取决于所述分区的编码类型)产生指示参考帧中的所识别区域的运动数据。
在运动估计模块32产生用于当前图片额每一分区的运动数据之后,运动估计模块32可将运输数据提供给编码模块12中的运动补偿模块34(″MOTION COMP.MODULE″)。运动补偿模块34可使用用于当前图片的分区的运动数据来产生当前图片的经预测图片。为产生当前图片的预测性图片,运动补偿模块34可确定编码模块12将把当前图片编码为P-图片还是编码为B-图片。
如果编码模块12将把当前图片编码为P-图片,那么与当前图片相关联的运动数据可规定参考缓冲器30中的一个或一个以上运动向量及一个或一个以上图片用于当前图片的每一分区。运动补偿模块34可从参考缓冲器36中检索由与当前图片相关联的运动数据指示的每一参考图片。在从参考缓冲器36中检索到参考图片之后,运动补偿模块34可针对当前图片的每一分区使用所述分区的运动向量来识别一个或一个以上所检索参考图片中的对应区域且接着将所识别区域拷贝到当前图片的所述分区中。以此方式,运动补偿模块34可将来自参考图片的区域“移动”到与当前图片相关联的预测性图片中的适当位置中。
如果编码模块12将把当前图片编码为B-图片,那么与当前图片相关联的运动数据的内容可取决于用来编码当前图片的视频编码标准。举例来说,MPEG-2标准规定与当前图片的“宏块”相关联的运动数据,其规定参考图片中在与当前图片相关联的视频帧之前的区域且规定参考图片中在与当前图片相关联的视频帧之后的区域。在第二实例中,AVC/H.264标准规定与当前图片的分区相关联的运动数据可规定在与当前图片相关联的视频帧之前或之后发生的两个或两个以上参考图片。在任一实例中,运动补偿模块76可针对经预测图片的每一分区而基于参考图片中由与所述分区相关联的运动数据指示的区域内插所述分区的像素分量值。
在运动补偿模块34产生与当前图片相关联的预测性图片之后,编码模块12中的残余图片建造模块38可使用由媒体源8产生的当前图片及由运动补偿模块34产生的预测性图片来产生与当前图片相关联的残余图片。举例来说,残余图片建造模块38可通过将预测性图片的负性版本与当前图片相加来产生残余图片。残余图片可含有比当前图片少的信息,且因此可以使用比当前图片少的位来编码。在残余图片建造模块38产生用于当前图片的残余图片之后,残余图片建造模块38可将残余图片提供给正变换模块30。
当正变换模块30从残余图片建造模块38接收到残余图片或从帧内预测模块28接收到具有帧内编码指令的当前图片的原始版本时,正变换模块30可将所述图片分离为若干像素块。举例来说,正变换模块30可将所述图形分裂为若干像素块,每一像素块可等同于呈一8×8块形式的64个像素。正变换模块30可接着针对像素块的每一者将所述块中的像素的色彩分量分离为像素分量值矩阵。举例来说,正变换模块30可从像素块中提取Y值矩阵、Cr值矩阵及Cb值矩阵。Y值可规定像素的亮度,Cr值可规定像素的红色色度减去Y值,且Cb值可规定像素的蓝色色度减去Y值。
当正变换模块30已提取像素分量值矩阵时,正变换模块30可针对像素分量值矩阵的每一者通过将二维正离散余弦变换应用于像素分量值矩阵来产生系数矩阵。正变换模块30可以各种方式产生系数矩阵。举例来说,正变换模块30可利用处理器20中的浮点模块来产生系数矩阵。正变换模块30可通过使像素分量值左移位来开始应用离散余弦变换的过程。举例来说,正变换模块30可使像素分量值左移位通过应用离散余弦变换所移除的精确位数目及通过在应用离散余弦变换之后除以比例因子所移除的精确位数目。正变换模块30可对系数矩阵的行向量的每一者执行离散余弦变换。对系数矩阵的行向量的每一者执行离散余弦变换产生中间值矩阵。接下来,正变换模块30可对中间值矩阵的列向量的每一者执行离散余弦变换。对中间值矩阵的列向量的每一者执行离散余弦变换产生系数值矩阵。
当正变换模块30产生系数矩阵时,编码模块12中的量化模块40可通过量化系数矩阵中的系数来产生经量化系数矩阵。量化模块46可通过以下操作来量化系数矩阵中的系数:将系数矩阵中的每一系数除以定制或标准量化矩阵中的等效位置处的数目且接着舍入所得的商以产生经量化系数。举例来说,量化模块40可通过以下标准量化矩阵来除每一系数:
16 11 10 16 24 40 51 61 12 12 14 19 26 58 60 55 14 13 16 24 40 57 69 56 14 17 22 29 51 87 80 62 18 22 37 56 68 109 103 77 24 35 55 64 81 104 113 92 49 64 78 87 103 121 120 101 72 92 95 98 112 100 103 99
在量化模块40量化经量化系数矩阵之后,量化模块40可将经量化系数矩阵提供给编码模块12中的熵编码模块42及编码模块12中的逆量化模块44。
在从量化模块40接收到经量化系数矩阵之后,熵编码模块42可通过将熵编码方案应用于经量化系数矩阵来产生一组经编码媒体数据。举例来说,熵编码模块42可将哈弗曼或上下文自适应算术编码方案应用于经量化系数矩阵。为将熵编码方案应用于经量化系数矩阵,熵编码模块42通过对经量化系数矩阵中的经量化系数执行锯齿形扫描来产生经量化系数矩阵中的经量化系数向量。换句话说,熵编码模块42可将二维经量化系数矩阵中的所有经量化系数布置为一维经量化系数向量。熵编码模块42可接着将游程长度编码方案(例如,哈弗曼编码或算术编码)应用于经量化系数向量。
除将熵编码方案应用于经量化系数矩阵外,熵编码模块42还可将熵编码方案应用于与视频帧序列中的视频帧分区相关联的运动数据。举例来说,熵编码模块42可将哈弗曼或上下文自适应算术编码应用于运动数据。
当逆量化模块44从量化模块40接收到经量化系数矩阵时,逆量化模块44通过对经量化系数矩阵执行逆量化操作来产生经逆量化系数矩阵。举例来说,逆量化模块44可通过将经量化系数矩阵中的每一系数乘以量化模块40所使用的量化矩阵的等效位置处的数目来产生经逆量化系数矩阵。由于量化模块40在将系数矩阵中的系数除以量化矩阵中的数目之后舍入系数,因此经逆量化系数矩阵可能不同于原始的系数矩阵。当逆量化模块44产生经逆量化系数矩阵时,逆量化模块44可将经逆量化系数矩阵提供给编码模块12中的逆变换模块46。
当逆变换模块46接收到经逆量化系数矩阵时,逆变换模块46可通过对经逆量化系数矩阵执行IDCT来产生IDCT输出值矩阵。当逆变换模块46已产生用于像素块的每一像素分量值的IDCT输出值矩阵时,逆变换模块46可使用IDCT输出值矩阵来产生与当前图片相关联的经重建残余图片中的像素块。当逆变换模块46已重建与当前图片相关联的经重建残余图片中的每一像素块时,逆变换模块46可通过组合经重建像素块来重建残余图片。接下来,逆变换模块46可将经重建残余图片提供给图片重建模块48及范围检测模块54。
当图片重建模块48从逆变换模块46接收到经重建残余图片时,图片重建模块48可使用逆变换模块46产生的经重建残余图片及运动补偿模块34产生的经预测图片来产生当前图片的经重建版本。图片重建模块48可通过将经重建残余图片添加到经预测图片来产生当前图片的经重建版本。在产生当前图片的经重建版本之后,图片重建模块48可将当前图片的经重建版本存储于参考缓冲器36中。以此方式,运动补偿模块34可将当前图片的经重建版本作为参考图片用于所述组视频帧中的其它帧。将图片的经重建版本而非将图片的原始版本用作参考图片可产生更准确的预测性图片。
范围检测模块50可识别与所述组视频帧中的视频帧相关联的经重建残余图片中的IDCT输出值的最大动态范围。为易于解释,本发明可将与所述组视频帧中的视频帧相关联的经重建残余图片中的IDCT输出值称为“经重建残余图片中的IDCT输出值”。举例来说,在没有量化差错的情况下,与经重建残余图片相关联的IDCT输出值可落在范围[-256、255]内。然而,由于量化差错,因此与经重建残余图片相关联的IDCT输出值可落在范围[-1805、1805]内。在此实例中,范围检测模块50可将范围[-1805、1805]识别为经重建残余图片中的IDCT输出值的最大动态范围。有关量化差错对IDCT输出值的最大动态范围的影响的额外信息可在以下文献中找到:
周M.(Zhou M.)及德 莱梅鲁尔J(De Lameillieure J)的“MPEG视频编码中的IDCT输出范围”,信号处理:图像通信(IMAGECOMMUNICATION),卷11,编号2,页码137-145,1997年12月,此文献的全部内容以引用的方式并入本文中;及
Y.瑞兹尼克(Y.Reznik)的“关于IDCT设计中的变量的剪辑及动态范围”,ISO/IEC JTC1/SC29WG11输入文献MPEG2006/M14004,2006年10月,中国,广州,此文献的全部内容以引用的方式并入本文中。
范围检测模块50可以各种方式识别经重建残余图片中的IDCT输出值的最大动态范围。
在范围检测模块50可怎样识别经重建残余图片中的IDCT输出值的最大动态范围的第一实例中,范围检测模块50可在从逆变换模块46接收到与当前图片相关联的经重建残余图片之后识别经重建残余图片中的最大IDCT输出值及残余图片中的最低IDCT输出值。范围检测模块50可接着确定经重建残余图片中的最大IDCT输出值是否大于与所述组视频帧相关联的经重建残余图片中的先前观察到的最大IDCT输出值。如果范围检测模块50确定经重建残余图片中的最大IDCT输出值大于与所述组视频帧相关联的经重建残余图片中的先前观察到的最大IDCT输出值,那么范围检测模块50可将所述组视频帧中的最大IDCT输出值设定为经重建残余图片中的最大IDCT输出值。类似地,范围检测模块50可确定经重建残余图片中的最低IDCT输出值是否小于与所述组视频帧相关联的经重建残余图片中的先前观察到的最低IDCT输出值。如果范围检测模块50确定经重建残余图片中的最低IDCT输出值小于与所述组视频帧中的先前观察到的最低IDCT输出值,那么范围检测模块50可将与所述组视频帧相关联的经重建残余图片中的最低IDCT输出值设定为经重建残余图片中的最低IDCT值。以此方式,范围检测模块50可识别与所述组视频帧相关联的最大IDCT输出值及于所述组视频帧相关联的最低IDCT输出值。
在范围检测模块50可怎样识别与经重建残余图片相关联的IDCT输出值的最大动态范围的第二实例中,范围检测模块50可接受与所述组视频帧相关联的每一经重建残余图片。在接收到与所述组视频帧相关联的每一经重建残余图片之后,范围检测模块50可通过对与所述组视频帧相关联的每一经重建残余图片的所有IDCT输出值执行“或”操作来产生临时值。范围检测模块50可接着在设定为1的此临时值中确定是低于最高有效位的有效位的位的数目。此数目加上1等于表示与所述组视频帧相关联的经重建残余图片中的所有IDCT输出值所需的位数目。表示与所述组视频帧相关联的经重建残余图片中的任一IDCT输出值所需的最大位数目可充当与所述组视频帧相关联的经重建残余图片中的IDCT值的最大替代范围的指示符。
在范围检测模块50可怎样识别与所述组视频帧相关联的经重建残余图片中的IDCT输出值的最大动态范围的第三实例中,范围检测模块50可使用以下公式来计算与经重建残余图片(其与所述组视频帧相关联)的IDCT输出值的最大动态范围:
[ ( a - | a + b | 2 + N b - a 2 ) η max 2 , ( b + | a + b | 2 + N b - a 2 ) η max 2 ]
此公式适用于N×N输入块向量g,其中其元在区间[a、b](b>a)中,且已使用在范围[0、ηmax]中的量化因子量化及逆量化了经量化系数矩阵,其中ηmax是最大量化因子。
在范围检测模块50识别与所述组视频帧相关联的经重建残余图片中的IDCT输出值的最大动态范围之后,范围检测模块50可将所识别的范围提供给对象产生模块52。对象产生模块52可使用熵编码模块42产生的所述组经编码媒体数据、熵编码模块42产生的所述组经编码运动数据及范围检测模块50识别的IDCT输出值的最大动态范围来产生媒体对象。举例来说,对象产生模块52可产生:规定所述组经编码媒体数据、所述组经编码运动数据的MPEG-2输送流;及指示与所述组视频帧相关联的IDCT输出值的最大动态范围的位流元。
在图2的实例中,编码模块12还包含范围配置模块54(“RANGECONFIG.MODULE”)。范围配置模块54配置编码模块12以编码所述组视频帧,使得与所述组视频帧相关联的经重建残余图片中的IDCT输出值落在IDCT输出值的给定范围内。举例来说,解码装置6可接收编码装置4产生的包括与一组视频帧相关联的经编码媒体数据的媒体对象。在此实例中,解码装置6可确定媒体对象中的范围指示元是否指示与经编码媒体数据相关联的IDCT输出值在给定范围以外。举例来说,在此实例中,所述给定范围可以是解码装置6可使用16-位数字信号处理器(“DSP”)产生的IDCT输出值的范围。此外,在此实例中,如果解码装置6确定范围指示元指示与经编码媒体数据相关联的一个或一个以上IDCT输出值在给定范围以外,那么解码装置6可将指示与经编码媒体数据相关联的一个或一个以上IDCT输出值在给定范围以外的一个或一个以上消息发送给编码装置4。当编码装置4中的通信接口14接收到此类消息时,范围配置模块54可再配置编码模块12以编码所述组视频帧,使得编码模块12产生包括与同一组视频帧相关联的一组替代媒体数据的替代媒体对象。与所述组替代媒体数据相关联的IDCT输出值落在解码装置6指示的IDCT输出值的给定范围内。
范围配置模块54可以各种方式再配置编码模块12。举例来说,范围配置模块54可致使编码模块12产生新的媒体对象,所述新的媒体对象不会致使解码装置6产生在给定范围外的IDCT输出值。举例来说,范围配置模块54可致使量化模块40通过使用替代的量化矩阵来量化正变换模块30产生的系数矩阵中的系数来产生替代的经量化系数矩阵。在量化模块40产生替代的经量化系数矩阵之后,逆量化模块44可通过使用替代的量化矩阵来逆量化替代的经量化系数矩阵中的经量化系数来产生替代的经逆量化系数矩阵。接下来,逆变换模块46可通过对替代的经逆量化系数矩阵执行IDCT来产生替代的残余图片。范围检测模块50可计算逆变换模块50产生的替代残余图片中的IDCT输出值的最大动态范围。熵编码模块42可接着对所述组替代经量化系数矩阵执行熵编码操作。对象产生模块52可接着产生替代的媒体对象,所述替代的媒体对象规定所述组替代经量化系数矩阵及指示与所述组视频帧相关联的IDCT输出值的新最大动态范围的位流元。编码装置4可接着将替代媒体对象发送给解码装置6。
图3是图解说明解码模块18的实例性细节的框图。解码模块18可包含熵解码模块70、范围检查模块72、范围协商模块74、运动补偿模块76、逆量化模块78、初级逆变换模块80、次级逆变换模块82、残余重建模块84及图片重建模块86。这些模块可包含解码模块18的软件指令子集。另一选择是,这些模块可包含处理器20内的ASIC。在另一替代方案中,这些模块可包含软件指令及ASIC。
解码模块18可接收媒体对象,其包括一组经编码媒体数据、一组经编码运动数据及范围指示元。媒体对象中的所述组经编码媒体数据与一组视频帧相关联。媒体对象中的所述组经编码运动数据与所述组经编码媒体数据相关联。媒体对象中的范围指示元指示与所述组视频帧中的视频帧相关联的经重建残余图片中的像素分量值的最大动态范围。如上所述,本发明将基于与所述组视频帧相关联的经编码媒体数据的经重建残余图片中的像素分量值称为“与所述组经编码媒体数据相关联的IDCT输出值”。
当解码模块18接收到媒体对象时,范围检查模块72可确定范围指示元指示的IDCT输出值的范围是否在给定范围内。在图3的实例中,此给定范围可以是初级逆变换模块80能够产生的IDCT输出值的范围。举例来说,范围指示元可指示与所述组经编码媒体数据相关联的IDCT输出值介于从-256到255的范围内。初级逆变换80使用第一操作来将IDCT应用于经逆量化系数矩阵。如果初级逆变换模块80能够产生介于从-256到255范围内的IDCT输出值,那么范围检查模块72可确定初级逆变换模块80能够产生在范围指示元所指示的IDCT输出值范围中的任一IDCT输出值。然而,如果范围指示元指示与所述组经编码媒体数据相关联的IDCT输出值介于从-1805到1805的范围内,那么范围检查模块72可确定初级逆变换模块80不能产生在范围指示元指示的IDCT输出值范围中的一个或一个以上IDCT输出值。
初级逆变换模块80在执行第一操作时不能产生限制范围的IDCT输出值,可能有各种原因。举例来说,初级逆变换模块80可实施IDCT算法,其仅能够产生可使用九位2的补数格式表示的IDCT输出值。此IDCT算法可以是有利的,因为IDCT算法可在16-位平台上实施。许多现代的移动手机及其它无线通信装置包括可实施此IDCT算法的16-位DSP。研究显示MPEG-1及MPEG-2可产生在范围[-1805、1805]中的IDCT输出值。在范围[-1805、1805]中的IDCT输出值无法以九位2的补数格式来表示。而是,可能需要以十二位2的补数格式来表示在范围[-1805、1805]中的IDCT输出值。但是不可能在16-位平台上实施产生十二位2的补数IDCT输出值的IDCT算法。
如果范围检查模块72确定初级逆变换模块80不能产生在范围指示元指示的IDCT输出值范围中的一个或一个以上IDCT输出值,那么范围检查模块72可执行各种不同的动作。
在第一实例中,当范围检查模块72确定初级逆变换模块80不能产生在范围指示元指示的IDCT输出值范围中的一个或一个以上IDCT输出值时,范围检查模块72可致使解码模块18中的范围协商模块74尝试获得媒体对象的替代版本。媒体对象的替代版本中基于与视频帧相关联的经编码媒体数据的经重建残余图片不含有大于或小于初级逆变换模块80能够产生的最大或最低IDCT输出值的IDCT输出值。为尝试获得媒体对象的替代版本,范围协商模块74可使用通信接口16来与编码装置4通信。响应于此通信,编码装置4可产生媒体对象的替代版本。编码装置4可使用各种技术来产生媒体对象的替代版本。举例来说,在图2的实例中,量化模块40可在量化正变换模块30产生的系数矩阵时使用不同的量化矩阵。
在第二实例中,当范围检查模块72确定初级逆变换模块80不能产生在范围指示元指示的IDCT输出值范围中的一个或一个以上IDCT输出值时,范围检查模块72可致使次级逆变换模块82而非初级逆变换模块80来产生IDCT输出值。次级逆变换模块82执行第二操作以将IDCT应用于经逆量化系数矩阵。在此第二实例中,次级逆变换模块82能够产生在范围指示元指示的IDCT输出值范围中的所有IDCT输出值。然而,次级逆变换模块80比初级逆变换模块80可花费更长时间及/或消耗更多电力来产生IDCT输出值。
当范围检查模块72确定初级逆变换模块80能够产生在范围指示元指示的IDCT输出值范围中的所有IDCT输出值时,熵解码模块70可将熵解码方案应用于媒体对象中的所述组经编码媒体数据。作为将熵解码方案应用于所述组经编码媒体数据的结果,熵解码模块70产生与一个或一个以上图片相关联的一组经量化系数矩阵。此外,熵解码模块70可将熵解码方案应用于媒体对象中的所述组经编码运动数据。作为将熵解码方案应用于所述组经编码运动数据的结果,熵解码模块70产生用于与所述组视频帧相关联的一个或一个以上图片的每一分区的运动数据。在熵解码模块70产生与图片相关联的一组经量化系数矩阵之后,熵解码模块70可将与图片相关联的所述组经量化系数矩阵提供给初级逆变换模块80且可将与图片相关联的运动数据提供给运动补偿模块76。
当运动补偿模块76接收到与当前图片相关联的所述组运动数据时,运动补偿模块76确定将把当前图片编码为I-图片、P-图片还是B-图片。如果将把当前图片编码为I-图片,那么运动补偿模块76可产生其中每一像素分量值等于零的“经重建的经预测图片”。
如果将把当前图片编码为P-图片,那么与当前图片相关联的运动数据可包括用于当前图片的每一分区的运动向量。如上所论述,与当前图片的分区相关联的运动向量可指示参考图片及所指示的参考图片中的区域与当前图片的分区之间的位移。当运动补偿模块76确定将把当前图片编码为P-图片时,运动补偿模块76可从参考缓冲器90中检索与当前图片相关联的所述组运动数据中的运动向量指示的每一图片。在检索参考图片之后,运动补偿模块76可使用参考图片及运动向量来产生与当前图片相关联的经预测图片。经预测图片具有与当前图片的分区相同的分区。为产生与当前图片相关联的经预测图片,运动补偿模块76可针对经预测图片的每一分区将参考图片中由与当前图片的对应分区相关联的运动向量指示的区域拷贝到预测图片的分区。
如果将把当前图片编码为B-图片,那么与当前图片相关联的运动数据的内容可取决于用来编码当前图片的视频编码标准。举例来说,MPEG-2标准规定与当前图片的“宏块”相关联的运动数据规定参考图片的在与当前图片相关联的视频帧之前的区域且规定参考图片的在与当前图片相关联的视频帧之后的区域。在第二实例中,AVC/H.264标准规定与当前图片的分区相关联的运动数据可规定两个或两个以上参考图片发生在与当前图片相关联的视频帧之前或之后。在任一实例中,运动补偿模块76可针对经预测图片的每一分区而基于参考帧中由与所述分区相关联的运动数据指示的区域内插所述分区的像素分量值。
当逆量化模块78从熵解码模块70接收到经量化系数矩阵时,逆量化模块78可通过对与当前图片相关联的经量化系数矩阵的每一者执行逆量化操作来产生与当前图片相关联的一组经逆量化系数矩阵。逆量化模块78可通过将经量化系数矩阵中的每一系数乘以量化矩阵中的等效位置处的值来对经量化系数矩阵中的系数执行逆量化操作。
初级逆变换模块80可将IDCT应用于每一矩阵以产生像素分量值矩阵。初级逆变换模块80可使用各种不同的算法来将IDCT应用于经逆量化系数矩阵。举例来说,如果经逆量化系数矩阵是8×8矩阵,那么初级逆变换模块80可通过将8-点一维IDCT应用于经逆量化系数矩阵的每一行向量来产生中间系数矩阵。在此实例中,初级逆变换模块80可接着通过将8-点一维IDCT应用于中间系数矩阵的每一列向量来产生IDCT输出值矩阵。在另一实例中,初级逆变换模块80可通过将二维IDCT应用于经逆量化系数矩阵来产生IDCT输出值矩阵。
在初级逆变换模块80或次级逆变换模块82产生与当前图片相关联的IDCT输出值矩阵之后,残余重建模块84可使用IDCT输出值矩阵来产生与当前图片相关联的经重建残余图片。残余经重建模块84可以各种方式来产生经重建残余图片。举例来说,残余重建模块84可通过将IDCT输出值矩阵与和当前图片的等效位置相关联的其它IDCT输出值矩阵组合来产生像素块。在此实例中,残余重建模块84可接收表示亮度值的IDCT输出值矩阵、表示Cb色度值的IDCT输出值矩阵及表示Cr色度值的IDCT输出值矩阵。在此实例中,残余重建模块84可组合这些IDCT输出值矩阵以形成像素块。当残余重建模块84完成产生与当前图片相关联的像素块时,残余重建模块84可缓冲像素块直到残余重建模块84已产生与当前图片相关联的每一像素块为止。在残余重建模块84已产生与当前图片相关联的每一像素块之后,残余重建模块84可组合与当前图片相关联的像素块以形成与当前图片相关联的经重建残余图片。
解码模块18中的图片重建模块86使用与当前图片相关联的经重建残余图片及与当前图片相关联的经预测图片来产生当前图片的经重建版本。图片重建模块86可使用与当前图片相关联的经重建残余图片及与当前图片相关联的经预测图片而以各种方式产生当前图片的经重建版本。举例来说,图片重建模块86可通过将经重建残余图片中的每一像素分量值添加到经预测图片中的等效定位的像素分量值来产生当前图片的经重建版本。在图片重建模块86产生当前图片的经重建版本之后,图片重建模块86可将当前图片的经重建版本存储于参考缓冲器90中,使得运动补偿模块76可在对与所述组视频帧相关联的其它图片执行运动补偿时可将当前图片的经重建版本用作参考图片。
图4是图解说明编码模块12(图2)的实例性操作的流程图。最初,编码模块12从媒体源8接收与一组视频帧中的未编码视频帧相关联的当前图片(100)。当编码模块12接收到当前图片时,运动估计模块32可通执行运动估计操作来产生用于当前图片的运动数据(102)。举例来说,如果编码模块12正将当前图片编码为P-图片,那么运动估计模块32可产生用于当前图片的每一分区的运动向量。在运动估计模块32产生用于当前图片的运动数据之后,运动补偿模块34可使用运动数据来执行产生与当前图片相关联的经预测图片的运动补偿操作(104)。接下来,残余图片建造模块38可使用运动补偿模块34产生的经预测图片及原始的当前图片来产生与当前图片相关联的残余图片(106)。
正变换模块30可接着产生与当前图片相关联的一组经变换系数矩阵(108)。正变换模块30可以各种方式产生与当前图片相关联的所述组经变换系数矩阵,此取决于编码模块12正将当前图片编码为帧内编码图片还是编码为帧间编码图片。举例来说,如果编码模块12正将当前图片编码为帧内编码图片,那么正变换模块30可将正DCT应用于原始的当前图片的每一分区。如果编码模块12正将当前图片编码为帧间编码图片,那么正变换模块30可将正DCT应用于与当前图片相关联的残余图片的每一分区。
在正变换模块30产生与当前图片相关联的经变换系数矩阵之后,量化模块40可通过量化与当前图片相关联的经变换系数矩阵中的系数来产生与当前图片相关联的一组经量化系数矩阵(110)。熵编码模块42可接着对与当前图片相关联的所述组经量化系数矩阵及与当前图片相关联的所述组运动数据执行熵编码操作(112)。接下来,逆量化模块44可通过逆量化与当前图片相关联的经量化系数矩阵中的经量化系数来产生与当前图片相关联的一组经逆量化系数矩阵(114)。在产生经逆量化系数矩阵之后,逆变换模块46通过将IDCT应用于与当前图片相关联的经逆量化系数矩阵中的经逆量化系数来产生与当前图片相关联的IDCT输出值矩阵(116)。
在逆变换模块46产生IDCT输出值矩阵之后,范围检测模块50可确定当前图片是否是与所述组视频帧相关联的最后一个图片(118)。如果范围检测模块50确定当前图片不是与所述组视频帧相关联的最后一个图片(118的“否”),那么编码模块12可接收与所述组视频帧相关联的另一图片(100)。否则,如果范围检测模块50确定当前图片是与所述组视频帧相关联的最后一个图片(118的“是”),那么范围检测模块50可计算与所述组视频帧相关联的IDCT输出值的最大动态范围(120)。在范围检测模块50计算与所述组视频帧相关联的IDCT输出值的最大动态范围之后,对象产生模块52可产生媒体对象,其包括与所述组视频帧相关联的经熵编码的经量化系数矩阵、与所述组视频帧相关联的所述组经熵编码运动数据、及指示与所述组视频帧相关联的IDCT输出值的最大动态范围的范围指示元(122)。通信接口14可接着输出媒体对象(124)。
图5是图解说明解码模块18的实例性操作的流程图。最初,解码模块18接收媒体对象,所述媒体对象包括与一组视频帧相关联的一组经编码媒体数据、与所述组视频帧相关联的若干组经编码运动数据、及范围指示元(130)。在解码模块18接收到媒体对象之后,范围检查模块72从媒体对象中提取范围指示元(132)。范围检查模块72可记者确定范围指示元指示的IDCT输出值的范围是否包括在给定范围外的IDCT输出值(134)。举例来说,范围检查模块72可确定范围指示元指示的IDCT输出值的范围大于初级逆变换模块80能够产生的IDCT输出值的范围。如果范围检查模块72确定范围指示元指示的IDCT输出值的范围包括在给定范围外的IDCT输出值(134的“是”),那么在一个实例性实施方案中范围协商模块74可将对媒体对象的替代版本的请求发送给编码装置4(136)。当范围协商模块74请求媒体对象的替代版本时,范围协商模块74可产生指示初级逆变换模块80能够产生的IDCT输出值的最大动态范围的范围指示元。在发生对媒体对象的替代版本的请求之后,通信接口16可接收媒体对象的替代版本(137)。
另一方面,如果范围检查模块72确定范围指示元指示的IDCT输出值的范围不包括在给定范围外的IDCT输出值(134的“否”),那么解码模块18中的熵解码模块70可对媒体对象中的所述组经编码媒体数据及所述组运动数据执行熵解码过程(138)。熵解码模块70可执行等效于用来编码媒体数据的熵编码过程的熵解码过程。举例来说,如果熵编码模块42使用哈弗曼编码来编码数据媒体,那么熵解码模块70使用哈弗曼解码来解码图像。作为将熵解码过程应用于每一组经编码媒体数据的结果,熵解码模块70已产生与和所述组视频帧中的视频帧相关联的图片相关联的一组经量化系数矩阵。
在熵解码模块70对运动数据执行熵解码操作之后,解码模块18中的运动补偿模块76使用运动数据来执行运动补偿操作,借此产生与当前图片相关联的经预测图片当前图片(140)。
随后或与运动补偿模块76平行地,解码模块18中的逆量化模块78可通过将逆量化操作应用于与当前图片相关联的经量化系数矩阵来产生与和所述组视频帧相关联的当前图片相关联的一组经逆量化系数矩阵(142)。逆量化模块78可通过将经量化系数乘以与量化矩阵的对应位置相关联的数目来逆量化经量化系数矩阵。举例来说,如果经量化系数矩阵的位置(0、0)处的经量化系数是-26且量化矩阵的位置(0、0)处的数目是16,那么经逆量化系数矩阵的位置(0、0)处的经逆量化系数是-416(即,-26*16=-416)。注意在此实例中,-415的原始系数(即,舍入(-415/16)=-26)与-416的所得系数之间的差。此差是“量化差错”。
在逆量化模块78产生与当前图片相关联的经逆量化系数矩阵之后,初级逆变换模块80通过将IDCT应用于所述组经逆量化系数矩阵来产生与当前图片相关联的一组IDCT输出值矩阵(144)。接下来,残余重建模块84使用与当前图片相关联的所述组IDCT输出值矩阵来产生与当前图片相关联的经重建残余图片(146)。在残余重建模块84产生与当前图片相关联的经重建残余图片之后,图片重建模块86使用与当前图片相关联的经重建残余图片及经预测图片来产生当前图片的经重建版本(148)。一旦图片重建模块86产生当前图片的经重建版本,呈现驱动器22便可致使媒体呈现单元24显示当前图片的经重建版本(150)。
如果当前图片不是与所述组视频帧相关联的最后一个图片(152的“是”),那么运动补偿模块76对与所述组视频帧相关联的在当前图片之后及诸如此类的图片执行运动补偿操作(140)。另一方面,如果当前图片是与所述组视频帧相关联的最后一个图片(152的“否”),那么解码模块18已完成解码所述组视频帧(154)。
图6是图解说明编码模块12实例性操作的流程图。最初,编码装置4中的通信接口14从解码装置6接收对媒体对象的请求(170)。通信接口14可连同指示给定范围的范围指示元一起接收此请求。举例来说,通信接口14可从解码装置6接收指示解码装置6中的解码模块能够产生的IDCT输出值的最大动态范围的范围指示元。
当通信接口14接收到对媒体对象的请求时,范围配置模块54可配置编码模块12以产生所请求的媒体对象(172)。举例来说,如果通信接口14已从m解码装置6接收到范围指示元,那么范围配置模块54可配置编码模块12以产生媒体对象,其中与媒体对象中的经编码媒体数据相关联的IDCT输出值落在从解码装置6接收的范围指示元指示的范围以外。如上所论述,范围配置模块54可以各种那个方式配置编码模块12,包括配置由量化模块40及逆量化模块44使用的量化矩阵。
在范围配置模块54配置编码模块12之后,编码模块12可产生所请求的媒体对象。如图6的实例性操作中所图解说明,编码模块12可通过使用运动估计模块32来产生用于所请求媒体对象的所述组视频帧相关联的当前图片的运动数据来产生所请求的媒体对象(174)。运动补偿模块34可接着产生与当前图片相关联的经预测图片(176)。接下来,残余图片建造模块38可使用经预测图片及当前图片来产生与当前图片相关联的残余图片(178)。在残余图片建造模块38产生残余图片之后,正变换模块30至少部分地通过对残余图片中的像素分量值执行正离散余弦变换来产生与所述组视频帧相关联的经变换系数矩阵(179)。量化模块40可接着产生与当前图片相关联的一组经量化系数矩阵(180)。量化模块40可通过使用量化矩阵来量化与当前图片相关联的先前已由正变换模块30产生的经变换系数矩阵中的系数来产生与当前图片相关联的所述组经量化系数矩阵。熵编码模块42可接着对经量化系数矩阵执行熵编码操作(182)。
另外,逆量化模块44可产生与当前图片相关联的一组经逆量化系数矩阵(184)。逆变换模块46可接着通过将IDCT应用于与当前图片相关联的所述组经逆量化系数矩阵来产生与当前图片相关联的一组IDCT输出值(186)。
在逆变换模块46产生与当前图片相关联的所述替代组经量化系数矩阵之后,范围检测模块50可确定当前图片是否是与所述组视频帧相关联的最后一个图片(188)。如果当前图片不是与所述组视频帧相关联的最后一个图片(188的“否”),那么量化模块40可产生用于与所请求媒体对象中的所述组视频帧相关联的另一图片的运动数据,及诸如此类(174)。另一方面,如果当前图片是与所述组视频帧相关联的最后一个图片(188的“是”),那么范围检测模块50可为所述组视频帧计算逆变换模块46产生的IDCT输出值的范围(190)。对象产生模块52可接着产生媒体对象,所述媒体对象包括与所述组视频帧相关联的所述组经熵编码的经量化系数、与所述组视频帧相关联的所述组经熵编码的运动数据、及指示与所述组视频帧相关联的所述替代组IDCT输出值的最大动态范围的范围指示元(192)。随后,通信接口14可输出媒体对象(194)。
图7是图解说明图3中所图解说明的实例性解码模块的替代实例性操作的流程图。最初,解码模块18接收媒体对象,所述媒体对象包括与一组视频帧相关联的一组经编码媒体数据、与所述组视频帧相关联的若干组经编码运动数据、及范围指示元(200)。在解码模块18接收媒体对象之后,范围检查模块72从媒体对象中提取范围指示元(202)。接下来,解码模块18中的熵解码模块70可对媒体对象中的所述组经编码媒体数据及所述组运动数据执行熵解码过程(204)。熵解码模块70可执行熵解码过程,其等效于用来编码媒体数据的熵编码过程。举例来说,如果熵编码模块42使用哈弗曼编码来编码媒体数据,那么熵解码模块70使用哈弗曼解码来解码图像。作为将熵解码过程应用于每一组经编码媒体数据的结果,熵解码模块70已产生与和所述组视频帧中的视频帧相关联的图片相关联的一组经量化系数矩阵。
在熵解码模块70对经编码媒体数据及运动数据执行熵解码操作之后,解码模块18中的运动补偿模块76可使用运动数据来执行运动补偿操作,借此产生与当前图片相关联的经预测图片(206)。随后或与运动补偿模块76并行地,解码模块18中的逆量化模块78可通过将逆量化操作应用于与当前图片相关联的经量化系数矩阵来产生与和所述组视频帧相关联的当前图片相关联的一组经逆量化系数矩阵(208)。
在逆量化模块78产生与当前图片相关联的经逆量化系数矩阵之后,范围检查模块72可确定范围指示元指示的IDCT输出值的范围是否包括在给定范围外的IDCT输出值(210)。如果范围检查模块72确定范围指示元指示的IDCT输出值的范围不包括在给定范围外的IDCT输出值(210的“否”),那么初级逆变换模块80可使用第一操作来通过将IDCT应用于所述组经逆量化系数矩阵以产生与当前图片相关联的一组IDCT输出值矩阵(212)。否则,如果范围检查模块72确定范围指示元指示的IDCT输出值的范围包括在给定范围外的IDCT输出值(210的“是”),那么次级逆变换模块82可使用第二操作来通过将IDCT应用于所述组经逆量化系数矩阵以产生与当前图片相关联的一组IDCT输出值矩阵(214)。
在初级逆变换模块80或次级逆变换模块82产生所述组IDCT输出值矩阵之后,残余重建模块84使用与当前图片相关联的所述组IDCT输出值矩阵来产生与当前图片相关联的经重建残余图片(216)。在残余重建模块84产生与当前图片相关联的经重建残余图片之后,图片重建模块86使用与当前图片相关联的经重建残余图片及经预测图片来产生当前图片的经重建版本(218)。一旦图片重建模块86产生当前图片的经重建版本,呈现驱动器22便可致使媒体呈现单元24显示当前图片的经重建版本(220)。
如果当前图片不是与所述组视频帧相关联的最后一个图片(222的“是”),那么运动补偿模块76对与所述组视频帧相关联的在当前图片之后的图片及诸如此类执行运动补偿操作(206)。另一方面,如果当前图片是与所述组视频帧相关联的最后一个图片(222的“否”),那么解码模块18已完成解码所述组视频帧(224)。
本文所述的技术可实施于硬件、软件、固件或其任一组合中。描述为模块或组件的任何特征可一起实施于集成电路或集成逻辑装置中,或单独实施为离散但可共同操作的逻辑装置。如果实施在软件中,那么所述技术可至少部分地通过计算机可读媒体来实现,所述计算机可读媒体包含在执行时可执行上述方法中的一种或一种以上方法的指令。所述计算机可读媒体可形成计算机程序产品(其可包括封装材料)的一部分。计算机可读媒体可包含随机存取存储器(RAM),例如同步动态随机存取存储器(SDRAM)、只读存储器(ROM)、非易失性随机存取存储器(NVRAM)、电可擦除可编程只读存储器(EEPROM)、快闪存储器、磁性或光学数据存储媒体及类似存储装置。另外或另一选择是,所述技术可至少部分地通过计算机可读媒体来实现,所述计算机可读媒体携载或传递采取可由计算机存取、读取及/或执行的指令或数据结构形式的代码。
所述代码可由一个或一个以上处理器来执行,例如一个或一个以上数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、场可编程逻辑阵列(FPGA)、或其它等效集成或离散逻辑电路。因此,本文中使用的术语“处理器”可指代前述结构或适用于实施本文所述技术的任一其它结构中的任一者另外,在一些方面,本文中所述的功能性可提供在经配置用于编码及解码的专用软件模块或硬件模块内,或并入于组合的视频编码器-解码器(CODEC)中。
本文已描述了各种实施例。这些及其它实例均在以上权利要求书的范围内。

Claims (17)

1.一种解码方法,其包含:
借助解码模块接收媒体对象,所述媒体对象包括表示一组一个或一个以上视频帧的经编码媒体数据及指示与所述经编码媒体数据相关联的逆离散余弦变换(“IDCT”)输出值的最大动态范围的范围指示元;
确定与所述经编码媒体数据相关联的IDCT输出值的所述最大动态范围是否包括在给定范围外的IDCT输出值;
当与所述经编码媒体数据相关联的IDCT输出值的所述最大动态范围不包括在所述给定范围外的IDCT输出值时,使用第一操作以基于所述经编码媒体数据来产生一组IDCT输出值;
当与所述经编码媒体数据相关联的IDCT输出值的所述最大动态范围包括在所述给定范围外的IDCT输出值时,执行下列两种操作中的一者(1)请求替代的媒体对象,或者(2)使用第二操作以基于所述经编码媒体数据来产生所述组IDCT输出值;
使用所述组IDCT输出值来产生与所述组视频帧中的视频帧相关联的经重建视频帧;
致使媒体呈现单元呈现所述经重建视频帧;
其中所述替代的媒体对象包括表示所述组视频帧的替代的经编码媒体数据,及
其中与所述替代的经编码媒体数据相关联的IDCT输出值的最大动态范围不包括在所述给定范围外的IDCT输出值。
2.如权利要求1所述的方法,
其中所述方法进一步包含:
对所述经编码媒体数据执行熵解码操作来产生与所述组视频帧相关联的一组经量化系数矩阵;及
至少部分地通过逆量化所述组经量化系数矩阵中的经量化系数来产生与所述组视频帧相关联的经逆量化系数矩阵;且
其中使用所述第一操作来产生所述组IDCT输出值包含通过将IDCT应用于所述经逆量化系数矩阵来产生所述组IDCT输出值。
3.如权利要求1所述的方法,其中使用所述组IDCT输出值来产生经重建视频帧包含:
产生包括所述IDCT输出值的经重建残余图片;
通过使用与所述组视频帧相关联的运动数据执行运动补偿操作来产生与所述组视频帧相关联的经预测图片;及
使用所述经重建残余图片及所述经预测图片来产生经重建图片。
4.一种解码装置,其包含:
通信接口,其接收媒体对象,所述媒体对象包括表示一组一个或一个以上视频帧的经编码媒体数据及指示与所述经编码媒体数据相关联的逆离散余弦变换(“IDCT”)输出值的最大动态范围的范围指示元;
范围检查模块,其确定与所述经编码媒体数据相关联的IDCT输出值的所述最大动态范围是否包括在给定范围外的IDCT输出值;
初级逆变换模块,当与所述经编码媒体数据相关联的IDCT输出值的所述最大动态范围不包括在所述给定范围外的IDCT输出值时,所述初级逆变换模块使用第一操作以基于所述经编码媒体数据来产生一组IDCT输出值;
下列两种模块中的一者(1)范围协商模块,当与所述经编码媒体数据相关联的IDCT输出值的所述最大动态范围包括在所述给定范围外的IDCT输出值时,所述范围协商模块请求替代的媒体对象,或者(2)次级逆变换模块,当与所述经编码媒体数据相关联的IDCT输出值的所述最大动态范围包括在所述给定范围外的IDCT输出值时,所述次级逆变换模块使用第二操作以基于所述经编码媒体数据来产生所述组IDCT输出值;
图片重建模块,其使用所述组IDCT输出值来产生与所述组视频帧中的视频帧相关联的经重建视频帧;
呈现驱动器,其致使媒体呈现单元呈现所述经重建视频帧;
其中所述通信接口接收所述替代的媒体对象,
其中所述替代的媒体对象包括表示所述组视频帧的替代的经编码媒体数据,及
其中与所述替代的经编码媒体数据相关联的IDCT输出值的最大动态范围不包括在所述给定范围外的IDCT输出值。
5.如权利要求4所述的装置,
其中所述装置进一步包含:
熵解码模块,其对所述经编码媒体数据执行熵解码操作以产生与所述组视频帧相关联的一组经量化系数矩阵;及
逆量化模块,其至少部分地通过逆量化所述组经量化系数矩阵中的经量化系数来产生与所述组视频帧相关联的一组经逆量化系数;且
其中所述初级逆变换模块通过将IDCT应用于所述组经逆量化系数矩阵来产生所述组IDCT输出值。
6.如权利要求4所述的装置,
其中所述装置进一步包含:
残余重建模块,其产生包括所述IDCT输出值的经重建残余图片;及
运动补偿模块,其通过使用与所述组视频帧相关联的运动数据执行运动补偿操作来产生与所述组视频帧相关联的经预测图片;且
其中所述图片重建模块使用所述经重建残余图片及所述经预测图片来产生所述经重建视频帧。
7.如权利要求4所述的装置,其中所述通信接口是无线通信接口。
8.一种编码方法,其包含:
产生表示一组一个或一个以上视频帧的第一组经编码媒体数据;
计算与所述第一组经编码媒体数据相关联的IDCT输出值的最大动态范围;
产生媒体对象,所述媒体对象包括所述第一组经编码媒体数据及指示与所述第一组经编码媒体数据相关联的IDCT输出值的所述最大动态范围的范围指示元;及
将所述媒体对象输出到解码装置;
从所述解码装置接收指示逆离散余弦变换(“IDCT”)输出值的最大动态范围的消息;
响应于接收到所述消息,产生表示所述一组一个或一个以上视频帧的第二组经编码媒体数据,其中与所述第二组经编码媒体数据相关联的IDCT输出值不包括在IDCT输出值的所述所指示最大动态范围外的IDCT输出值;及
将所述第二组经编码媒体数据输出到所述解码装置。
9.如权利要求8所述的方法,其中产生所述第二组经编码媒体数据包含:
产生与所述组视频帧中的视频帧相关联的残余图片;
至少部分地通过对所述残余图片中的像素分量值执行正离散余弦变换来产生与所述组视频帧相关联的经变换系数矩阵;
至少部分地通过量化所述经变换系数矩阵中的经变换系数来产生与所述组视频帧相关联的经量化系数矩阵;及
对所述经量化系数矩阵执行熵编码操作,借此形成所述第二组经编码媒体数据。
10.如权利要求8所述方法,
其中所述方法进一步包含从所述解码装置接收对包括所述组视频帧的媒体对象的请求;且
其中接收所述消息包含连同所述请求一起接收所述消息。
11.一种编码装置,其包含:
编码模块,其产生表示一组一个或一个以上视频帧的第一组经编码媒体数据,其中所述编码模块包含:
范围检测模块,其计算与所述第一组经编码媒体数据相关联的IDCT输出值的最大动态范围;
对象产生模块,其产生媒体对象,所述媒体对象包括所述第一组经编码媒体数据及指示与所述第一组经编码媒体数据相关联的IDCT输出值的所述最大动态范围的范围指示元;且
其中通信接口将所述媒体对象输出到解码装置,所述通信接口从所述解码装置接收指示逆离散余弦变换(“IDCT”)输出值的最大动态范围的消息;
其中所述编码模块响应于接收到所述消息而产生表示所述一组一个或一个以上视频帧的第二组经编码媒体数据,其中与所述第二组经编码媒体数据相关联的IDCT输出值不包括在IDCT输出值的所述所指示最大动态范围外的IDCT输出值;且
其中所述通信接口将所述第二组经编码媒体数据输出到所述解码装置。
12.如权利要求11所述的装置,其中所述消息是在所述解码装置确定与所述第一组经编码媒体数据相关联的IDCT输出值的所述最大动态范围包括在所述消息中所指示的所述最大动态范围外的值时从所述解码装置接收的。
13.如权利要求11所述的装置,其中编码模块包含:
残余图片建造模块,其产生与所述组视频帧中的视频帧相关联的残余图片;
正变换模块,其至少部分地通过对所述残余图片中的像素分量值执行正离散余弦变换来产生与所述组视频帧相关联的经变换系数矩阵;
量化模块,其至少部分地通过量化所述经变换系数矩阵中的系数来产生与所述组视频帧相关联的经量化系数矩阵;及
熵编码模块,其对所述经量化系数矩阵执行熵编码操作,借此形成所述第二组经编码媒体数据。
14.如权利要求11所述的装置,其中所述通信接口从所述解码装置接收对包括所述组视频帧的媒体对象的请求,其中所述通信接口连同所述请求一起接收所述消息。
15.一种编码及解码系统,其包含:
编码装置;及
解码装置;
其中所述解码装置包含:
第一通信接口,其从所述编码装置接收媒体对象,所述媒体对象包括表示一组一个或一个以上视频帧的第一组经编码媒体数据及指示与所述第一组经编码媒体数据相关联的逆离散余弦变换(“IDCT”)输出值的最大动态范围的范围指示元;
范围检查模块,其确定与所述第一组经编码媒体数据相关联的IDCT输出值的所述最大动态范围是否包括在给定范围外的IDCT输出值;
范围协商模块,当与所述经编码媒体数据相关联的IDCT输出值的所述最大动态范围包括在所述给定范围外的IDCT输出值时,所述范围协商模块致使所述第一通信接口向所述编码装置输出指示IDCT输出值的所述最大动态范围的消息;
初级逆变换模块,当与所述第一组经编码媒体数据相关联的IDCT输出值的所述最大动态范围不包括在所述给定范围外的IDCT输出值时,所述初级逆变换模块使用第一操作以基于所述第一组经编码媒体数据来产生一组IDCT输出值;
下列模块中的一者(1)范围协商模块,当与所述经编码媒体数据相关联的IDCT输出值的所述最大动态范围包括在所述给定范围外的IDCT输出值时,所述范围协商模块请求替代的媒体对象,或者(2)次级逆变换模块,当与所述经编码媒体数据相关联的IDCT输出值的所述最大动态范围包括在所述给定范围外的IDCT输出值时,所述次级逆变换模块使用第二操作以基于所述经编码媒体数据来产生所述组IDCT输出值,其中所述替代媒体对象包含代表所述组视频帧的第二组经编码媒体数据;
图片重建模块,其使用所述组IDCT输出值来产生与所述组视频帧中的视频帧相关联的经重建视频帧;及
呈现驱动器,其致使媒体呈现单元呈现所述经重建视频帧;且
其中所述编码装置包含:
第二通信接口,其从所述解码装置接收指示所述给定范围的所述消息;
编码模块,其响应于接收到所述消息而产生表示所述组一个或一个以上视频帧的第二组经编码媒体数据,其中与所述第二组经编码媒体数据相关联的IDCT输出值不包括在所述给定范围外的IDCT输出值,所述编码模块包含:
范围检测模块,其计算与所述第二组经编码媒体数据相关联的IDCT输出值的最大动态范围;
对象产生模块,其产生第二媒体对象,所述第二媒体对象包括所述第二组经编码媒体数据及指示与所述第二组经编码媒体数据相关联的IDCT输出值的所述最大动态范围的第二范围指示元;
其中所述第二通信接口将所述第二组经编码媒体数据及所述替代媒体对象输出到所述解码装置。
16.如权利要求15所述的系统,其中所述编码模块进一步包含:
残余图片建造模块,其产生与所述组视频帧中的视频帧相关联的残余图片;
正变换模块,其至少部分地通过对所述残余图片中的像素分量值执行正离散余弦变换来产生与所述组视频帧相关联的经变换系数矩阵;
量化模块,其至少部分地通过量化所述经变换系数矩阵中的系数来产生与所述组视频帧相关联的经量化系数矩阵;及
熵编码模块,其对所述经量化系数矩阵执行熵编码操作,借此形成所述第二组经编码媒体数据。
17.如权利要求15所述的系统,其中所述解码装置进一步包含:
熵解码模块,其对所述第一组经编码媒体数据执行熵解码操作以产生与所述组视频帧相关联的一组经量化系数矩阵;及
逆量化模块,其至少部分地通过逆量化所述组经量化系数矩阵中的经量化系数来产生与所述组视频帧相关联的一组经逆量化系数;且
其中所述初级逆变换模块通过将IDCT应用于所述组经逆量化系数矩阵来产生所述组IDCT输出值。
CN2007800390443A 2006-10-23 2007-10-23 用信号通知逆离散余弦变换的最大动态范围 Expired - Fee Related CN101529917B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US86259106P 2006-10-23 2006-10-23
US60/862,591 2006-10-23
US11/865,915 2007-10-02
US11/865,915 US8300698B2 (en) 2006-10-23 2007-10-02 Signalling of maximum dynamic range of inverse discrete cosine transform
PCT/US2007/082291 WO2008052007A2 (en) 2006-10-23 2007-10-23 Signalling of maximum dynamic range of inverse discrete cosine transform

Publications (2)

Publication Number Publication Date
CN101529917A CN101529917A (zh) 2009-09-09
CN101529917B true CN101529917B (zh) 2011-08-31

Family

ID=39281479

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2007800390443A Expired - Fee Related CN101529917B (zh) 2006-10-23 2007-10-23 用信号通知逆离散余弦变换的最大动态范围

Country Status (10)

Country Link
US (1) US8300698B2 (zh)
EP (1) EP2090111B1 (zh)
JP (1) JP5502487B2 (zh)
KR (2) KR101155835B1 (zh)
CN (1) CN101529917B (zh)
BR (1) BRPI0717313A2 (zh)
CA (1) CA2665243C (zh)
IN (1) IN2014MN02406A (zh)
RU (1) RU2417547C2 (zh)
WO (1) WO2008052007A2 (zh)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4725127B2 (ja) * 2005-02-16 2011-07-13 ソニー株式会社 復号装置および方法、記録媒体、並びにプログラム
US8606023B2 (en) * 2006-06-26 2013-12-10 Qualcomm Incorporated Reduction of errors during computation of inverse discrete cosine transform
US8699810B2 (en) * 2006-06-26 2014-04-15 Qualcomm Incorporated Efficient fixed-point approximations of forward and inverse discrete cosine transforms
US8208745B2 (en) * 2008-01-31 2012-06-26 Analog Devices, Inc. Spatial domain video enhancement/scaling system and method
EP2406959B1 (en) 2009-03-13 2015-01-14 Dolby Laboratories Licensing Corporation Layered compression of high dynamic range, visual dynamic range, and wide color gamut video
US9069713B2 (en) * 2009-06-05 2015-06-30 Qualcomm Incorporated 4X4 transform for media coding
JP5482474B2 (ja) * 2010-06-09 2014-05-07 富士通株式会社 符号化装置及び符号化プログラム
US20130003856A1 (en) * 2011-07-01 2013-01-03 Samsung Electronics Co. Ltd. Mode-dependent transforms for residual coding with low latency
KR102494145B1 (ko) 2011-09-22 2023-01-31 엘지전자 주식회사 영상 정보 시그널링 방법 및 장치와 이를 이용한 디코딩 방법 및 장치
US20140301450A1 (en) * 2011-11-07 2014-10-09 Samsung Electronics Co., Ltd. Inverse transformation method for clipping data of inverse quantization, inverse transformation during video decoding step, and device therefor
EP2803190B1 (en) 2012-01-09 2017-10-25 Dolby Laboratories Licensing Corporation Hybrid reference picture reconstruction method for multiple layered video coding systems
FR2993084A1 (fr) * 2012-07-09 2014-01-10 France Telecom Procede de codage video par prediction du partitionnement d'un bloc courant, procede de decodage, dispositifs de codage et de decodage et programmes d'ordinateur correspondants
US10015515B2 (en) * 2013-06-21 2018-07-03 Qualcomm Incorporated Intra prediction from a predictive block
JP6315911B2 (ja) 2013-07-09 2018-04-25 キヤノン株式会社 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム
JP6466258B2 (ja) * 2014-08-07 2019-02-06 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 再生装置、再生方法および記録媒体
KR20210094046A (ko) 2018-11-27 2021-07-28 오피 솔루션즈, 엘엘씨 명시적 및 암시적 시그널링을 사용한 이용 불가능한 참조 프레임들의 적응형 블록 업데이트
PH12019000380A1 (en) * 2018-12-17 2020-09-28 Nokia Technologies Oy An apparatus, a method and a computer program for video coding and decoding

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1550108A (zh) * 2001-03-02 2004-11-24 �ű�ʵ������ɹɷ����޹�˾ 视频图象的高精度编码和解码
CN1564602A (zh) * 2004-03-18 2005-01-12 华中科技大学 视频编码的整数变换矩阵选择方法及相关的整数变换方法
CN1777038A (zh) * 2005-12-01 2006-05-24 武汉大学 一种二维矢量数据的压缩方法

Family Cites Families (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5129015A (en) 1990-04-19 1992-07-07 Ricoh Company Ltd. Apparatus and method for compressing still images without multiplication
DE9016732U1 (de) 1990-12-11 1992-04-09 Robert Bosch Gmbh, 70469 Stuttgart Elektrisches Gerät, insbesondere Schalt- und Steuergerät für Kraftfahrzeuge
US5122875A (en) 1991-02-27 1992-06-16 General Electric Company An HDTV compression system
RU2096955C1 (ru) 1991-03-01 1997-11-27 Е.И.Дюпон Де Немур Энд Компани Вододиспергируемая гранулированная пестицидная композиция, получаемая методом экструзии, и способ ее получения
US5285402A (en) 1991-11-22 1994-02-08 Intel Corporation Multiplyless discrete cosine transform
US5539836A (en) 1991-12-20 1996-07-23 Alaris Inc. Method and apparatus for the realization of two-dimensional discrete cosine transform for an 8*8 image fragment
TW224553B (en) 1993-03-01 1994-06-01 Sony Co Ltd Method and apparatus for inverse discrete consine transform and coding/decoding of moving picture
RU2122295C1 (ru) 1994-04-29 1998-11-20 Виктор Павлович Дворкович Способ покадрового сжатия изображений
US6549666B1 (en) 1994-09-21 2003-04-15 Ricoh Company, Ltd Reversible embedded wavelet system implementation
US5701263A (en) 1995-08-28 1997-12-23 Hyundai Electronics America Inverse discrete cosine transform processor for VLSI implementation
US6026183A (en) 1995-10-27 2000-02-15 Texas Instruments Incorporated Content-based video compression
US5825927A (en) * 1996-01-16 1998-10-20 Hitachi America, Ltd. Methods and apparatus for encoding video data in a manner that is well suited for decoding by regular or downconverting decoders
US5754456A (en) 1996-03-05 1998-05-19 Intel Corporation Computer system performing an inverse cosine transfer function for use with multimedia information
US6020838A (en) 1996-12-23 2000-02-01 National Instruments Corporation System and method for generating a sigma-delta correction circuit using matrix calculation of linearity error correction coefficients
ES2164412T3 (es) 1997-01-31 2002-02-16 Siemens Ag Procedimiento y dispositivo para la codificacion y decodificacion de una imagen digitalizada.
TW376628B (en) 1997-05-06 1999-12-11 Holtek Semiconductor Inc Method of accelerating JPEG quantization calculation in image compression
US6134270A (en) 1997-06-13 2000-10-17 Sun Microsystems, Inc. Scaled forward and inverse discrete cosine transform and video compression/decompression systems employing the same
JP3524747B2 (ja) 1998-01-30 2004-05-10 三洋電機株式会社 離散コサイン変換回路
WO1999039303A1 (en) 1998-02-02 1999-08-05 The Trustees Of The University Of Pennsylvania Method and system for computing 8x8 dct/idct and a vlsi implementation
TW395135B (en) 1998-03-03 2000-06-21 Nat Science Council A high throughput and regular architecture of 2-D 8x8 DCT/IDCT using direct form
US6539058B1 (en) 1998-04-13 2003-03-25 Hitachi America, Ltd. Methods and apparatus for reducing drift due to averaging in reduced resolution video decoders
US6792149B1 (en) 1998-05-07 2004-09-14 Sarnoff Corporation Method and apparatus for resizing an image frame including field-mode encoding
US6310919B1 (en) * 1998-05-07 2001-10-30 Sarnoff Corporation Method and apparatus for adaptively scaling motion vector information in an information stream decoder
KR20000013653A (ko) 1998-08-12 2000-03-06 이종하 정/역 최적화 정수형 여현변환장치 및 그 방법
EP0990992A3 (de) 1998-09-28 2002-02-13 Siemens Aktiengesellschaft Diskreter/invers-diskreter Cosinus-Transformationsvorrichtung und Anordnung
US6020383A (en) * 1999-01-11 2000-02-01 Eastman Chemicals Company Method for reducing blood cholesterol and/or blood triglycerides
GB2347038A (en) 1999-02-18 2000-08-23 Nokia Mobile Phones Ltd A video codec using re-transmission
US6167092A (en) * 1999-08-12 2000-12-26 Packetvideo Corporation Method and device for variable complexity decoding of motion-compensated block-based compressed digital video
KR100683380B1 (ko) * 2000-02-21 2007-02-15 주식회사 팬택앤큐리텔 영상 압축 부호화를 위한 변환 및 역변환 방법 및 장치
JP2001318910A (ja) 2000-02-29 2001-11-16 Sony Corp 逆離散コサイン変換装置
DE10116204A1 (de) 2000-08-12 2002-02-21 Bosch Gmbh Robert Verfahren zur ganzzahligen Approximation von Transformationskoeffizienten sowie Coder und Decoder
KR100357689B1 (ko) * 2000-11-13 2002-10-19 삼성전자 주식회사 일관된 화질을 가지는 실시간 가변 비트율 엠펙 비디오전송 시스템
US6859815B2 (en) 2000-12-19 2005-02-22 Koninklijke Philips Electronics N.V. Approximate inverse discrete cosine transform for scalable computation complexity video and still image decoding
US6799192B1 (en) 2001-01-09 2004-09-28 Apple Computer, Inc. Method and apparatus for inverse discrete cosine transform
US6873655B2 (en) * 2001-01-09 2005-03-29 Thomson Licensing A.A. Codec system and method for spatially scalable video data
JP2002374531A (ja) 2001-06-15 2002-12-26 Victor Co Of Japan Ltd 復号装置
US6909753B2 (en) * 2001-12-05 2005-06-21 Koninklijke Philips Electronics, N.V. Combined MPEG-4 FGS and modulation algorithm for wireless video transmission
US7007055B2 (en) 2002-03-12 2006-02-28 Intel Corporation Method of performing NxM Discrete Cosine Transform
US20030215011A1 (en) 2002-05-17 2003-11-20 General Instrument Corporation Method and apparatus for transcoding compressed video bitstreams
US7379956B2 (en) 2002-07-14 2008-05-27 Apple Inc. Encoding and decoding data arrays
KR100376060B1 (en) 2002-10-25 2003-03-17 Humax Co Ltd Method and system for re-setting image size using inverse discrete cosine transform
US7792891B2 (en) 2002-12-11 2010-09-07 Nvidia Corporation Forward discrete cosine transform engine
TWI224931B (en) 2003-07-04 2004-12-01 Mediatek Inc Scalable system for inverse discrete cosine transform and method thereof
TWI257054B (en) 2003-09-03 2006-06-21 Mediatek Inc Rapid and low cost of inverse discrete cosine transform system and method thereof
KR20060135613A (ko) 2003-09-24 2006-12-29 텍사스 인스트루먼츠 인코포레이티드 8×8 변환 및 양자화
GB0323038D0 (en) * 2003-10-02 2003-11-05 Koninkl Philips Electronics Nv Method and apparatus for improved inverse transform calculation
JP3951036B2 (ja) 2003-11-27 2007-08-01 インターナショナル・ビジネス・マシーンズ・コーポレーション 動的小数点方式、動的小数点演算方法、並びに2次元逆離散コサイン変換方法及びその装置
US20050196055A1 (en) * 2004-03-04 2005-09-08 Sheng Zhong Method and system for codifying signals that ensure high fidelity reconstruction
US8606023B2 (en) 2006-06-26 2013-12-10 Qualcomm Incorporated Reduction of errors during computation of inverse discrete cosine transform
US8699810B2 (en) 2006-06-26 2014-04-15 Qualcomm Incorporated Efficient fixed-point approximations of forward and inverse discrete cosine transforms

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1550108A (zh) * 2001-03-02 2004-11-24 �ű�ʵ������ɹɷ����޹�˾ 视频图象的高精度编码和解码
CN1564602A (zh) * 2004-03-18 2005-01-12 华中科技大学 视频编码的整数变换矩阵选择方法及相关的整数变换方法
CN1777038A (zh) * 2005-12-01 2006-05-24 武汉大学 一种二维矢量数据的压缩方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
YURIY REZNIK.On clipping and dynamic range of variables in IDCT designs.《INTERNATIONAL ORGANISATION FOR STANDARDISATION ISO/IEC JTC1 SC29/WG11 CODING OF MOVING PICTURES AND AUDIO》.2006,全文. *
ZHOU M ET AL.IDCT output range before clipping in MPEG video coding.《SIGNAL PROCESSING. IMAGE COMMUNICATION,ELSEVIER SCIENCE PUBLISHERS》.1997,第11卷全文. *

Also Published As

Publication number Publication date
WO2008052007A2 (en) 2008-05-02
JP5502487B2 (ja) 2014-05-28
KR101269305B1 (ko) 2013-05-29
RU2009119494A (ru) 2010-11-27
JP2010507995A (ja) 2010-03-11
WO2008052007A3 (en) 2008-08-07
KR101155835B1 (ko) 2012-06-21
US20080095245A1 (en) 2008-04-24
US8300698B2 (en) 2012-10-30
RU2417547C2 (ru) 2011-04-27
BRPI0717313A2 (pt) 2013-10-15
EP2090111B1 (en) 2014-09-17
EP2090111A2 (en) 2009-08-19
KR20090073245A (ko) 2009-07-02
CA2665243C (en) 2013-05-28
CA2665243A1 (en) 2008-05-02
IN2014MN02406A (zh) 2015-08-21
KR20120030591A (ko) 2012-03-28
CN101529917A (zh) 2009-09-09

Similar Documents

Publication Publication Date Title
CN101529917B (zh) 用信号通知逆离散余弦变换的最大动态范围
US12052439B2 (en) Methods and apparatus for improved entropy encoding and decoding
CN101411196B (zh) 用于对与视频压缩相关联的信息进行编码及解码的方法及设备
RU2612600C2 (ru) Способ контентно-адаптивного энтропийного кодирования данных о режимах и опорных типах для видео следующего поколения
CN117857787A (zh) 解码设备、编码设备和发送用于图像的数据的设备
CN103238322A (zh) 在视频译码中单独地译码视频块的最后有效系数的位置
CN111373753B (zh) 变换因子级别编码方法及其装置
JP2009027698A (ja) 画像フレームの非フレームエッジブロックの表現における改良された圧縮
CN114554215A (zh) 选择对残差块进行编码/解码的编码模式的方法和装置
CN101663895B (zh) 使用所估计译码成本的视频译码模式选择
WO2009087783A1 (ja) 符号化用データ生成装置、符号化用データ生成方法、復号装置および復号方法
RU2679215C9 (ru) Устройство кодирования изображения, способ кодирования изображения и долговременный считываемый компьютером носитель записи
CN114467310A (zh) 图像编译系统中残差数据编译的图像解码方法及其装置
KR20160034914A (ko) 비변환 코딩을 위한 스캐닝 순서 조정 기법
US20130177241A1 (en) Image processing apparatus and method thereof
CN114157871A (zh) 视频编解码方法、装置、设备及存储介质
US20120147972A1 (en) Image decoding apparatus, image decoding method, image encoding apparatus, image encoding method, and program
Mishourovsky Visually Lossless Colour Compression Technology
JPH1075464A (ja) 画像圧縮装置および画像伸張装置
CN101673392B (zh) 影像译码装置及方法
JPH05219358A (ja) 圧縮画像データ抽出装置
CN113473154A (zh) 视频编码、视频解码方法、装置及存储介质
EP3104610A1 (en) Method and device for encoding color differences for color picture data
JP2007306528A (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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20110831