CN1223196C - 解码器、解码方法 - Google Patents

解码器、解码方法 Download PDF

Info

Publication number
CN1223196C
CN1223196C CNB018009182A CN01800918A CN1223196C CN 1223196 C CN1223196 C CN 1223196C CN B018009182 A CNB018009182 A CN B018009182A CN 01800918 A CN01800918 A CN 01800918A CN 1223196 C CN1223196 C CN 1223196C
Authority
CN
China
Prior art keywords
decoding
thin slice
frame
picture
stream
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
CNB018009182A
Other languages
English (en)
Other versions
CN1366776A (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.)
Sony Corp
Original Assignee
Sony 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 Sony Corp filed Critical Sony Corp
Publication of CN1366776A publication Critical patent/CN1366776A/zh
Application granted granted Critical
Publication of CN1223196C publication Critical patent/CN1223196C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
    • 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
    • H04N19/51Motion estimation or motion compensation
    • H04N19/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • 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/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive 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

Abstract

当接收了画面层的参数时,薄片解码器控制电路(46)依次把画面层的参数和薄片1的写指针供应给薄片解码器(47),把画面层的参数和薄片2的写指针供应给薄片解码器(48),和把画面层的参数和薄片3的写指针供应给薄片解码器(49),使它们被解码。根据从薄片解码器(47)至(49)输出的、指示解码处理已经完成的信号的输入,薄片解码器控制电路(46)通过供应薄片4的写指针,使薄片解码器(48)在定时A进行解码,通过供应薄片5的写指针,使薄片解码器(49)在定时B进行解码,并重复相似的处理,直到最后一个薄片的解码结束。多个薄片解码器的操作从而得到控制。

Description

解码器、解码方法
                         技术领域
本发明涉及解码设备、解码方法和记录介质,尤其涉及使能够在切实可行电路规模上实现实时操作的、遵从4:2:2P@HL标准的视频解码器能够得以实现的解码设备、解码方法和记录介质。
                         背景技术
MPEG2(运动图像编码专家组/运动图像专家组2)视频系统是用于由ISO/IEC(国际标准化组织/国际电子技术委员会)13818-2和ITU-T(国际电信联盟-电信部门)推荐技术标准H.262规定的视频信号的高效编码系统。
MPEG2的编码流通过按照编码技术确定的简档(profile)和通过要处理的像素数目确定的级别(level)进行分类,因此,使它适合各种各样的应用。例如,MP@ML(基本简档基本级)是这些类别中实际用于DVB(数字视频广播)和DVD(数字多功能盘)的一种。在sequence_extension(序列_扩展)中描述了简档和级别,以后将参照图5对此加以描述。
对于视频信号在广播电台的生成,规定了4:2:2P(4:2:2简档),其中在提高比特(bit)速率上限的同时,按照与传统基带相似的4:2:2格式处理视频的色差信号。此外,规定HL(高级),以处理下一代的高清晰度视频信号。
图1显示了MPEG2的典型类别和在各类中各种参数的上限值。在图1中,对4:2:2P@MHL(4:2:2简档高级)、4:2:2P@ML(4:2:2简档基本级)、MP@ML(基本简档高级)、MP@ML-1440(基本简档高级-1440)、MP@ML(基本简档基本级)、MP@LL(基本简档低级)和SP@ML(简单简档基本级)显示了比特速率、每行样本数、每帧行数、帧频、和样本处理时间的上限值。
参照图1,4:2:2P@HL的比特速率上限值是300(兆比特/秒),和要处理的像素数目的上限值是62,668,800(样本/秒)。另一方面,MP@ML的比特速率上限值是15(兆比特/秒),和要处理的像素数目的上限值是10,368,000(样本/秒)。也就是说,可以理解,与用于解码MP@ML视频的视频解码器相比,用于解码4:2:2P@HL视频的视频解码器需要对于比特速率来说是它的20倍和对于要处理的像素数目来说大约是它的6倍的处理能力。
图2显示了MPEG2视频比特流的分层结构。
在作为最上层的画面层(picture layer)的开头,描述了sequence_header(序列_标题)。sequence_header定义MPEG比特流序列的首标数据。如果在序列开头的sequence_header后面不是跟着sequence_extension,那么,就把ISO/IEC 11172-2的规定应用于这个比特流。如果在序列开头的sequence_header后面跟着sequence_extension,那么,sequence_extension就直接接在随后生成的所有sequence_header之后。在图2的情况中,sequence_extension直接接在所有sequence_header之后。
sequence_extension定义MPEG比特流的序列层的扩展数据。sequence_extension只直接在sequence_header之后生成,和不应该直接接在sequence_end_code(序列_结束_代码)之前,sequence_end_code处在比特流的末端,以防止在解码之后和在帧重新排序之后任何帧的丢失。如果在比特流中生成sequence_extension,那么,picture_coding_extension(画面_编码_扩展)直接接在每个picture_header(画面_标题)之后。
多个画面包含在GOP(group_of_picture(画面组))中。GOP_header(GOP_标题)定义MPEG比特流的GOP层的首标数据。在这个比特流中,描述由picture_header和picture_coding_extension定义的数据元(dataelement)。一个画面被编码成picture_data(画面_数据),picture_data接在picture_header和picture_coding_extension之后。接在GOP_header之后的第一编码帧是一个编码的I-帧(也就是说,GOP_header的第一画面是一个I-画面)。ITU-T推荐技术标准H.262除了定义sequence_extension和picture_coding_extension之外,还定义了各种各样的扩展。这里将不显示或描述这些各种各样的扩展。
picture_header定义MPEG比特流的画面层的首标数据,和picture_coding_extension定义MPEG比特流的画面层的扩展数据。
picture_data描述与MPEG比特流的薄片层(slice layer)和宏块层(macroblock layer)相关的数据元。如图2所示,picture_data划分成多个薄片,每个薄片划分成多个宏块(macro_block)。
macro_block(宏_块)由16×16个像素数据组成。薄片的第一宏块和最后宏块不是空(skip)宏块(不含数据的宏块)。一个宏块由16×16个像素数据组成。每个块由8×8个像素数据组成。在可以使用帧DCT(离散余弦变换)编码和半帧DCT编码的帧画面中,宏块的内部结构在帧编码与半帧编码之间是不同的。
宏块包括亮度成分和色差成分的一个段。术语“宏块”指的是信息源、解码数据、和相应编码数据成分的任何一种。宏块具有三种色差格式4:2:0、4:2:2和4:4:4。宏块中各块的次序因色差格式而异。
图3A显示了4:2:0格式的情况中的宏块。在4:2:0格式中,宏块由4个亮度(Y)块和2个色差(Cb、Cr)块(即每种1个块)组成。图3B显示了4:2:2格式的情况中的宏块。在4:2:2格式中,宏块由4个亮度(Y)块和4个色差(Cb、Cr)块(即每种2个块)组成。
对于每个宏块,预测编码处理可以通过几种方法进行。预测模式大体上分成半帧预测和帧预测两种类型。在半帧预测中,使用以前解码的一个或多个半帧的数据,和对每个半帧进行预测。在帧预测中,利用以前解码的一个或多个帧进行帧预测。在半帧画面中,所有预测都是半帧预测。另一方面,在帧画面中,预测可以通过半帧预测或帧预测来进行,并且为每个宏块选择预测方法。在宏块的预测编码处理中,除了半帧预测和帧预测之外,还可以利用两种类型的特殊预测模式,即,16×8运动补偿和双素数。
运动矢量信息和其它外围信息与每个宏块的预测误差信号一起编码。在编码运动矢量过程中,利用可变长度码编码的最后一个运动矢量用作预测矢量,并且编码相对于预测矢量的差分矢量。可以为每个画面规划可以显示的矢量的最大长度。适当运动矢量的计算是由编码器完成的。
在picture_data之后,安排sequence_header和sequence_extension。由sequence_header和sequence_extension描述的数据元与由视频流序列开头上的sequence_header和sequence_extension描述的数据元完全相同。在该流中重复描述同一数据的目的是为了避免这样的情况发生,即如果比特流接收设备在数据流的中途部分(例如,与画面层相对应的比特流部分)开始接收,那么,就不能接收到序列层的数据,因此,也就不能解码该流。
在由最后一个sequence_header和sequence_extension定义的数据元之后,即在数据流的末端,描述指示序列结束的32个比特的sequence_end_code。
现在参照图4至12详细描述各个数据元。
图4显示了sequence_header的数据结构。包含在sequence_header中的数据元是sequence_header_code(序列_标题_代码)、horizontal_size_value(水平_尺寸_值)、vertical_size_value(垂直_尺寸_值)、aspect_ratio_information(平面_比率_信息)、frame_rate_code(帧_速率_代码)、bit_rate_value(比特_速率_值)、marker_bit(标记_比特)、vbv_buffer_size_value(vbv_缓冲器_尺寸_值)、contrained_parameter_flag(约束_参数_标志)、load_intra_quantiser_matrix(负载_内部_量化_矩阵)、intra_quantiser_matrix(内部_量化_矩阵)、load_non_intra_quantiser_matrix(负载_非_内部_量化_矩阵)和non_intra_quantiser_matrix(非_内部_量化_矩阵)。
sequence_header_code是表示序列层的起始同步码的数据。horizontal_size_value是表示画面的水平方向中像素数目的低位12个比特的数据。vertical_size_value是表示画面的垂直线数的低位12个比特的数据。aspect_ratio_information是表示像素数目的纵横比或显示屏幕的纵横比的数据。frame_rate_code(帧_速率_代码)是表示画面的显示周期。bit_rate_value(比特_速率_值)是表示用于限制所生成比特的数量的比特速率的低位18个比特的数据。
marker_bit是为了防止起始码模仿而插入的比特数据。vbv_buffer_size_value是表示用于确定虚拟缓冲器VBV(视频缓冲核查器)大小的值的低位10个比特的数据,其中虚拟缓冲器VBV用于控制所生成代码的数量。contrained_parameter_flag是指示每个参数都在某一极限内的数据。load_non_intra_quantiser_matrix是指示存在非内部MB量化矩阵数据的数据。
load_intra_quantiser_matrix是指示存在内部MB量化矩阵数据的数据。intra_quantiser_matrix是指示内部MB量化矩阵的值的数据。non_intra_quantiser_matrix是指示非内部MB量化矩阵的值的数据。
图5显示了sequence_extension的数据结构。sequence_extension包括如下之类的数据元:extension_start_code(扩展_开始_代码)、extension_start_code_identifier(扩展_开始_代码_标识符)、profile_and_level_indication(简档_和_级别_指示)、progressive_sequence(逐行扫描_序列)、chroma_format(色度_格式)、horizontal_size_extension(水平_尺寸_扩展)、vertical_size_extension(垂直_尺寸_扩展)、bit_rate_extension(比特_速率_扩展)、marker_bit、vbv_buffer_size_extension、low_delay(低_延迟)、frame_rate_extension_n(帧_速率_扩展_n)和frame_rate_extension_d(帧_速率_扩展_d)。
extension_start_code是表示扩展数据的起始同步码的数据。extension_start_code_identifier是表示要发送哪个扩展数据的数据。profile_and_level_indication是用于指定视频数据的简档和级别的数据。progressive_sequence是指示顺序扫描视频数据(逐行扫描画面)的数据。chroma_format是用于指定视频数据的色差格式的数据。horizontal_size_extension是加入序列首标的horizontal_size_value中的高位2个比特的数据。vertical_size_extension是加入序列首标的vertical_size_value中的高位2个比特的数据。
bit_rate_extension是加入序列首标的bit_rate_value中的高位12个比特的数据。marker_bit是为了防止起始码模仿而插入的比特数据。vbv_buffer_size_extension是加入序列首标的vbv_buffer_size_value中的高位8个比特的数据。low_delay是指示不包含B-画面的数据。frame_rate_extension_n是用于与序列首标的frame_rate_code结合在一起获取帧速率的数据。和frame_rate_extension_d是用于与序列首标的frame_rate_code结合在一起获取帧速率的数据。
图6显示了GOP_header的数据结构。组成GOP_header的数据元包括group_start_code(组_开始_代码)、time_code(时间_代码)、closed_gop(封闭_gop)和broken_link(中断_链接)。
group_start_code是指示GOP层的起始同步码的数据。time_code是指示GOP的前导画面的时间的时间码。closed_gop是指示可以与其它GOP无关地再现GOP内的画面的标志数据。和broken_link是指示不能为了编辑等而精确地再现GOP中前导B-画面的标志数据。
图7显示了picture_header的数据结构。与picture_header相关的数据元包括picture_start_code(画面_开始_代码)、temporal_reference(暂时_参考)、picture_coding_type(画面编码类型)、vbv_delay(vbv_延迟)、full_pel_forward_vector(全_象素_前向_矢量)、forward_f_code(前向_f_代码)、full_pel_backward_vector(全_象素_反向_矢量)和backward_f_code(反向_f_代码)。
picture_start_code是表示画面层的起始同步码的数据。temporal_reference是指示画面显示次序的和在GOP的前导部分上重置的号码数据。picture_coding_type是指示画面类型的数据。vbv_delay是指示随机访问时虚拟缓冲器的初始状态的数据。full_pel_forward_vector、forward_f_code、full_pel_backward_vector和backward_f_code是不用在MPEG2中的固定数据。
图8显示了picture_coding_extension的数据结构。picture_coding_extension包括如下之类的数据元:extension_start_code(扩展_开始_代码)、extension_start_code_ientifier(扩展_开始_代码_标识符)、f_code[0][0]、f_code[0][1]、f_code[1][0]、f_code[1][1]、intra_dc_precision(内部_dc_精度)、picture_structure(画面_结构)、top_field_first(顶部_半帧_第一)、frame_pred_frame_dct(帧_pred_帧dct)、concealment_motion_vectors(隐匿_运动_矢量)、q_scale_type(q_比例_类型)、intra_vlc_format(内部_vlc_格式)、alternate_scan(交替_扫描)、repeat_first_field(重复_第一_半帧)、chroma_420_type(色度_420_类型)、progressive_frame(逐行扫描_帧)、composite_display_flag(复合_显示_标志)、v_axis(v_轴)、field_sequence(半帧_序列)、sub_carrier(子_载波)、burst_amplitude(字符组_幅度)和sub_carrier_phase(子_载波_相位)。
extension_start_code是指示画面层的扩展数据的开始的起始码。extension_start_code_ientifier是指示要发送哪个扩展数据的代码。f_code[0][0]是表示沿着向前方向的水平运动矢量搜索范围的数据。f_code[0][1]是表示沿着向前方向的垂直运动矢量搜索范围的数据。f_code[1][0]是表示沿着向后方向的水平运动矢量搜索范围的数据。f_code[1][1]是表示沿着向后方向的垂直运动矢量搜索范围的数据。
intra_dc_precision是表示DC系数的精度的数据。通过对表示块中各个像素的亮度和色差信号的矩阵f进行DCT,获得8×8DCT系数矩阵F。在矩阵F左上角上的系数被称为DC系数。DC系数是指示块中平均亮度和平均色差的信号。picture_structure是指示画面结构是帧结构还是半帧结构的数据。在半帧结构的情况中,picture_structure的数据还指示是上半帧,还是下半帧。top_field_first是指示在帧结构的情况中,第一半帧是上半帧,还是下半帧的数据。frame_pred_frame_dct是指示在帧结构的情况中,帧模式DCT的预测只针对帧模式的数据。concealment_motion_vectors是指示把隐匿发送错误的运动矢量附加到内部宏块的数据。
q_scale_type是指示使用线性量化比例,还是使用非线性量化比例的数据。intra_vlc_format是指示对内部宏块是否使用另一个二维VLC(可变长度编码)的数据。alternate_scan是指示要使用有关折线扫描或交替扫描的选择的数据。repeat_first_field是用在2:3下拉中的数据。chroma_420_type是在4:2:0的情况中显示与后面progressive_frame相同的值,否则显示0的数据。progressive_frame是指示画面是逐行扫描的还是隔行半帧的数据。composite_display_flag是指示源信号是否是复合信号的数据。v_axis、field_sequence、sub_carrier、burst_amplitude和sub_carrier_phase是用在源信号是复合信号的时候的数据。
图9显示了picture_data的数据结构。由picture_data()函数定义的数据元是由slice()函数定义的数据元。至少一个由slice()函数定义的数据元被描述在比特流中。
如图10所示,slice()函数是通过如下之类的数据元和macroblock()函数定义的:slice_start_code(薄片_开始_代码)、quantiser_scale_code(量化_比例_代码)、intra_slice_flag(内部_薄片_标志)、intra_slice(内部_薄片)、reserved_bits(保留_比特)、extra_bit_slice(附加_比特_薄片)和extra_information_slice(附加_信息_薄片)。
slice_start_code是指示由slice()函数定义的数据元的开始的起始码。quantiser_scale_code是指示为存在于薄片层上的宏块设置的量化步长的数据。当为每个宏块设置quantiser_scale_code时,优先使用为每个宏块设置的macroblock_quantiser_scale_code的数据。
intra_slice_flag是指示intra_slice和reserved_bits是否存在于比特流中的标志。intra_slice是指示非内部宏块是否存在于薄片层中的数据。当薄片层中宏块之一是非内部宏块时,intra_slice具有“0”值。当薄片层中所有宏块都是非内部宏块时,intra_slice具有“1”值。reserved_bits是其值为“0”的7个比特的数据。extra_bit_slice是指示存在附加信息的标志。当后面接着extra_information_slice时,extra_bit_slice被设置成“1”。当没有附加信息时,extra_bit_slice被设置成“0”。
在这些数据元的后面,描述了由macroblock()函数定义的数据元。如图11所示,macroblock()函数是描述如macroblock_escape(宏块_退出)、macroblock_address_increment(宏块_地址_增量)、quantiser_scale_code和marker_bit之类的数据元、和由macroblock_modes()(宏块_模式())函数、motion_vectors()(运动_矢量())函数和coded_block_pattern()(编码_块_模型())函数定义的数据元的函数。
macroblock_escape是指示参考宏块与前面宏块之间的水平差是不小于34,还是小于34的固定比特串。当参考宏块与前面宏块之间的水平差不小于34时,把33加入macroblock_address_increment的值中。macroblock_address_increment是指示参考宏块与前面宏块之间的水平差的数据。如果在macroblock_address_increment之前存在一个macroblock_escape,那么,把33加入macroblock_address_increment的值中所得的值是指示参考宏块与前面宏块之间的实际水平差的数据。
quantiser_scale_code是指示为每个宏块设置的量化步长的数据,并且只有当macroblock_quant是“1”时才存在。对于每个薄片层,设置指示薄片层的量化步长的slice_quantiser_scale_code。但是,当为每个参考宏块设置scale_code时,选择这个量化步长。
紧接在macroblock_address_increment之后,描述了由macroblock_modes()函数描述的数据元。如图12所示,macroblock_modes()函数是描述如macroblock_type(宏块_类型)、frame_motion_type(帧_运动_类型)、field_motion_type(半帧_运动_类型)和dct_type(dct_类型)之类的数据元的函数。macroblock_type是指示宏块的编码类型的数据。
当macorblock_motion_forward(宏块_运动_前向)或macorblock_motion_backward(宏块_运动_反向)是“1”时,画面结构是帧结构,和frame_pred_frmae_dct是“0”,表示frame_motion_type的数据元紧接在表示macroblock_type的数据元之后描述。这个frame_pred_frmae_dct是指示frame_motion_type是否存在于比特流中的标志。
frame_motion_type是指示帧中宏块的预测类型的两比特代码。对于具有两个预测矢量的基于半帧的预测类型,frame_motion_type是“00”。对于具有一个预测矢量的基于半帧的预测类型,frame_motion_type是“01”。对于具有一个预测矢量的基于帧的预测类型,frame_motion_type缀是比特串“0000 0000 0000 0000 0000 0001”。起始码值是标识起始码类型的8比特整数。
图13显示了MPEG2的每个起始码的值。许多起始码都由一个起始码值表示。但是,slice_start_code由多个起始码值01-AF表示。这些起始码值表示相对于薄片的垂直位置。通过在起始码前缀之前插入多个“0”比特,以便使起始码前缀的第一位变成字节的第一位,把所有这些起始码调整成基于字节的。
图14是显示遵从传统MP@ML标准的MPEG视频解码器的电路结构的方块图。
MPEG视频解码器包括如下组成单元:由流输入电路11、缓冲器控制电路12、时钟脉冲生成电路13、起始码检测电路14、解码器15、运动补偿电路16和显示输出电路17组成的IC(集成电路)1;和由流缓冲器21和视频缓冲器22组成的和由,例如,DRAM(动态随机存取存储器)构成的缓冲器2。
IC 1的流输入电路11接收高效编码流的输入和把编码流供应给缓冲器控制电路12。缓冲器控制电路12按照时钟脉冲生成电路13供应的基本时钟脉冲,把输入的编码流输入到缓冲器2的流缓冲器21。流缓冲器21具有1,835,008个比特的容量,这是MP@ML解码所需的VBV缓冲大小。在缓冲器控制电路12的控制下,从首先写入的数据中依次读出保存在流缓冲器21中的编码流,并且把它供应给起始码检测电路14。起始码检测电路14从输入流中检测参照图13所述的起始码,把检测到的起始码和输入流输出到解码器15。
解码器15根据MPEG语法,解码输入流。首先,解码器15按照输入的起始码解码画面层的首标参数,然后,根据解码的首标参数把薄片层划分成若干个宏块,接着,解码这些宏块,和把所得的预测矢量和像素输出到运动补偿电路16。
按照MPEG,利用画面的时间冗余获得相邻画面之间的运动补偿差,提高编码效率。在MPEG视频解码器中,对于利用运动补偿的像素,把当前解码像素的运动矢量所指示的参考画面的像素数据加入那个像素中,以便进行运动补偿,和在编码之前把数据解码成画面数据。
如果从解码器15输出的宏块没有正在利用运动补偿,那么,运动补偿1,835,008个比特的容量,这是MP@ML解码所需的VBV缓冲大小。在缓冲器控制电路12的控制下,从首先写入的数据中依次读出保存在流缓冲器21中的编码流,并且把它供应给起始码检测电路14。起始码检测电路14从输入流中检测参照图13所述的起始码,把检测到的起始码和输入流输出到解码器15。
解码器15根据MPEG语法,解码输入流。首先,解码器15按照输入的起始码解码画面层的首标参数,然后,根据解码的首标参数把薄片层划分成若干个宏块,接着,解码这些宏块,和把所得的预测矢量和像素输出到运动补偿电路16。
按照MPEG,利用画面的时间冗余获得相邻画面之间的运动补偿差,提高编码效率。在MPEG视频解码器中,对于利用运动补偿的像素,把当前解码像素的运动矢量所指示的参考画面的像素数据加入那个像素中,以便进行运动补偿,和在编码之前把数据解码成画面数据。
如果从解码器15输出的宏块没有正在利用运动补偿,那么,运动补偿电路16就通过缓冲器控制电路12把像素数据写入缓冲器2的视频缓冲器22中,从而为显示输出做好准备,并且还为像素数据用作另一个画面的参考数据的情况做好准备。
如果从解码器15输出的宏块正在利用运动补偿,那么,运动补偿电路16就按照从解码器15输出的预测矢量,通过缓冲器控制电路12从缓冲器2的视频缓冲器22中读出参考像素数据。然后,运动补偿电路16把读出的参考像素数据加入解码器15供应的像素数据中,从而进行运动补偿。运动补偿电路16通过缓冲器控制电路12把经过运动补偿的像素数据写入缓冲器2的视频缓冲器22中,从而为显示输出做好准备,并且还为像素数据用作另一个画面的参考数据的情况做好准备。
显示输出电路17为输出解码的画面数据生成同步定时信号,然后,根据这个定时,通过缓冲器控制电路12从视频缓冲器22中读出像素数据,和输出解码的视频信号。
正如上面所述的,MPEG2流具有分层结构。即使参照图1所述的简档和级别发生了改变,参照图2所述的、画面层的sequence_header到picture_coding_extension的数据的数据量也不会改变更多。另一方面,薄片层和随后各层的数据的数据量取决于要编码的像素的数目。
参照图1,在HL中的一个画面中要处理的宏块数目大约是在ML中相应
                           发明公开
鉴于现有技术的状况,本发明的目的是利用最新半导体技术,使能够以切实可行的电路规模实时运行的、遵从4:2:2P@HL标准的视频解码器得以实现。
根据本发明的第一解码设备包括:多个解码装置,用于解码编码流;和解码控制装置,用于控制并行运行的多个解码装置。
多个解码装置可以向解码控制装置输出指示解码处理结束的信号,和解码控制装置可以控制输出指示解码处理结束的信号的解码装置,以解码编码流。
解码设备还可以包括:第一缓冲装置,用于缓冲编码流;读取装置,用于从编码流中读出指示包含在编码流中的预定信息单元的开始的起始码,和读出与把起始码保持到第一缓冲装置中的位置相关的位置信息;第二缓冲装置,用于缓冲由读取装置读出的起始码和位置信息;和缓冲控制装置,用于控制第一缓冲装置对编码流的缓冲和第二缓冲装置对起始码和位置信息的缓冲。
编码流可以是由ISO/IEC 13818-2和ITU-T推荐技术标准H.262规定的MPEG2编码流。
解码设备还可以包括:选择装置,用于选择由多个解码装置解码和输出的多个画面数据中的预定画面数据;和运动补偿装置,用于在必要时,接收选择装置选择的画面数据和进行运动补偿。
解码装置可以向选择装置输出指示解码处理已经结束的结束信号。选择装置可以含有存储装置,用于存储与多个解码装置的各自处理状态相对应的值,和当存储装置中的所有值都是第一值时,可以把存储在与输出指示解码处理已经结束的结束信号的解码装置相对应的存储装置中的值,从第一值改变成第二值,然后,选择由存储在存储装置中的相应值是第二值的解码装置解码的画面数据之一,和把存储在与解码所选画面数据的解码装置相对应的存储装置中的值改变成第一值。
解码设备还可以包括:保存装置,用于保存选择装置选择的画面数据或由运动补偿装置进行了运动补偿的画面数据;和保存控制装置,用于控制保存装置对选择装置选择的画面数据或由运动补偿装置进行了运动补偿的画面数据的保存。
保存装置可以分开保存画面数据的亮度成分和色差成分。
解码设备还可以包括:改变装置,用于改变供应给解码装置的编码流的帧的次序。保存装置可以保存比把画面序列中内部编码帧和前向预测编码帧加在一起所得的帧数至少多两个的帧,和改变装置可以改变编码流的帧的次序,以便生成用于编码流的反向再现的预定次序。
解码设备还可以包括:输出装置,用于读出和输出保存装置保存的画面数据。预定次序可以是内部编码帧、前向预测编码帧和双向预测编码帧的次序,和双向预测编码帧内的次序可以是编码次序的反向。输出装置可以依次读出和输出由解码装置解码的和由保存装置保存的双向预测编码帧,和可以定时读出由保存装置保存的内部编码帧或前向预测编码帧,和把内部编码帧或前向预测编码帧插在双向预测编码帧之间的预定位置上,并输出之。
预定次序可以是这样的次序,使解码装置解码的、前画面序列的内部编码帧或前向预测编码帧由保存装置在输出装置输出内部编码帧或前向预测编码帧的时候保存。
解码设备还可以包括:记录装置,用于记录解码编码流的必要信息;和控制装置,用于控制记录装置对信息的记录和信息到解码装置的供应。编码流可以包括该信息,和控制装置可以选择用于解码装置进行解码处理的必要信息和把必要信息供应给解码装置。
由控制装置供应给解码装置的信息可以是与解码装置解码的帧相对应的上层编码参数。
解码设备还可以包括:输出装置,用于读出和输出保存装置保存的画面数据。解码装置可以能够以正常再现所需处理速率N倍的速度解码编码流。输出装置可以能够输出保存装置保存的画面数据当中N个帧每一个的画面数据。
解码设备还可以包括:第一保存装置,用于保存编码流;读取装置,用于从编码流中读出指示包含在编码流中的预定信息单元的开始的起始码,和读出与把起始码保持到第一保存装置中的位置相关的位置信息;第二保存装置,用于保存由读取装置读出的起始码和位置信息;第一保存控制装置,用于控制第一保存装置对编码流的保存和第二保存装置对起始码和位置信息的保存;选择装置,用于选择由多个解码装置解码和输出的多个画面数据中的预定画面数据;运动补偿装置,用于在必要时,接收选择装置选择的画面数据的输入和进行运动补偿;第三保存装置,用于保存选择装置选择的画面数据或由运动补偿装置进行了运动补偿的画面数据;和第二保存控制装置,用于与第一保存控制装置无关地控制第三保存装置对选择装置选择的画面数据或由运动补偿装置进行了运动补偿的画面数据的保存。
根据本发明的第一解码方法包括:多个解码步骤,解码编码流;和解码控制步骤,控制并行进行的多个解码步骤的处理。
根据本发明记录在第一记录介质中的程序包括:多个解码步骤,解码编码流;和解码控制步骤,控制并行进行的多个解码步骤的处理。
根据本发明第一程序包括:多个解码步骤,解码编码流;和解码控制步骤,控制并行进行的多个解码步骤的处理。
根据本发明的第二解码设备包括:多个薄片解码器,用于解码编码流;和薄片解码器控制装置,用于控制并行运行的多个薄片解码器。
根据本发明的第二解码方法包括:解码控制步骤,控制用于解码编码流的多个薄片解码器的解码;和薄片解码器控制步骤,控制并行进行的解码控制步骤。
根据本发明记录在第二记录介质中的程序包括:解码控制步骤,控制用于解码编码流的多个薄片解码器的解码;和薄片解码器控制步骤,控制并行进行的解码控制步骤。
根据本发明的第二程序包括:解码控制步骤,控制用于解码编码流的多个薄片解码器的解码;和薄片解码器控制步骤,控制并行进行的解码控制步骤。
根据本发明的第三解码设备包括:多个薄片解码器,用于为组成源编码流的画面的每个薄片解码源编码流;和控制装置,用于监视多个薄片解码器的解码状态和控制多个薄片解码器,其中控制装置把薄片分配给多个薄片解码器,以便与包含在画面中的薄片的次序无关地实现由薄片解码器进行的画面的最快解码处理。
根据本发明的第三解码方法包括:解码处理控制步骤,控制多个薄片解码器为组成源编码流的画面的每个薄片进行的源编码流解码处理;和控制步骤,监视多个薄片解码器的解码状态和控制多个薄片解码器,其中在控制步骤的处理过程中,把薄片分配给多个薄片解码器,以便与包含在画面中的薄根据本发明的第二程序包括:解码控制步骤,控制用于解码编码流的多个薄片解码器的解码;和薄片解码器控制步骤,控制并行进行的解码控制步骤。
根据本发明的第三解码设备包括:多个薄片解码器,用于为组成源编码流的画面的每个薄片解码源编码流;和控制装置,用于监视多个薄片解码器的解码状态和控制多个薄片解码器,其中控制装置把薄片分配给多个薄片解码器,以便与包含在画面中的薄片的次序无关地实现由薄片解码器进行的画面的最快解码处理。
根据本发明的第三解码方法包括:解码处理控制步骤,控制多个薄片解码器为组成源编码流的画面的每个薄片进行的源编码流解码处理;和控制步骤,监视多个薄片解码器的解码状态和控制多个薄片解码器,其中在控制步骤的处理过程中,把薄片分配给多个薄片解码器,以便与包含在画面中的薄片的次序无关地实现由薄片解码器进行的最快解码处理。
根据本发明的第三程序包括:解码处理控制步骤,控制多个薄片解码器为组成源编码流的画面的每个薄片进行的源编码流解码处理;和控制步骤,监视多个薄片解码器的解码状态和控制多个薄片解码器,其中在控制步骤的处理过程中,把薄片分配给多个薄片解码器,以便与包含在画面中的薄片的次序无关地实现由薄片解码器进行的最快解码处理。
根据本发明的第四解码设备包括:多个薄片解码器,用于为组成源编码流的画面的每个薄片解码源编码流;和控制装置,用于监视多个薄片解码器的解码状态和控制多个薄片解码器,其中控制装置把要解码的薄片与包含在画面中的薄片的次序无关地分配给多个薄片解码器当中,已经结束解码的薄片解码器。
根据本发明的第四解码方法包括:解码处理控制步骤,控制多个薄片解码器为组成源编码流的画面的每个薄片进行的源编码流解码处理;和控制步骤,监视多个薄片解码器的解码状态和控制多个薄片解码器,其中在控制步骤的处理过程中,把要解码的薄片与包含在画面中的薄片的次序无关地分配给多个薄片解码器当中,通过解码处理控制步骤的处理已经结束解码处理的薄片解码器。
根据本发明的第四程序包括:解码处理控制步骤,控制多个薄片解码器为组成源编码流的画面的每个薄片进行的源编码流解码处理;和控制步骤,监视多个薄片解码器的解码状态和控制多个薄片解码器,其中在控制步骤的处理过程中,把要解码的薄片与包含在画面中的薄片的次序无关地分配给多个薄片解码器当中,通过解码处理控制步骤的处理已经结束解码处理的薄片解码器。
在第一解码设备、解码方法和程序中,编码流得到解码和要并行进行的解码处理得到控制。
在第二解码设备、解码方法和程序中,编码流由多个薄片解码器解码和多个薄片解码器的解码处理并行地进行。
在第三解码设备、解码方法和程序中,为组成源编码流的画面的每个薄片解码源编码流。多个薄片解码器的解码状态得到监视和多个薄片解码器得到控制。薄片被分配给多个薄片解码器,以便与包含在画面中的薄片的次序无关地实现由薄片解码器进行的最快解码处理。
在第四解码设备、解码方法和程序中,为组成源编码流的画面的每个薄片解码源编码流。多个薄片解码器的解码状态得到监视和多个薄片解码器得到控制。要解码的薄片与包含在画面中的薄片的次序无关地被分配给多个薄片解码器当中,已经结束解码的薄片解码器。
                         附图简述
图1显示了各个参数根据MPEG2中的简档和级别的上限值;
图2显示了MPEG2比特流的分层结构;
图3A和3B显示了宏块层;
图4显示了sequence_header的数据结构;
图5显示了sequence_extension的数据结构;
图6显示了GOP_header的数据结构;
图7显示了picture_header的数据结构;
图8显示了picture_coding_extension的数据结构;
图9显示了picture_data的数据结构;
图10显示了slice(薄片)的数据结构;
图11显示了macroblock(宏块)的数据结构;
图12显示了macroblock_modes的数据结构;
图13显示了起始码;
图23显示了在沿着向前方向再现MPEG编码流的情况下的解码处理;和
图24显示了在沿着相反(reverse)方向再现MPEG编码流的情况下的解码处理。
                     实现本发明的最佳方式
现在参照附图描述本发明的优选实施例。
图15是显示根据本发明的MPEG视频解码器的电路结构的方块图。
图15所示的MPEG视频解码器包括下列组成单元:由流输入电路41、起始码检测电路42、流缓冲器控制电路43、时钟脉冲生成电路44、画面解码器45、薄片解码器控制电路46、薄片解码器47至49、运动补偿电路50、亮度缓冲器控制电路51、色差缓冲器控制电路52和显示输出电路53组成的IC 31;由流缓冲器61和起始码缓冲器62组成的和,例如,由DRAM构成的缓冲器32;由亮度缓冲器71和色差缓冲器72组成的和,例如,由DRAM构成的视频缓冲器33;控制器34;和驱动器35。
流输入电路41接收高效编码流的输入和把编码流供应给起始码检测电路42。起始码检测电路42把输入的编码流供应给流缓冲器控制电路43。起始码检测电路42还检测如参照图13所述的起始码,然后,根据检测的起始码,生成起始码信息,起始码信息包括起始码的类型和指示把起始码写到流缓冲器61的位置的写指针,并且把起始码信息供应给流缓冲器控制电路43。
时钟脉冲生成电路44生成基本时钟脉冲,这个基本时钟脉冲是参照图14所述的时钟脉冲生成电路13的基本时钟脉冲的两倍,并且把基本时钟脉冲供应给流缓冲器控制电路43。流缓冲器控制电路43按照时钟脉冲生成电路44供应的基本时钟脉冲,把输入的编码流写入缓冲器32的流缓冲器61中,和把输入的起始码信息写入缓冲器32的起始码缓冲器62中。
在MPEG视频解码器可以沿着向前方向再现4:2:2P@HL的MPEG编码流的情况中,流缓冲器61至少具有47,185,920个比特的容量,这是解码4:2:2P@HL所需的VBV缓冲器大小。在MPEG视频解码器可以进行反向再现的情况中,流缓冲器61至少具有记录两个GOP的数据的容量。
画面解码器45通过流缓冲器控制电路43,从起始码缓冲器62中读出起始码信息。例如,当开始解码时,由于从参照图2所述的sequence_header43。
时钟脉冲生成电路44生成基本时钟脉冲,这个基本时钟脉冲是参照图14所述的时钟脉冲生成电路13的基本时钟脉冲的两倍,并且把基本时钟脉冲供应给流缓冲器控制电路43。流缓冲器控制电路43按照时钟脉冲生成电路44供应的基本时钟脉冲,把输入的编码流写入缓冲器32的流缓冲器61中,和把输入的起始码信息写入缓冲器32的起始码缓冲器62中。
在MPEG视频解码器可以沿着向前方向再现4:2:2P@HL的MPEG编码流的情况中,流缓冲器61至少具有47,185,920个比特的容量,这是解码4:2:2P@HL所需的VBV缓冲器大小。在MPEG视频解码器可以进行反向再现的情况中,流缓冲器61至少具有记录两个GOP的数据的容量。
画面解码器45通过流缓冲器控制电路43,从起始码缓冲器62中读出起始码信息。例如,当开始解码时,由于从参照图2所述的sequence_header开始,画面解码器45从起始码缓冲器62中读出作为参照图4所述的起始码的、与sequence_header_code相对应的写指针,和根据写指针,从流缓冲器61中读出和解码sequence_header。随后,与sequence_header的读取相似,画面解码器45从流缓冲器61中读出和解码sequence_extension、GOP_header、picture_coding_extension等。
在画面解码器45从起始码缓冲器62中读出第一slice_start_code的那一时刻,提供解码画面的所有必要参数。画面解码器45把解码画面层的参数供应给薄片解码器控制电路46。
薄片解码器控制电路46接收画面层的参数的输入,和通过流缓冲器控制电路43,从起始码缓冲器62中读出相应薄片的起始码信息。薄片解码器控制电路46还含有寄存器,用于指示包含在要由薄片解码器47至49之一解码的编码流中的薄片的序号,并且把画面层的参数和包含在起始码信息中的薄片的写指针供应给薄片解码器47至49之一。以后将参照图16和17描述薄片解码器控制电路46从薄片解码器47至49中选择进行解码的薄片解码器的处理。
薄片解码器47由宏块检测电路81、矢量解码电路82、去量化电路83和逆DCT电路84组成。薄片解码器47根据薄片解码器控制电路46输入的薄片的写指针,通过流缓冲器控制电路43,从流缓冲器61中读出相应的薄片。然后,薄片解码器47按照薄片解码器控制电路46输入的画面层的参数,解码读出的薄片,把解码数据输出到运动补偿电路50。
宏块检测电路81分离薄片层的宏块,解码每个宏块的参数,把每个宏块的预测矢量和可变长度编码预测模式供应给矢量解码电路82,和把可变长度编码系数数据供应给去量化电路83。矢量解码电路82解码每个宏块的预测矢量和可变长度编码预测模式,从而恢复预测矢量。去量化电路83解码可变长度编码系数数据,和把解码的系数数据供应给逆DCT电路84。逆DCT电路84对解码的系数数据进行逆DCT,从而在编码之前恢复原始的像素数据。
薄片解码器47请求运动补偿电路50对解码的宏块进行运动补偿(即,把图15中REQ所示的信号设置为1)。薄片解码器47从运动补偿电路50接收指示进行运动补偿的请求已被接受的信号(即,图15中ACK所示的信号),和把解码的预测矢量和解码的像素供应给运动补偿电路50。在接收了ACK信号的输入和把解码的预测矢量和解码的像素供应给运动补偿电路50之后,薄片解码器47把REQ信号从1改变成0。然后,在下一个输入宏块的解码已结束的那一时刻,薄片解码器47把REQ信号从0改变成1。
从薄片解码器48的宏块检测电路85到逆DCT电路88的电路和从薄片解码器49的宏块检测电路89到逆DCT电路92的电路,进行与从薄片解码器47的宏块检测电路81到逆DCT电路84的电路所进行的处理相似的处理,因此,不再对它们作详细描述。
运动补偿电路50含有三个寄存器Reg_REQ_A、Reg_REQ_B和Reg_REQ_C,用于指示薄片解码器47至49输入的数据的运动补偿是否结束。运动补偿电路50参照这些寄存器的值,适当地选择薄片解码器47至49之一,然后,接受运动补偿执行请求(即,对REQ信号输出ACK信号,和接收预测矢量和像素的输入),和进行运动补偿处理。在这种情况中,对薄片解码器47至49中任何一个在预定时间REQ信号为1的薄片解码器的运动补偿,对于薄片解码器47至49的每一个都结束之后,运动补偿电路50才接受下一个运动补偿请求。例如,即使薄片解码器47连续发出运动补偿请求,在对薄片解码器48和薄片解码器49的运动补偿结束之前,运动补偿电路50也不能接受来自薄片解码器47的第二运动补偿请求。以后将参照图18和19描述运动补偿电路50选择薄片解码器47至49之一,对所选薄片解码器的输出进行运动补偿的处理。
当从薄片解码器47至49之一输入的宏块没有正在利用运动补偿时,如果像素数据是亮度数据,运动补偿电路50就通过亮度缓冲器控制电路51,把像素数据写入视频缓冲器33的亮度缓冲器71中,和如果像素数据是色差数据,运动补偿电路50就通过色差缓冲器控制电路52,把像素数据写入视频缓冲器33的色差缓冲器72中。从而,运动补偿电路50为显示输出做好准备,并且还为像素数据用作另一个画面的参考数据的情况做好准备。
当从薄片解码器47至49之一输出的宏块正在利用运动补偿时,如果像素数据是亮度数据,运动补偿电路50就按照薄片解码器47至49的相应一个输入的预测矢量,通过亮度缓冲器控制电路51,从亮度缓冲器71中读出参考像素数据,和如果像素数据是色差数据,运动补偿电路50就通过色差缓冲器控制电路52,从色差缓冲器72中读出参考像素数据。然后,运动补偿电路50把读出的参考像素数据与薄片解码器47至49的相应一个供应的像素数据相加,从而进行运动补偿。
如果像素数据是亮度数据,运动补偿电路50就通过亮度缓冲器控制电路51,把进行了运动补偿的像素数据写入亮度缓冲器71中。如果像素数据是色差数据,运动补偿电路50就通过色差缓冲器控制电路52,把进行了运动补偿的像素数据写入色差缓冲器72中。从而,运动补偿电路50为显示输出做好准备,并且还为像素数据用作另一个画面的参考数据的情况做好准备。
显示输出电路53生成用于输出解码画面数据的同步定时信号,然后,按照定时,通过亮度缓冲器控制电路51,从亮度缓冲器71中读出亮度数据,和通过色差缓冲器控制电路52,从色差缓冲器72中读出色差数据。显示输出电路52由此输出作为解码视频信号的数据。
驱动器35与控制器34相连接,和如果必要的话,驱动器35把数据发送到装载在上面的磁盘101、光盘102、磁光盘103和半导体存储器104上,和从这些介质接收数据。控制器34控制如上所述的IC 31和驱动器35的操作。例如,控制器34可以按照记录在装载在驱动器上的磁盘101、光盘102、磁光盘103和半导体存储器104上的程序,使IC 31进行处理。
现在参照图16的流程图描述薄片解码器控制电路46的处理。
在步骤S1,薄片解码器控制电路46把寄存器的值设置成N=1,N指示要在编码流中处理的薄片的序号。在步骤S2,薄片解码器控制电路46确定薄片解码器47是否正在处理。
如果在步骤S2确定为薄片解码器47没有正在处理,那么,薄片解码器控制电路46就在步骤S3,把包含在起始码信息中的画面层的参数和薄片N的写指针供应给薄片解码器47,使薄片解码器47解码薄片N。然后,处理转到步骤S8。
如果在步骤S2确定为薄片解码器47正在处理,那么,薄片解码器控制电路46就在步骤S4,确定薄片解码器48是否正在处理。如果在步骤S4确定为薄片解码器48没有正在处理,那么,薄片解码器控制电路46就在步骤S5,把包含在起始码信息中的画面层的参数和薄片N的写指针供应给薄片解码器48,使薄片解码器48解码薄片N。然后,处理转到步骤S8。
如果在步骤S4确定为薄片解码器48正在处理,那么,薄片解码器控制电路46就在步骤S6,确定薄片解码器49是否正在处理。如果在步骤S6确定为薄片解码器49正在处理,那么,处理返回到步骤S2,重复随后的处理。
如果在步骤S6确定为薄片解码器49没有正在处理,那么,薄片解码器控制电路46就在步骤S7,把包含在起始码信息中的画面层的参数和薄片N的写指针供应给薄片解码器49,使薄片解码器49解码薄片N。然后,处理转到步骤S8。
在步骤S8,薄片解码器控制电路46把寄存器的值设置成N=N+1,N指示要在编码流中处理的薄片的序号。在步骤S9,薄片解码器控制电路46确定所有薄片的解码是否都已结束。如果在步骤S9确定为所有薄片的解码还没有结束,那么,处理返回到步骤S2,重复随后的处理。如果在步骤S9确定为所有薄片的解码都已经结束,那么,处理结束。
图17显示了参照图16所述的、薄片解码器控制电路46进行的处理的特定示例。如上所述,画面层的数据由画面解码器45解码,和把画面层的参数供应给薄片解码器控制电路46。在这种情况中,在参照图16所述的步骤S1,薄片解码器控制电路46把寄存器的值设置成N=1。在步骤S2,确定薄片解码器47没有正在处理。因此,在步骤S3,薄片解码器控制电路46把包含在起始码信息中的画面层的参数和薄片1的写指针供应给薄片解码器47,使薄片解码器47解码薄片N(此处N=1)。在步骤S8,薄片解码器控制电路46把寄存器的值设置成N=N+1。在步骤S9,确定所有薄片的解码还没有结束。因此,处理返回到步骤S2。
在步骤S2,确定薄片解码器47正在处理。在步骤S4,确定薄片解码器48没有正在处理。因此,在步骤S5,薄片解码器控制电路46把画面层的参数和薄片2的写指针供应给薄片解码器48,使薄片解码器48解码薄片N(此处N=2)。在步骤S8,薄片解码器控制电路46把寄存器的值设置成N=N+1。在步骤S9,确定所有薄片的解码还没有结束。因此,处理返回到步骤S2。
在步骤S2,确定薄片解码器47正在处理,和在步骤S4,确定薄片解码器48正在处理。在步骤S6,确定薄片解码器49没有正在处理。因此,在步骤S7,薄片解码器控制电路46把画面层的参数和薄片3的写指针供应给薄片解码器49,使薄片解码器49解码薄片N(此处N=3)。在步骤S8,薄片解码器控制电路46把寄存器的值设置成N=N+1。在步骤S9,确定所有薄片的解码还没有结束。因此,处理返回到步骤S2。
在进行了输入薄片的解码处理之后,薄片解码器47至49向薄片解码器控制电路46输出指示解码处理已经完成的信号。也就是说,在从薄片解码器47至49之一输入指示薄片的解码处理已经完成的信号之前,所有薄片解码器47至48都正在处理,因此,重复步骤S2、S4和S6的处理。当薄片解码器48在图17中A所示的定时,向薄片解码器控制电路46输出指示解码处理已经完成的信号时,在步骤S4确定薄片解码器48没有正在处理。因此,在步骤S5,薄片解码器控制电路46把薄片4的写指针供应给薄片解码器48,使薄片解码器48解码薄片N(此处N=4)。在步骤S8,薄片解码器控制电路46把寄存器的值设置成N=N+1。在步骤S9,确定所有薄片的解码还没有结束。因此,处理返回到步骤S2。
薄片解码器控制电路46重复步骤S2、S4和S6的处理,直到从薄片解码器47至49之一接收到指示解码处理已经完成的信号的下一个输入为止。在图17中,由于薄片解码器控制电路46在B所示的定时,从薄片解码器49接收到指示解码薄片3已经结束的信号的输入,因此,在步骤S6确定薄片解码器49没有正在处理。在步骤S7,薄片解码器控制电路46把薄片5的写指针供应给薄片解码器49,使薄片解码器49解码薄片N(此处N=5)。在步骤S8,薄片解码器控制电路46把寄存器的值设置成N=N+1。在步骤S9,确定所有薄片的解码还没有结束。因此,处理返回到步骤S2。重复相似的处理,直到最后个薄片的解码结束为止。
由于薄片解码器控制电路46参照薄片解码器47至49的处理状态,为解码处理分配薄片,因此,可以有效地使用多个解码器。
现在参照图18的流程图,描述运动补偿电路50进行的薄片解码器的判优处理。
在步骤S21,运动补偿电路50初始化内部寄存器Reg_REQ_A、Reg_REQ_B和Reg_REQ_C。也就是说,设置Reg_REQ_A=0、Reg_REQ_B=0和Reg_REQ_C=0。
在步骤S22,运动补偿电路50确定所有寄存器值是否都是0。如果在步骤S22确定并非所有寄存器值都是0(即,至少一个寄存器值是1),处理转到步骤S24。
如果在步骤S22确定所有寄存器值都是0,运动补偿电路50就在步骤S23,根据薄片解码器47至49输入的REQ信号,更新寄存器值。具体地说,当REQ信号是从薄片解码器47中输出的时,设置Reg_REQ_A=1。当REQ信号是从薄片解码器48中输出的时,设置Reg_REQ_B=1。当REQ信号是从薄片解码器49中输出的时,设置Reg_REQ_C=1。然后,处理转到步骤S24。
在步骤S24,运动补偿电路50确定Reg_REQ_A是否是1。如果在步骤S24确定为Reg_REQ_A是1,运动补偿电路50就在步骤S25,把ACK信号发送到薄片解码器47,并设置Reg_REQ_A=0。薄片解码器47向运动补偿电路50输出矢量解码电路82解码的预测矢量和逆DCT电路84进行了逆DCT的像素。然后,处理转到步骤S30。
如果在步骤S24确定Reg_REQ_A不是1,运动补偿电路50就在步骤S26确定Reg_REQ_B是否是1。如果在步骤S26确定Reg_REQ_B是1,运动补偿电路50就在步骤S27,把ACK信号发送到薄片解码器48,并设置Reg_REQ_B=0。薄片解码器48向运动补偿电路50输出矢量解码电路86解码的预测矢量和逆DCT电路88进行了逆DCT的像素。然后,处理转到步骤S30。
如果在步骤S26确定Reg_REQ_B不是1,运动补偿电路50就在步骤S28确定Reg_REQ_C是否是1。如果在步骤S28确定为Reg_REQ_C不是1,处理就返回到步骤S22,重复随后的处理。
如果在步骤S28确定为Reg_REQ_C是1,运动补偿电路50就在步骤S29,把ACK信号发送到薄片解码器49,并设置Reg_REQ_C=0。薄片解码器49向运动补偿电路50输出矢量解码电路90解码的预测矢量和逆DCT电路92进行了逆DCT的像素。然后,处理转到步骤S30。
在步骤S30,运动补偿电路50确定从薄片解码器47至49之一输入的宏块是否正在利用运动补偿。
如果在步骤S30确定宏块正在利用运动补偿,运动补偿电路50就在步骤S31,对输入的宏块进行运动补偿处理。具体地说,按照从薄片解码器47至49的相应一个输出的预测矢量,如果像素数据是亮度数据,运动补偿电路50就通过亮度缓冲器控制电路51,从亮度缓冲器71中读出参考像素,和如果像素数据是色差数据,运动补偿电路50就通过色差缓冲器控制电路52,从色差缓冲器72中读出参考像素数据。然后,运动补偿电路50把读出的参考像素数据加入薄片解码器47至49的相应一个供应的像素数据中,从而进行运动补偿。
如果像素数据是亮度数据,运动补偿电路50就通过亮度缓冲器控制电路51,把经运动补偿的像素数据写入亮度缓冲器71中。如果像素数据是色差数据,运动补偿电路50就通过色差缓冲器控制电路52,把经运动补偿的像素数据写入色差缓冲器72中。从而,运动补偿电路50为显示输出做好准备,并且还为像素数据用作另一个画面的参考数据的情况做好准备。然后,处理返回到步骤S22,重复随后的处理。
如果在步骤S30确定宏块没有正在利用运动补偿,运动补偿电路50就在步骤S32,如果像素数据是亮度数据,就通过亮度缓冲器控制电路51,把像素数据写入亮度缓冲器71中,和如果像素数据是色差数据,就通过色差缓冲器控制电路52,把像素数据写入色差缓冲器72中。从而,运动补偿电路50为显示输出做好准备,并且还为像素数据用作另一个画面的参考数据的情况做好准备。然后,处理返回到步骤S22,重复随后的处理。
图19显示了参照图18所述的、运动补偿电路进行的解码器的判优处理的特例。
如果在图19所示的定时C,通过图18的步骤S22的处理确定运动补偿电路50的所有寄存器值都是0,那么,所有薄片解码器47至49正在输出REQ信号。因此,通过步骤S23的处理,把寄存器值更新为Reg_REQ_A=1、Reg_REQ_B=1和Reg_REQ_C=1。由于通过步骤S24的处理确定为Reg_REQ_A是1,运动补偿电路50就在步骤S25,把ACK信号输出到薄片解码器47,和设置Reg_REQ_A=0。然后,运动补偿电路50从薄片解码器47接收预测矢量和像素的输入,和进行运动补偿1。
在运动补偿1结束之后,也就是说,在图19所示的定时D,处理返回到步骤S22。在图19所示的定时D,REG信号正在从薄片解码器47输出。但是,由于寄存器值是Reg_REQ_A=0、Reg_REQ_B=1和Reg_REQ_C=1,和在步骤S22确定为并非所有寄存器值都是0,因此,处理转到步骤S24,不更新寄存器值。
在步骤S24确定为Reg_REQ_A是0和在步骤S26确定为Reg_REQ_B是1。因此,运动补偿电路50在步骤S27,把ACK信号输出到薄片解码器48,和设置Reg_REQ_B=0。然后,运动补偿电路50从薄片解码器48接收预测矢量和像素的输入,和进行运动补偿2。
在运动补偿2结束之后,也就是说,在图19所示的定时E,处理返回到步骤S22。在图19所示的定时E,REG信号正在从薄片解码器47输出。但是,由于寄存器值是Reg_REQ_A=0、Reg_REQ_B=0和Reg_REQ_C=1,和在步骤S22确定为并非所有寄存器值都是0,因此,与定时D的情况相似,不更新寄存器值。
在步骤S24确定为Reg_REQ_A是0和在步骤S26确定为Reg_REQ_B是0。在步骤S28确定为Reg_REQ_C是1。因此,运动补偿电路50在步骤S29,把ACK信号输出到薄片解码器49,和设置Reg_REQ_C=0。然后,运动补偿电路50从薄片解码器49接收预测矢量和像素的输入,和进行运动补偿3。
在运动补偿3结束之后,也就是说,在图19所示的定时F,处理返回到步骤S22。在定时F,由于寄存器值是Reg_REQ_A=0、Reg_REQ_B=0和Reg_REQ_C=0,因此,在步骤S23,把寄存器值更新成Reg_REQ_A=1、Reg_REQ_B=1和Reg_REQ_C=0。
然后,在步骤S24确定Reg_REQ_A是1,并通过相似的处理进行运动补偿4。
通过重复这样的处理,在在薄片解码器47至49中进行判优的同时,运动补偿电路50进行运动补偿。
如上所述,在图15的MPEG视频解码器中,由于提供了起始码缓冲器62,从画面解码器45到薄片解码器49的解码器无需等待其它解码器操作的结束,就可以存取流缓冲器61。通过薄片解码器控制电路46中的处理,可以使薄片解码器47至49同时运行。此外,运动补偿电路50可以适当地选择一个薄片解码器,存取彼此分开的亮度缓冲器71和色差缓冲器72,和进行运动补偿。因此,在图15的MPEG视频解码器中,提高了解码处理性能和对缓冲器的存取性能,并使4:2:2P@HL的解码处理成为可能。
现在描述在解码和再现输入到图15的MPEG视频解码器的MPEG流的情况下的帧缓冲。
图20是显示含有图15所示的MPEG视频解码器的再现设备的结构的方块图。与图15的那些部件相对应的部件用相同的标号表示,并且对它们不再作更进一步描述。
MPEG编码流记录在硬盘112上。伺服电路111在控制器34的控制下,驱动硬盘112,由未示出的数据读取单元读出的MPEG流输入到IC 31的再现电路121。
再现电路121包括如参照图15所述的、从流输入电路41到时钟脉冲生成电路44的电路。在前向再现中,再现电路121按输入次序把MPEG流作为再现流输出到MPEG视频解码器122。在沿着向后方向的再现(反向再现)中,再现电路122利用流缓冲器61,以适合于反向再现的次序重新排列输入的MPEG编码流,然后,把重新排列的MPEG编码流作为再现流输出到MPEG视频解码器122。
MPEG视频解码器122包括如参照图15所述的、从画面解码器45到显示输出电路53的电路。通过在运动补偿电路50上的处理,MPEG视频解码器122在必要的时候,读出存储在视频缓冲器33中的解码帧作为参考画面,然后,进行运动补偿,按照上述方法解码输入再现流的每个画面(帧),并把每个解码画面存储在视频缓冲器33中。此外,通过在显示输出电路53上的处理,MPEG视频解码器122依次读出存储在视频缓冲器33中的帧,输出帧和在未示出的显示单元或显示设备上显示帧。
在本例中,存储在硬盘112上的MPEG编码流被解码、输出和显示。在含有图15所示的MPEG视频解码器的再现设备或记录/再现设备中,即使与图20所示的结构有所不同(例如,MPEG视频解码器122具有与流缓冲器61相似保存编码流的功能和与再现电路121相似重新排列帧的功能的结构),输入的MPEG编码流基本上也通过相同的处理来解码和输出。
当然,除了硬盘112之外,光盘、磁盘、磁光盘、半导体存储器和磁带之类的其它各种记录介质也可以用作存储编码流的存储介质。
现在将参照图21和22描述MPEG预测编码画面的画面结构。从每个GOP的开头算起的第三帧用作I_画面,随后每隔两个帧出现的帧用作P-画面。其它帧用作B-画面(M=15、N=3)。把作为为了编码需要反向预测的B-画面的帧B10和帧B11临时保存在缓冲器中,和首先编码作为I-画面的帧I12。
在帧I12的编码结束之后,利用帧I12作为参考画面,编码临时保存在缓冲器中的帧B10和帧B11。应该参照过去和将来的参考画面编码B-画面。但是,关于帧B10和帧B11之类,没有可供前向预测参考的画面的B-画面,建立封闭的GOP标志,和不利用前向预测,而只利用反向预测进行编码。
把进行帧B10和帧B11的编码的同时输入的帧B13和帧B14存储在视频缓冲器中。参照作为前向预测画面的帧I12,编码紧接在帧B13和帧B14之后输入的帧P15。参照作为前向预测画面的帧I12和作为反向预测画面的帧P15,编码从视频缓冲器读出的帧B13和帧B14。
然后,把帧B16和帧B17存储在视频缓冲器中。类似地,参照作为前向预测画面的以前编码的I-画面或P-画面,编码P-画面,并把B-画面临时存储在视频缓冲器中,然后参照作为前向预测画面或反向预测画面的以前编码的I-画面或P-画面,编码B-画面。
按照这种方式,画面数据在多个GOP上被编码,形成编码流。在图20的硬盘112上,记录着通过上述方法编码的MPEG编码流。
当对普通画面进行DCT变换时,在编码时通过DCT变换获得的DCT系数矩阵具有这样的特征,对于低频成分具有较大的值,而对于高频成分则具有较小的值。利用这个特征压缩信息称为量化(把每个DCT系数除以某一个量化单位,对小数位进行四舍五入)。把量化单位设置成8×8的量化表,为低频成分设置较小的值,和为高频成分设置较大的值。量化的结果是,除了左上角的分量之外,矩阵的其它分量几乎都变成0。把与量化矩阵相对应的量化ID加入压缩数据中,并且将其发送到解码器侧。也就是说,图20的MPEG视频解码器122参照来自量化ID的量化矩阵,解码MPEG编码流。
参照图23,现在描述在沿着向前方向从硬盘112中再现视频数据的情况下,把包括从GOP1到GOP3的多个GOP的编码流输入到再现电路121,由MPEG视频解码器122解码它们的处理。图23显示了利用帧间预测进行MPEG解码的例子。
为了前向再现从硬盘112输入到再现电路121的MPEG视频流输出到MPEG矩阵具有这样的特征,对于低频成分具有较大的值,而对于高频成分则具有较小的值。利用这个特征压缩信息称为量化(把每个DCT系数除以某一个量化单比特,对小数比特进行四舍五入)。把量化单比特设置成8×8的量化表,为低频成分设置较小的值,和为高频成分设置较大的值。量化的结果是,除了左上角的分量之外,矩阵的其它分量几乎都变成0。把与量化矩阵相对应的量化ID加入压缩数据中,并且将其发送到解码器侧。也就是说,图20的MPEG视频解码器122参照来自量化ID的量化矩阵,解码MPEG编码流。
参照图23,现在描述在沿着向前方向从硬盘112中再现视频数据的情况下,把包括从GOP1到GOP3的多个GOP的编码流输入到再现电路121,由MPEG视频解码器122解码它们的处理。图23显示了利用帧间预测进行MPEG解码的例子。
为了前向再现从硬盘112输入到再现电路121的MPEG视频流输出到MPEG视频解码器122,作为与通过在再现电路121上的处理的输入次序相同画面排列的再现流。在MPEG视频解码器122上,按照如参照图15至19所述的过程解码再现流,然后将其存储在视频缓冲器33中。
第一输入帧112是I-画面,因此,不需要供解码用的参考画面。视频缓冲器33中存储MPEG视频解码器122解码的帧112的缓冲区被称为缓冲器1。
接着输入到MPEG视频解码器122的帧B10和B11是B-画面。但是,由于建立了封闭的GOP标志,因此,参照作为反向参考画面存储在视频缓冲器33的缓冲器1中的帧I12解码这些帧B10和B11,然后,将其存储在视频缓冲器33中。存储解码帧B10的缓冲区被称为缓冲器3。
通过在显示输出电路53上的处理,帧B10从视频缓冲器33的缓冲器3读出,输出到未示出的显示单元,和显示在该显示单元上。接着的解码帧B11存储在视频缓冲器33的缓冲器3中(即,在缓冲器3中重写),然后被读出,输出到未示出的显示单元,和显示在该显示单元上。
此后,帧I12从缓冲器1中读出,输出到未示出的显示单元,和显示在该显示单元上。同时,参照作为参考画面存储在视频缓冲器33的缓冲器1中的帧I12解码下一帧P15,然后,将帧P15存储在视频缓冲器33的缓冲器2中。
如果没有为帧B10和帧B11建立封闭的GOP标志,那么,因为没有可以用作前向参考画面的画面,所以不能解码帧B10和帧B11。在这样的情况中,首先从显示输出电路53输出帧I12,并且显示它。
参照作为前向参考画面存储在视频缓冲器33的缓冲器1中的帧I12和参照作为反向参考画面存储在视频缓冲器33的缓冲器2中的帧P15解码下一输入帧B13,然后,将其存储缓冲器3中。在从视频缓冲器33的缓冲器3读出帧B13和通过显示输出电路53对其进行输出显示处理的同时,参照作为前向参考画面存储在视频缓冲器33的缓冲器1中的帧I12和参照作为反向参考画面存储在视频缓冲器33的缓冲器2中的帧P15解码下一输入帧B14,然后,将其存储缓冲器3中。通过在显示输出电路53的处理,从视频缓冲器33的缓冲器3读出帧B14,并输出和显示该帧。
参照作为前向参考画面存储在缓冲器2中的帧P15解码下一输入帧P18。在帧B14的解码结束之后,存储在缓冲器1中的帧I12不再用作参考画面,因此,把解码帧P18存储在视频缓冲器33的缓冲器1中。然后,在把帧P18存储在缓冲器1中的时候,从缓冲器2中读出帧P15,输出和显示它。
类似地,依次解码GOP1的随后各帧,然后,将其存储在缓冲器1至3中,和依次读出和显示它。
当输入GOP2的前导帧I22时,作为I-画面的帧I22不需要供解码用的参考画面,因此,按原样解码它,并把它存储在缓冲器2中。同时,读出GOP1的帧P1e,输出和显示它。
参照作为前向参考画面存储在缓冲器1中的帧P1e和参照作为反向参考画面存储缓冲器2中的帧I22解码随后输入的帧B20和帧B21,然后,将它们依次存储缓冲器3中,读出和显示它们。按照相同的方式,参照作为前向参考画面的、前面GOP的P-画面解码在GOP的前导端上的B-画面。
类似地,依次解码GOP2的随后各帧,然后,将它们存储在缓冲器1至3中,依次读出和显示它们。然后,类似地,依次解码GOP3和随后各GOP的帧,然后,将它们存储在缓冲器1至3中,依次读出和显示它们。
在上述处理过程中,MPEG视频解码器122参照量化ID进行解码处理。
现在描述在参照图20所述的再现设备中进行反向再现的情况。
在常规反向再现中,由于只取出和解码I-画面,因此,只能获得不那么自然的再现画面,其中只显示15个帧中的1个帧。
另一方面,图20的再现电路121根据记录在起始码缓冲器62中的起始码,在改变输入到流缓冲器61的GOP的各帧的次序的同时,可以生成再现流,和MPEG视频解码器122可以解码所有的15个帧。
但是,对于反向再现,再现电路121根据记录在起始码缓冲器62中的起始码,在把输入到流缓冲器61的GOP的各帧的次序简单地反向的同时,生成再现流是不够的。
例如,在对参照图22所述的MPEG编码流的GOP2和GOP1进行反向再现的情况中,要输出和显示的第一帧必须是帧P2e。帧P2e的解码需要参照作为前向参考画面的帧P2b,和帧P2b的解码需要参照作为前向参考画面的帧P28。由于帧P28的解码也需要前向参考画面,因此,必须解码GOP2的所有I-画面和P-画面,以便解码、输出和显示帧P2e。
为了解码在反向再现中要首先显示的帧P2e,还可以考虑另一种方法,在这种方法中,解码整个GOP2,将其存储在视频缓冲器33中,然后,从最后一个帧开始依次读出。但是,在这样的情况中,视频缓冲器33需要存储一个GOP(15个帧)的缓冲区。
此外,利用这种方法,尽管可以解码和再现从帧P2e到帧I22的各帧,但是,GOP2的前两个帧的解码,即,在反向再现中要最后显示的帧B21和B20的解码需要GOP1的帧P1e作为前向参考画面。为了解码GOP1的帧P1e,需要GOP1的所有I-画面和P-画面。
也就是说,利用这种方法,在视频缓冲器33需要存储15个帧的缓冲区的同时,仍然不能进行一个GOP的所有帧的反向再现。
在如参照图22所述,利用M=15和N=3进行编码的情况中,一个GOP总共包含5个I-画面和P-画面的帧。
因此,通过使流缓冲器61能够存储至少2个GOP的帧,和使再现电路121生成的再现流的帧的次序能够根据MPEG视频解码器122为反向再现进行的解码次序而确定,和把至少由“包含在一个GOP中的I-画面和P-画面的总数+2”所表示的数目的帧存储到视频缓冲器33中,就可以沿着向后方向连续地再现包括各个GOP上的帧的所有帧。
参照图24,现在描述在从硬盘112反向再现GOP1到GOP3的画面数据的情况中的解码处理。图24显示了MPEG反向再现解码器的示范性操作。
控制器34控制伺服电路111,首先把GOP3的MPEG编码流,然后把GOP2的MPEG编码流从硬盘112输出到再现电路121。再现电路121首先把GOP3的MPEG编码流,然后把GOP2的MPEG编码流存储在流缓冲器61中。
再现电路121从流缓冲器61中读出GOP3的前导帧I32,和向MPEG视频解码器122输出前导帧I32,作为再现流的第一帧。由于帧I32是I-画面,不需要供解码用的参考画面,因此,帧I32经MPEG视频解码器122解码,存储在视频缓冲器33中。视频缓冲器33中存储解码帧I32的区域被称为缓冲器1。
根据在首标中描述的参数和参照图2所述的扩展数据解码各个帧的数据。如上所述,各个参数由MPEG视频解码器122的画面解码器45解码,然后将其供应给薄片解码器控制电路46,供解码处理用。在解码GOP1的情况中,利用在seuqence_header、sequence_extension和GOP1的GOP_header中描述的上层的参数(例如,如上所述的量化矩阵)进行解码。在解码GOP2的情况中,利用在seuqence_header、sequence_extension和GOP2的GOP_header中描述的上层的参数进行解码。在解码GOP3的情况中,利用在seuqence_header、sequence_extension和GOP3的GOP_header中描述的上层的参数进行解码。
但是,在反向再现中,由于不对每个GOP进行解码,因此,当在各个GOP中首先解码I-画面时,MPEG视频解码器122把上层参数供应给控制器34。控制器34把供应的上层参数保存在它未示出的内部存储器中。
控制器34监视MPEG视频解码器122进行的解码处理,然后,从内部存储器中读出与正在处理的帧相对应的上层参数,和把上层参数供应给MPEG视频解码器122,以便实现适当的解码处理。
在图24中,在再现流的帧数上面提供的数字是量化ID。与参照图23所述的前向解码类似,根据量化ID解码再现流的每个帧。
在本实施例中,控制器34含有保存上层编码参数用的内部存储器。但是,也可以配备与控制器34相连接的存储器,以便控制器34可以不含内部存储器,把上层编码参数保存在外部存储器中,和在必要的时候,可以读出上层编码参数,把它供应给MPEG视频解码器122。
也可以在MPEG视频解码器122中配备保存GOP的上层编码参数的存储器。此外,如果已知诸如上层编码参数之类的编码条件,可以事先把编码条件设置在MPEG视频解码器122中。或者,如果已知在各个GOP中上层编码参数是不变的,那么,在操作开头,就可以一次性地把编码条件设置在MPEG视频解码器122中,而不是由控制器34为每个帧读出每个GOP的上层编码参数和把这些参数设置在PMEG视频解码器122中。
再现电路121从流缓冲器61中读出帧P35,向MPEG视频解码器122输出帧P35,作为再现流的下一帧。帧P35由MPEG视频解码器122,参照作为前向预测画面记录在缓冲器1中的帧I32进行解码,然后,存储在视频缓冲器33中。视频缓冲器33中存储解码帧P35的区域被称为缓冲器2。
再现电路121从流缓冲器61中依次读出帧P38、帧P3b和帧P3e,输出这些帧作为再现流。这些P-画面的每一个都由MPEG视频解码器122,参照作为前向预测画面的前解码P-画面进行解码,然后,存储在视频缓冲器33中。视频缓冲器33中存储这些解码P-画面帧的区域被称为缓冲器3至5。
此时,GOP3的所有I-画面和P-画面都已经得到解码,并存储在视频缓冲器33中。
随后,再现电路121从流缓冲器61中读出GOP2的帧I22,输出帧I22作为再现流。作为I-画面的帧I22由MPGE视频解码器122不需要任何参考画面地进行解码,然后存储在视频缓冲器33中。存储解码帧I22的区域被称为缓冲器6。在把帧I22存储在缓冲器6中的时候,从缓冲器5中读出GOP3的帧P3e,然后把它作为反向再现的第一画面输出和显示。
再现电路121从流缓冲器61中读出GOP3的帧B3d,即,GOP3的B-画面当中,要沿着向后方向再现的帧,并输出帧B3d作为再现流。帧B3d由MPEG视频解码器122,参照缓冲器4中作为前向参考画面的帧P3b和缓冲器5中作为反向参考画面的帧P3e进行解码,然后,存储在视频缓冲器33中。存储解码帧B3d的区域被称为缓冲器7。
在进行帧/半帧变换和与输出视频同步定时匹配之后,输出和显示存储在缓冲器7中的帧B3d。在显示帧B3d的同时,再现电路121从流缓冲器61中读出GOP3的帧B3c,并向MPEG视频解码器122输出帧B3c。与帧B3d类似,帧B3c也由MPEG视频解码器122,参照缓冲器4中作为前向参考画面的帧P3b和缓冲器5中作为反向参考画面的帧P3e进行解码。
以前解码和输出的帧B3d是B-画面,因此,不作为解码另一个帧用的参考。因此,解码的帧P3c取代帧P3d存储在缓冲器7中(即,被重写在缓冲器7中)。在进行帧/半帧变换和与输出视频同步定时匹配之后,输出和显示帧B3c。
再现电路121从流缓冲器61中读出GOP2的帧B25,并向MPEG视频解码器122输出帧P25。GOP2的帧P25由MPEG视频解码器122,参照缓冲器6中作为前向参考画面的帧I22进行解码。由于存储在缓冲器5中的帧P3e不再用作参考画面,因此,解码的帧p25取代帧P3e存储在缓冲器5中。然后,在把帧P25存储在缓冲器5中的同时,读出和显示缓冲器4中的帧P3b。
再现电路121从流缓冲器61中读出GOP3的帧B3a,输出帧B3a作为再现流。帧B3a由MPEG视频解码器122,参照缓冲器3中作为前向参考画面的帧P38和缓冲器4中作为反向参考画面的帧P3b进行解码,然后,存储在视频缓冲器33的缓冲器7中。
在进行帧/半帧变换和与输出视频同步定时匹配之后,输出和显示存储在缓冲器7中的帧B3a。在显示帧B3a的同时,再现电路121从流缓冲器61中读出GOP3的帧B39,并向MPEG视频解码器122输出帧B39。与帧B3a类似,帧B39也由MPEG视频解码器122,参照缓冲器3中作为前向参考画面的帧P39和缓冲器4中作为向后参考画面的帧P3b进行解码。然后,帧B39取代帧B3a存储在缓冲器7中。在进行帧/半帧变换和与输出视频同步定时匹配之后,输出和显示帧B39。
再现电路121从流缓冲器61中读出GOP2的帧P28,并向MPEG视频解码器122输出帧P28。GOP2帧P28由MPEG视频解码器122,参照缓冲器5中作为前向参考画面的帧P25进行解码。由于存储在缓冲器4中的帧P3b不再用作参考画面,因此,解码的帧P28取代帧P3b存储在缓冲器4中。在把帧P28存储在缓冲器4中的同时,读出和显示缓冲器3中的帧P38。
按照这种方式,在解码GOP2的I-画面或P-画面和将它们存储在缓冲器33中的时候,从缓冲器33中读出GOP3的I-画面或P-画面,并且显示它们。
类似地,如图24所示,按照B37、B36、P2b、B34、B33和P2e的次序解码GOP3的其余B-画面和GOP2的其余P-画面。将解码的B-画面存储在缓冲器7中,依次读出和显示它们。将解码的GOP2的P-画面依次存储在缓冲器1至6中存储着完成参考的帧的那一个缓冲器中。同时,读出已经存储在缓冲器1至6之一中的GOP3的P-画面,将其在B-画面之间输出,以便遵从反向再现的次序。
再现电路121从流缓冲器61中读出GOP3的帧B31,再读出帧B30,把这些帧输出到MPEG视频解码器122。由于解码帧B31和帧B30所需的、作为前向参考画面的帧P2e和作为反向参考画面的帧I32分别存储在缓冲器2和缓冲器1中,因此,GOP3的前两个帧,即要在反向再现中显示的最后两个帧也可以由MPEG视频解码器122解码。
把解码的帧B31和帧B30依次存储在缓冲器7中。在进行帧/半帧变换和与输出视频同步定时匹配之后,输出和显示帧B39。
从流缓冲器61读出GOP3的所有帧之后,控制器34控制伺服电路111,从硬盘112中读出GOP1,将其供应给再现电路121。再现电路121进行预定处理,取出GOP1的起始码,将其记录到起始码缓冲器62。再现电路121还把GOP1的编码流供应给流缓冲器61,将其存储在流缓冲器61中。
然后,再现电路121从流缓冲器61中读出GOP1的帧I12,向MPEG视频解码器122输出帧I12,作为再现流。帧I12是I-画面,因此,由MPEG视频解码器122不参照任何其它画面地进行解码。把帧I12输出到缓冲器1,取代帧I32存储在缓冲器1中,帧I32在随后的处理中不再用作参考画面。此时,从缓冲器2中读出和输出帧P2e,开始GOP2的反向再现显示。
然后,再现电路121从流缓冲器61中读出GOP2的帧B2d,即要在GOP2的B-画面的反向再现中再现的第一帧,输出帧B2d作为再现流。B2d由MPEG视频解码器122,参照缓冲器3中作为前向参考画面的帧P2b和参照缓冲器2中作为向后参考画面的帧P2e进行解码,然后,存储在视频缓冲器33中。解码的帧B2d存储在缓冲器7中。在进行帧/半帧变换和与输出视频同步定时匹配之后,输出和显示帧B2d。
类似地,按照B2c、P15、B2a、B29、P18、B27、B26、P1b、B24、B23、P1e、P21和P20的次序解码GOP2的其余B-画面和GOP1的其余P-画面。将这些画面依次存储在缓冲器1至7中存储着完成参考的帧的那一个缓冲器中,然后,按照反向再现的次序读出和显示它们。最后,解码GOP1的其余B-画面,把它们依次存储在缓冲器7中,并且尽管没有示出,但按照反向再现的次序读出和显示它们。
在参照图24所述的处理中,以与正常再现相同的速度进行反向再现。但是,如果再现电路121以正常再现速度1/3的速度把再现流输出到MPEG视频解码器122,和MPEG视频解码器122在通常处理3个帧的处理时间内只对1个帧进行解码处理,和使未示出的显示单元或显示设备在通常显示3个帧的显示时间内显示同一帧,那么,通过相似的处理,使以1/3倍(tuple)速进行前向再现和反向再现成为可能。
另外,如果显示输出电路53重复地输出相同的帧,进行所谓的静止再现是可能的。通过改变从再现电路121到MPEG视频解码器122的数据输出速率和MPEG视频解码器122的处理速度,由类似的处理进行以1/n倍(tuple)速的前向再现和反向再现是可能的。
也就是说,在根据本发明的再现设备中,在以正常速度的反向再现、以1/n倍速的反向再现、静止再现、以1/n倍速的前向再现和以正常速度的前向再现中,可以以任意速度进行平滑特技再现。
由于MPEG视频解码器122是遵从4:2:2P@HL标准的解码器,因此,它具有以6倍速解码MPEG2 MP@ML编码流的能力。因此,如果再现电路121以正常再现速度6倍的速度把从MPEG2 MP@ML编码流生成的再现流输出到MPEG视频解码器122,那么,通过使未示出的显示单元或显示设备每次显示提取的6个帧的类似处理,使以6倍速进行前向再现和反向再现成为可能。
也就是说,在根据本发明的再现设备中,在以6倍速的反向再现、以正常速度的反向再现、以1/n倍速的反向再现、静止再现、以1/n倍速的前向再现、以正常速度的前向再现和以6倍速的前向再现中,可以以任意速度进行MPEG2 MP@ML编码流的平滑特技再现。
如果MPEG视频解码器122具有以N倍速进行解码的能力,那么,在根据本发明的再现设备中,在以N倍速的反向再现、以正常速度的反向再现、以1/n倍速的反向再现、静止再现、以1/n倍速的前向再现、以正常速度的前向再现和以N倍速的前向再现中,可以以任意速度进行平滑特技再现。
因此,例如,在视频信号的核实过程中,视频材料的内容可以容易地得到核实。在提高视频材料核实工作和视频信号编辑工作的效率的过程中,可以适当地检索编辑点,从而可以提高编辑工作的效率。
上述一系列处理可以由软件来执行。把构成这样的软件的程序从记录介质安装到合并在专用硬件中的计算机中,或安装到通过安装各种程序可以实现各种功能的通用个人计算机中。
如图15或图20所示,这种记录介质由程序记录在上面的、可进行分发把程序与计算机分离地提供给用户的插件式(package)介质构成,譬如,磁盘101(包括软盘)、光盘102(包括CD-ROM(压缩盘只读存储器)和DVD(数字多功能盘))、磁光盘103(包括MD(小型盘))、或半导体存储器104。
在本说明书中,描述记录在记录介质上的程序的步骤不仅包括按所述次序的时间顺序进行的处理,而且还包括没有必要按时间顺序进行的,而是并行地或单独地进行的处理。
根据本发明的第一解码设备、解码方法和程序,解码编码流和并行地进行解码处理。因此,可以实现能够在切实可行电路规模上进行实时操作的和遵从4:2:2P@HL标准的视频解码器。
根据本发明的第二解码设备、解码方法和程序,多个薄片解码器解码编码流和多个薄片解码器并行地进行解码处理。因此,可以实现能够在切实可行电路规模上进行实时操作的和遵从4:2:2P@HL标准的视频解码器。
根据本发明的第三解码设备、解码方法和程序,为组成源编码流的画面的每个薄片解码源编码流,和在控制多个薄片解码器的同时,监视多个薄片解码器的解码状态,因此,把薄片分配给多个薄片解码器,以便与包含在画面中的薄片的次序无关地实现由薄片解码器进行的最快解码处理。因此,可以实现能够在切实可行电路规模上进行实时操作的和遵从4:2:2P@HL标准的视频解码器。
根据本发明的第四解码设备、解码方法和程序,为组成源编码流的画面的每个薄片解码源编码流,和在控制多个薄片解码器的同时,监视多个薄片解码器的解码状态,因此,把要解码的薄片与包含在画面中的薄片的次序无关地分配给多个薄片解码器当中,已经结束解码的薄片解码器。因此,可以实现能够在切实可行电路规模上进行实时操作的和遵从4:2:2P@HL标准的视频解码器。

Claims (20)

1.一种用于解码编码流的解码设备,所述设备包括:
多个解码装置,用于解码编码流;
解码控制装置,用于控制并行运行的多个解码装置;
第一缓冲装置,用于缓冲编码流;
读取装置,用于从编码流中读出指示包含在编码流中的预定信息单元的开始的起始码,和读出与把起始码保持到第一缓冲装置中的位置相关的位置信息;
第二缓冲装置,用于缓冲由读取装置读出的起始码和位置信息;和
缓冲控制装置,用于控制第一缓冲装置对编码流的缓冲和第二缓冲装置对起始码和位置信息的缓冲。
2.根据权利要求1所述的解码设备,其中,多个解码装置向解码控制装置输出指示解码处理结束的信号,和
解码控制装置控制输出指示解码处理结束的信号的解码装置,以解码编码流。
3.根据权利要求1所述的解码设备,其中,编码流是由ISO/IEC 13818-2和ITU-T推荐技术标准H.262规定的MPEG2编码流。
4.根据权利要求1所述的解码设备,还包括:
选择装置,用于选择由多个解码装置解码和输出的多个画面数据中的预定画面数据;和
运动补偿装置,用于在必要时,接收选择装置选择的画面数据并进行运动补偿。
5.根据权利要求4所述的解码设备,其中,解码装置向选择装置输出指示解码处理已经结束的结束信号,和
其中选择装置含有存储装置,用于存储与多个解码装置的各自处理状态相对应的值,
当存储装置中的所有值都是第一值时,把存储在与输出指示解码处理已经结束的结束信号的解码装置相对应的存储装置中的值,从第一值改变成第二值,
选择由存储在存储装置中的相应值是第二值的解码装置解码的画面数据之一,和
把存储在与解码所选画面数据的解码装置相对应的存储装置中的值改变成第一值。
6.根据权利要求4所述的解码设备,还包括:
保存装置,用于保存选择装置选择的画面数据或由运动补偿装置进行了运动补偿的画面数据;和
保存控制装置,用于控制保存装置对选择装置选择的画面数据或由运动补偿装置进行了运动补偿的画面数据的保存。
7.根据权利要求6所述的解码设备,其中,保存装置可以分开保存画面数据的亮度成分和色差成分。
8.根据权利要求6所述的解码设备,还包括改变装置,用于改变供应给解码装置的编码流的帧的次序,
其中保存装置保存比把画面序列中内部编码帧和前向预测编码帧加在一起所得的帧数至少多两个的帧,和
改变装置可以改变编码流的帧的次序,以便生成用于编码流的反向再现的预定次序。
9.根据权利要求8所述的解码设备,还包括输出装置,用于读出和输出保存装置保存的画面数据,
其中预定次序是内部编码帧、前向预测编码帧和双向预测编码帧的次序,和双向预测编码帧内的次序可以是编码次序的反向,和
输出装置依次读出和输出由解码装置解码的和由保存装置保存的双向预测编码帧,和定时读出由保存装置保存的内部编码帧或前向预测编码帧,和把内部编码帧或前向预测编码帧插在双向预测编码帧之间的预定位置上,并输出它。
10.根据权利要求9所述的解码设备,其中预定次序可以是这样的次序,使解码装置解码的、前画面序列的内部编码帧或前向预测编码帧由保存装置在输出装置输出内部编码帧或前向预测编码帧的时候保存。
11.根据权利要求8所述的解码设备,还包括:
记录装置,用于记录解码编码流的必要信息;和
控制装置,用于控制记录装置对信息的记录和信息到解码装置的供应;
其中编码流包括该信息,和
控制装置选择解码装置进行解码处理的必要信息和把必要信息供应给解码装置。
12.根据权利要求11所述的解码设备,其中由控制装置供应给解码装置的信息是与解码装置解码的帧相对应的上层编码参数。
13.根据权利要求6所述的解码设备,还包括输出装置,用于读出和输出保存装置保存的画面数据,
其中解码装置能够以正常再现所需处理速率N倍的速度解码编码流,和
输出装置能够输出保存装置保存的画面数据当中N个帧每一个的画面数据。
14.一种用于解码编码流的解码方法,所述方法包括:
多个解码步骤,解码编码流;和
解码控制步骤,控制并行进行的多个解码步骤的处理,其中所述方法还包括:
第一缓冲步骤,用于缓冲编码流;
读取步骤,用于从编码流中读出指示包含在编码流中的预定信息单元的开始的起始码,和读出与在第一缓冲步骤中保持起始码的位置相关的位置信息;
第二缓冲步骤,用于缓冲在读取步骤读出的起始码和位置信息;和
缓冲控制步骤,用于控制第一缓冲步骤对编码流的缓冲和第二缓冲步骤对起始码和位置信息的缓冲。
15.一种用于解码编码流的解码设备,所述设备包括:
多个薄片解码器,用于解码编码流;
薄片解码器控制装置,用于控制并行运行的多个薄片解码器;
第一缓冲装置,用于缓冲编码流;
读取装置,用于从编码流中读出指示包含在编码流中的预定信息单元的开始的起始码,和读出与把起始码保持到第一缓冲装置中的位置相关的位置信息;
第二缓冲装置,用于缓冲由读取装置读出的起始码和位置信息;和
缓冲控制装置,用于控制第一缓冲装置对编码流的缓冲和第二缓冲装置对起始码和位置信息的缓冲。
16.一种用于解码编码流的解码方法,所述方法包括:
解码控制步骤,控制用于解码编码流的多个薄片解码器进行的解码;和
薄片解码器控制步骤,控制并行进行的解码控制步骤,其中所述方法还包括:
第一缓冲步骤,用于缓冲编码流;
读取步骤,用于从编码流中读出指示包含在编码流中的预定信息单元的开始的起始码,和读出与在第一缓冲步骤中保持起始码的位置相关的位置信息;
第二缓冲步骤,用于缓冲在读取步骤读出的起始码和位置信息;和
缓冲控制步骤,用于控制第一缓冲步骤对编码流的缓冲和第二缓冲步骤对起始码和位置信息的缓冲。
17.一种用于解码源编码流的解码设备,所述设备包括:
多个薄片解码器,用于为组成源编码流的画面的每个薄片解码源编码流;和
控制装置,用于监视多个薄片解码器的解码状态和控制多个薄片解码器,
其中控制装置把薄片分配给多个薄片解码器,以便与包含在画面中的薄片的次序无关地实现由薄片解码器进行的画面的最快解码处理。
18.一种用于解码源编码流的解码方法,所述方法包括:
解码处理控制步骤,控制多个薄片解码器为组成源编码流的画面的每个薄片进行的源编码流的解码处理;和
控制步骤,监视多个薄片解码器的解码状态和控制多个薄片解码器,
其中在控制步骤的处理过程中,把薄片分配给多个薄片解码器,以便与包含在画面中的薄片的次序无关地实现由薄片解码器进行的最快解码处理。
19.一种用于解码源编码流的解码设备,所述设备包括:
多个薄片解码器,用于为组成源编码流的画面的每个薄片解码源编码流;和
控制装置,用于监视多个薄片解码器的解码状态和控制多个薄片解码器,
其中控制装置把要解码的薄片与包含在画面中的薄片的次序无关地分配给多个薄片解码器当中,已经结束解码的薄片解码器。
20.一种用于解码源编码流的解码方法,所述方法包括:
解码处理控制步骤,控制多个薄片解码器为组成源编码流的画面的每个薄片进行的源编码流的解码处理;和
控制步骤,监视多个薄片解码器的解码状态和控制多个薄片解码器,
其中在控制步骤的处理过程中,把要解码的薄片与包含在画面中的薄片的次序无关地分配给多个薄片解码器当中,通过解码处理控制步骤的处理已经结束解码处理的薄片解码器。
CNB018009182A 2000-04-14 2001-04-13 解码器、解码方法 Expired - Fee Related CN1223196C (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP112951/00 2000-04-14
JP112951/2000 2000-04-14
JP2000112951 2000-04-14

Publications (2)

Publication Number Publication Date
CN1366776A CN1366776A (zh) 2002-08-28
CN1223196C true CN1223196C (zh) 2005-10-12

Family

ID=18625011

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB018009182A Expired - Fee Related CN1223196C (zh) 2000-04-14 2001-04-13 解码器、解码方法

Country Status (8)

Country Link
US (2) US20020114388A1 (zh)
EP (1) EP1187489B1 (zh)
JP (2) JP5041626B2 (zh)
KR (1) KR100796085B1 (zh)
CN (1) CN1223196C (zh)
CA (1) CA2376871C (zh)
DE (1) DE60130180T2 (zh)
WO (1) WO2001080567A1 (zh)

Families Citing this family (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7292772B2 (en) * 2000-05-29 2007-11-06 Sony Corporation Method and apparatus for decoding and recording medium for a coded video stream
GB2377840A (en) * 2001-07-18 2003-01-22 Sony Uk Ltd Audio/video recording and multiplexing apparatus
WO2003053066A1 (en) 2001-12-17 2003-06-26 Microsoft Corporation Skip macroblock coding
ATE352171T1 (de) * 2002-01-22 2007-02-15 Microsoft Corp Verfahren zum ermöglichen von direktzugriff und spleissen in einem verschlüsselten videostrom
US7003035B2 (en) 2002-01-25 2006-02-21 Microsoft Corporation Video coding methods and apparatuses
US20040001546A1 (en) 2002-06-03 2004-01-01 Alexandros Tourapis Spatiotemporal prediction for bidirectionally predictive (B) pictures and motion vector prediction for multi-picture reference motion compensation
US7280700B2 (en) * 2002-07-05 2007-10-09 Microsoft Corporation Optimization techniques for data compression
US7154952B2 (en) 2002-07-19 2006-12-26 Microsoft Corporation Timestamp-independent motion vector prediction for predictive (P) and bidirectionally predictive (B) pictures
FR2842979B1 (fr) * 2002-07-24 2004-10-08 Thomson Licensing Sa Procede et dispositif de traitement de donnees numeriques
US7606308B2 (en) * 2003-09-07 2009-10-20 Microsoft Corporation Signaling macroblock mode information for macroblocks of interlaced forward-predicted fields
US7724827B2 (en) * 2003-09-07 2010-05-25 Microsoft Corporation Multi-layer run level encoding and decoding
US8064520B2 (en) 2003-09-07 2011-11-22 Microsoft Corporation Advanced bi-directional predictive coding of interlaced video
US7092576B2 (en) * 2003-09-07 2006-08-15 Microsoft Corporation Bitplane coding for macroblock field/frame coding type information
KR101094323B1 (ko) * 2003-09-17 2011-12-19 톰슨 라이센싱 적응 기준 화상 생성
CN101695132B (zh) 2004-01-20 2012-06-27 松下电器产业株式会社 图像编码方法和设备、图像解码方法和设备
PL2384002T3 (pl) 2004-01-30 2016-07-29 Panasonic Ip Corp America Sposób dekodowania ruchomych obrazów przy użyciu dodatkowych macierzy kwantyzacji
EP2373033A3 (en) 2004-01-30 2011-11-30 Panasonic Corporation Picture coding and decoding method, apparatus, and program thereof
ATE515883T1 (de) * 2004-04-28 2011-07-15 Panasonic Corp Stream-erzeugungsvorrichtung, stream- erzeugungsverfahren, codierungsvorrichtung, codierungsverfahren, aufzeichnungsmedium und programm dafür
MXPA06013210A (es) 2004-05-13 2007-02-28 Qualcomm Inc Suministro de informacion en un canal de comunicacion.
CN1306822C (zh) * 2004-07-30 2007-03-21 联合信源数字音视频技术(北京)有限公司 一种基于软硬件协同控制的视频解码器
CN1998242B (zh) * 2004-08-11 2010-07-07 株式会社日立制作所 图像编码装置和图像解码装置
JP4438059B2 (ja) * 2004-08-24 2010-03-24 キヤノン株式会社 画像再生装置及びその制御方法
JP4453518B2 (ja) 2004-10-29 2010-04-21 ソニー株式会社 符号化及び復号装置並びに符号化及び復号方法
CN102270482A (zh) 2005-01-28 2011-12-07 松下电器产业株式会社 记录介质、程序和再现方法
US9077960B2 (en) 2005-08-12 2015-07-07 Microsoft Corporation Non-zero coefficient block pattern coding
JP4182442B2 (ja) * 2006-04-27 2008-11-19 ソニー株式会社 画像データの処理装置、画像データの処理方法、画像データの処理方法のプログラム及び画像データの処理方法のプログラムを記録した記録媒体
US20080253449A1 (en) * 2007-04-13 2008-10-16 Yoji Shimizu Information apparatus and method
US8254455B2 (en) 2007-06-30 2012-08-28 Microsoft Corporation Computing collocated macroblock information for direct mode macroblocks
JP5170708B2 (ja) 2008-01-24 2013-03-27 日本電気株式会社 動画像ストリーム加工方法及び装置、それを用いた動画像再生装置並びに動画像配信装置
US7925774B2 (en) 2008-05-30 2011-04-12 Microsoft Corporation Media streaming using an index file
US8189666B2 (en) 2009-02-02 2012-05-29 Microsoft Corporation Local picture identifier and computation of co-located information
US20120041761A1 (en) * 2009-03-13 2012-02-16 Panasonic Corporation Voice decoding apparatus and voice decoding method
KR20110017303A (ko) * 2009-08-13 2011-02-21 삼성전자주식회사 회전변환을 이용한 영상 부호화, 복호화 방법 및 장치
US10343535B2 (en) 2010-04-08 2019-07-09 Witricity Corporation Wireless power antenna alignment adjustment system for vehicles
US9561730B2 (en) 2010-04-08 2017-02-07 Qualcomm Incorporated Wireless power transmission in electric vehicles
US9060174B2 (en) 2010-12-28 2015-06-16 Fish Dive, Inc. Method and system for selectively breaking prediction in video coding
JP2013168932A (ja) * 2012-01-18 2013-08-29 Jvc Kenwood Corp 画像復号装置、画像復号方法及び画像復号プログラム
WO2013108634A1 (ja) * 2012-01-18 2013-07-25 株式会社Jvcケンウッド 画像符号化装置、画像符号化方法及び画像符号化プログラム、並びに画像復号装置、画像復号方法及び画像復号プログラム
CN110536141B (zh) * 2012-01-20 2021-07-06 索尼公司 有效度图编码的复杂度降低
US10271069B2 (en) 2016-08-31 2019-04-23 Microsoft Technology Licensing, Llc Selective use of start code emulation prevention
JPWO2018142596A1 (ja) * 2017-02-03 2019-02-07 三菱電機株式会社 符号化装置、符号化方法および符号化プログラム
CN116886902A (zh) * 2017-09-26 2023-10-13 松下电器(美国)知识产权公司 解码装置、编码装置、解码方法和编码方法

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5379070A (en) * 1992-10-02 1995-01-03 Zoran Corporation Parallel encoding/decoding of DCT compression/decompression algorithms
US5381145A (en) * 1993-02-10 1995-01-10 Ricoh Corporation Method and apparatus for parallel decoding and encoding of data
JP3871348B2 (ja) * 1993-03-05 2007-01-24 ソニー株式会社 画像信号復号化装置及び画像信号復号化方法
AU5632394A (en) * 1993-03-05 1994-09-08 Sony Corporation Apparatus and method for reproducing a prediction-encoded video signal
CA2145363C (en) * 1994-03-24 1999-07-13 Anthony Mark Jones Ram interface
US5510842A (en) * 1994-05-04 1996-04-23 Matsushita Electric Corporation Of America Parallel architecture for a high definition television video decoder having multiple independent frame memories
JP3250588B2 (ja) * 1994-07-12 2002-01-28 ソニー株式会社 データ再生装置
US5532744A (en) * 1994-08-22 1996-07-02 Philips Electronics North America Corporation Method and apparatus for decoding digital video using parallel processing
JP2863096B2 (ja) * 1994-08-29 1999-03-03 株式会社グラフィックス・コミュニケーション・ラボラトリーズ 並列処理による画像復号装置
US5623311A (en) * 1994-10-28 1997-04-22 Matsushita Electric Corporation Of America MPEG video decoder having a high bandwidth memory
JP3034173B2 (ja) * 1994-10-31 2000-04-17 株式会社グラフィックス・コミュニケーション・ラボラトリーズ 画像信号処理装置
JPH08205142A (ja) * 1994-12-28 1996-08-09 Daewoo Electron Co Ltd ディジタルビデオ信号への符号化/復号化装置
EP0720372A1 (en) * 1994-12-30 1996-07-03 Daewoo Electronics Co., Ltd Apparatus for parallel encoding/decoding of digital video signals
US5959690A (en) * 1996-02-20 1999-09-28 Sas Institute, Inc. Method and apparatus for transitions and other special effects in digital motion video
JPH1056641A (ja) * 1996-08-09 1998-02-24 Sharp Corp Mpegデコーダ
JPH10145237A (ja) * 1996-11-11 1998-05-29 Toshiba Corp 圧縮データ復号装置
JPH10150636A (ja) * 1996-11-19 1998-06-02 Sony Corp 映像信号再生装置及び映像信号の再生方法
JPH10178644A (ja) * 1996-12-18 1998-06-30 Sharp Corp 動画像復号装置
US6201927B1 (en) * 1997-02-18 2001-03-13 Mary Lafuze Comer Trick play reproduction of MPEG encoded signals
JPH10257436A (ja) * 1997-03-10 1998-09-25 Atsushi Matsushita 動画像の自動階層構造化方法及びこれを用いたブラウジング方法
JPH10262215A (ja) * 1997-03-19 1998-09-29 Fujitsu Ltd 動画像復号装置
JP3662129B2 (ja) * 1997-11-11 2005-06-22 松下電器産業株式会社 マルチメディア情報編集装置
JP3961654B2 (ja) * 1997-12-22 2007-08-22 株式会社東芝 画像データ復号化装置及び画像データ復号化方法
JP3093724B2 (ja) * 1998-04-27 2000-10-03 日本電気アイシーマイコンシステム株式会社 動画像データ再生装置及び動画像データの逆再生方法
JPH11341489A (ja) * 1998-05-25 1999-12-10 Sony Corp 画像復号化装置とその方法
EP1040475B1 (en) * 1998-06-05 2004-12-15 Koninklijke Philips Electronics N.V. Recording and reproduction of an information signal in/from a track on a record carrier
JP4427827B2 (ja) * 1998-07-15 2010-03-10 ソニー株式会社 データ処理方法、データ処理装置及び記録媒体

Also Published As

Publication number Publication date
KR20020026184A (ko) 2002-04-06
US20090010334A1 (en) 2009-01-08
EP1187489A1 (en) 2002-03-13
CA2376871C (en) 2012-02-07
CN1366776A (zh) 2002-08-28
EP1187489A4 (en) 2005-12-14
US20020114388A1 (en) 2002-08-22
WO2001080567A1 (en) 2001-10-25
DE60130180D1 (de) 2007-10-11
CA2376871A1 (en) 2001-10-25
JP2001359107A (ja) 2001-12-26
DE60130180T2 (de) 2008-05-15
JP5041626B2 (ja) 2012-10-03
EP1187489B1 (en) 2007-08-29
KR100796085B1 (ko) 2008-01-21
JP2011172243A (ja) 2011-09-01

Similar Documents

Publication Publication Date Title
CN1223196C (zh) 解码器、解码方法
CN1167275C (zh) 图像处理方法
CN1199472C (zh) 对数字编码视频信号进行译码的可变长度译码器
CN1076932C (zh) 图像信号编码和解码的方法与装置
CN1245022C (zh) 数据处理方法/设备和数据再生方法/设备
CN1194550C (zh) 通过直接离散余弦变换映射改变分辨率的设备和方法
CN1183778C (zh) 图象解码装置及记录媒体
CN1950907A (zh) 运动画面流产生装置,运动画面编码装置,运动画面多路复用装置和运动画面解码装置
CN1943246A (zh) 图像解码方法
CN1951113A (zh) 流产生装置、流产生方法、编码装置、编码方法、记录介质及其程序
CN1319996A (zh) 图像编码和解码设备及其方法、图像记录和图像传送设备
CN1909666A (zh) 运动检测装置
CN101052127A (zh) 信息处理装置、信息处理方法、记录介质和程序
CN1104401A (zh) 图像处理设备
CN101036391A (zh) 画面编码装置和画面解码装置
CN1788496A (zh) 图像处理设备和方法、信息处理设备和方法、信息记录设备和方法、信息再现设备和方法、信息存储介质、以及程序
CN1934866A (zh) 视频解码设备
CN1225545A (zh) 移动图像合成系统
CN1691769A (zh) 可变帧速率记录的视频记录设备、复用及画面编码方法
CN1860784A (zh) 记录设备和方法、再现设备和方法、记录介质及程序
CN1474604A (zh) 图像信号传送、编码和解码方法和装置以及光盘记录和再现方法
CN1172537C (zh) 活动图象解码方法、活动图象解码装置及程序记录媒体
CN1249629A (zh) 信息记录系统和信息记录方法
CN1240225C (zh) 图像编码装置以及图像编码方法
CN1747544A (zh) 记录装置、记录方法、再生装置、再生方法、及程序

Legal Events

Date Code Title Description
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C06 Publication
PB01 Publication
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: 20051012

Termination date: 20150413

EXPY Termination of patent right or utility model