背景技术
这一节旨在于提供在权利要求书中记载的本发明的背景或者上下文。这里的描述可以包括能够探求的概念,但是并非必然是先前已经构思或者探求的概念。因此,除非这里另有指明,在这一节中描述的内容不是本申请中的说明书和权利要求书的现有技术,也不因为包含于这一节中而被承认是现有技术。
多媒体应用包括本地回放、流发送或者按需服务、对话服务和广播/多播服务。在多媒体应用中涉及到的技术除了其他技术之外还包括媒体编码、存储和发送。已经为不同技术指定不同标准。
视频编码标准包括ITU-T H.261、ISO/IEC MPEG-1Visual、ITU-TH.262或者ISO/IEC MPEG-2Visual、ITU-T H.263、ISO/IEC MPEG-4Visual和ITU-T H.264(也称为ISO/IEC MPEG-4AVC)。此外,关于新视频编码标准的开发目前正在付之努力。在开发中的一个此类标准是将成为对H.264/AVC标准(H.264/AVC)的可缩放扩展的可缩放视频编码(SVC)标准。另一此类的努力涉及到开发中国视频编码标准。在开发中的另一此类标准是将成为对H.264/AVC的另一扩展的多视图视频编码(MVC)标准。
SVC可以提供可缩放视频位流。在SVC中,可以在多层中对视频序列进行编码,而各层是按某一空间分辨率或者时间分辨率或者按某一质量级或者三者的某种组合对视频序列的一个表示。可以按预期空间分辨率、时间分辨率、某一质量级或者这些分辨率的某种组合对可缩放视频位流的一部分进行提取和解码。可缩放视频位流包含不可缩放基本层和一个或者多个增强层。增强层可以增强由下层或者其部分代表的视频内容的时间分辨率(即帧速率)、空间分辨率或者简单地为质量。在一些情况下,可以在某个位置之后或者甚至在任意位置截取增强层中的数据,而各截取位置可以包括代表越来越增强的视觉质量的附加数据。这样的可缩放性称为细颗粒(颗粒度)可缩放性(FGS)。与FGS对照,由没有提供细颗粒可缩放性的质量增强层提供的可缩放性称为粗颗粒可缩放性(CGS)。基本层也可以被设计成FGS可缩放。SVC是可缩放视频编码的一个例子。在JVT-S202的“Joint Scalable Video Model JSVM-6:Joint Draft 6with proposed changes”(第19届JVT会议,Geneva,Switzerland,2006年4月)中描述了SVC标准的草案。
在多描述编码(MDC)中,将输入媒体序列编码成各自称为描述的多个子流。各描述独立地可解码并且代表某一媒体质量。然而,基于一个或者多个描述的解码,另一描述的附加解码可能实现提高的媒体质量。在Y.Wang、A.Reibman和S.Lin的“Multiple descriptioncoding for Video deliver”(Proceedings of the IEEE、第93卷、第1期、2005年1月)中具体讨论了MDC。
在多视图视频编码中,将各自与视图对应的从不同相机输出的视频序列编码成一个位流。在解码之后,为了显示某一视图,显示属于该视图的解码画面。在JVT-T208的“Joint multiview video model(JMVM 1.0)”(第20届JVT会议,Klagenfurt,Austria,2006年7月)中描述了MVC标准的草案。
H.264/AVC标准及其扩展包括支持通过SEI消息用信号发送补充增强信息(SEI)。SEI消息不是解码过程为了生成输出画面中的正确样本值而需要的。实际上,它们对于其他目的如差错复原和显示而言是有帮助的。H.264/AVC包含用于指定的SEI消息的语法和语义,但是没有定义用于处理接受器中的消息的过程。因而,要求编码器在它们创建SEI消息时遵循H.264/AVC标准,而不需要遵照H.264/AVC标准的解码器以处理SEI消息使得输出顺序一致。在H.264/AVC中包括SEI消息的语法和语义的原因之一在于允许***规范如3GPP多媒体规范和DVB规范相同地解释补充信息并且因此协同工作。旨在于***规范可能需要在编码端和在解码端均使用特定SEI消息,并且可以在***规范中针对应用来指定用于处理接受器中的SEI消息的过程。
在最新SVC规范中用于提供时间可缩放性的机制称为“分级B画面”编码结构。这一特征完全受H.264/AVC支持,并且可以通过使用与子序列有关的SEI消息来执行发信号部分。
在没有参考可缩放扩展附录的情况下描述H.264/AVC中的SEI消息。因而,H.264/AVC编码器和H.264/AVC解码器分别生成和解释如H.264/AVC标准中的消息的语义所描述和暗示的消息,并且不能将消息同样用于用信号发送SVC位流中的基本层之上的画面性质。在各SEI消息的语义中指定H.264/AVC SEI消息有关的访问单元(access unit)和画面。例如,子序列层信息SEI消息中的信息从包含该SEI消息的访问单元直至包含子序列层信息SEI消息的下一访问单元或者如果没有后继子序列层信息SEI消息则直至位流的末尾是有效的。平移-扫描(pan-scan)矩形SEI消息包含指定消息对于哪些画面有效的语法元素(pan_scan_rect_repetition_period)。子序列信息SEI消息包含仅对于包含它的访问单元才有效的数据。
根据H.264/AVC编码标准的访问单元包括零个或者多个SEI消息:一个主要编码画面、零个或者多个冗余编码画面和零个或者多个辅助编码画面。在一些***中,可以通过将访问单元定界符***到位流中来简化对访问单元边界的检测。根据SVC的访问单元包括不是冗余或者辅助编码画面的至少一个编码画面。例如,SVC访问单元可以包括用于基本层的一个主要编码画面以及包括多个增强编码画面。如这里描述的编码画面是指访问单元内具有dependency_id和quality_level的特定值的所有网络抽象层(NAL)单元。
SEI消息的范围有多个不同可能。当SEI消息包含与多个访问单元有关的数据时(例如,当SEI消息以编码视频序列作为它的范围时),它被包含于它适用于的第一访问单元中。包含与诸如场景信息、立体声视频等的单个访问单元有关的数据的SEI消息同样地适用于访问单元中的所有画面。SEI消息可以涉及填充符数据、用户数据等而不与任何特定访问单元关联。
在可缩放视频编码、多描述编码、多视图视频编码和其他视频编码方法中,访问单元可以包括多个编码画面,其中各画面是按某一空间分辨率、时间分辨率、某一质量级、视图、描述或者其某种组合对一个或者多个视频序列的一个表示。例如在某些应用中,可能希望将平移和扫描的方法仅适用于画面尺寸相同的画面,从而它们可以在一类显示器上显示而又可以按照不同画面尺寸预期不同类型的平移和扫描。在这一情形下,将希望具有一种用于指定特定SEI消息适用于访问单元内哪些画面的机制。例如,具有一种用于为访问单元中存在的各画面尺寸指定平移-扫描矩形的机制并且具有与为了代表用于存储器管理控制操作的各种可能而需要的一样多的参考画面标记重复SEI消息将是有帮助的。
最后,根据H.264/AVC标准的SEI消息的语义可以仅适用于访问单元中的AVC画面(例如,SVC中的基本层画面)。在这一情形下,可能希望将SEI消息的范围和语义扩展到访问单元中的任何其他画面。对于如下SEI消息就是这种情况,这些SEI消息表明诸如备用画面、子序列层特征、子序列特征、运动约束的条带组集、膜颗粒特征、解块滤波器显示偏好等项目。例如,子序列层特征和子序列特征中的统计数据的当前语义仅针对H.264/AVC基本层,但是类似统计对于具有dependency_id和quality_level的特定值的画面也可以是有意义的。在另一例子中,表明的备用画面对于基本层是充分的,但是当画面质量在增强层中提高时,增强层中的对应画面作为备用画面可能并不充分。
具体实施方式
本发明的各种实施例提供用于传达与一个访问单元中的编码画面有关的补充增强信息的***和方法。具体而言,一个访问单元中的编码画面可以是可缩放视频的各层的画面、多视图视频的各视图的画面或者多描述编码(MDC)视频中各描述的画面。各种实施例的***和方法涉及到编码位流中的如下指示,该指示表明补充增强信息消息关联的画面。这里的描述是按照使用H264/AVC SEI消息作为例子的各种实施例来提供的,其中添加专门用于这一目的的语法和语义,其中在编码过程中添加适当语法。在后续解码过程中,执行解码的设备识别此信息并且适当地使用它。该***和方法实现将H.264/AVC SEI消息重用于可缩放性层、视图和/或MDC描述,其中在消息的语义中有少量添加。
本发明的各种实施例也提供一种用于传达与编码位流中的可缩放视频、冗余编码画面或者辅助编码画面的各层的画面有关的补充增强信息的***和方法。该***和方法涉及到编码位流中的如下指示,该指示表明补充增强信息消息关联的可缩放视频的画面。
图1示出了用于与本发明一起使用的通用多媒体通信***。如图1中所示,数据源100在模拟、未压缩数字或者压缩数字格式或者这些格式的任何组合中提供源信号。编码器110将源信号编码成编码的媒***流。编码器110可以能够对多个媒体类型如音频和视频进行编码,或者可能需要多个编码器110以对不同媒体类型的源信号进行编码。编码器110也可以获得合成产生的输入如图形和文字,或者它可以能够产生合成媒体的编码位流。在下文中仅考虑一个媒体类型的一个编码的媒***流的处理以简化描述。然而应当注意,实时广播服务通常包括数个流(通常为至少一个音频、视频和文字字幕流)。也应当注意,该***可以包括许多编码器,但是在下文中考虑仅一个编码器110以简化描述而不失一般性。
一些***也包括如下编辑器(图1中未示出),该编辑器接收来自储存器120的作为输入的编码位流并且将编辑操作的结果写回到储存器120。编辑器通过去除和/或***数据元素来修改编码的媒***流。例如,编辑器可以去除其temporal_level高于确定阈值的访问单元。
可以在编码器110中(在视频序列的编码过程中)或者在编辑器中(在编码视频的“编辑”过程中)生成补充信息。例如,可以在编码过程之后生成平移和扫描信息。
编码的媒***流传送到储存器120。储存器120可以包括用以存储编码的媒***流的任何类型的海量存储器。储存器120中的编码的媒***流的格式可以是初等独立(self-contained)位流格式,或者一个或者多个编码的媒***流可以封装到容器文件中。一些***“实况”操作,即省略储存器并且将编码的媒***流从编码器110直接地传送到发送器130。编码的媒***流然后按需传送到也称为服务器的发送器130。在发送中使用的格式可以是初等独立位流格式、分组流格式,或者一个或者多个编码的媒***流可以封装到容器文件中。编码器110、储存器120和发送器130可以驻留于同一物理设备中或者它们可以包含于单独设备中。编码器110和发送器130可以操作实况实时内容,在该情况下编码的媒***流通常不是持久存储的而是在内容编码器110中和/或在发送器130中缓存短暂时间段,以平滑掉处理延迟、传送延迟和编码媒***速率的变化。也有可能将不同通信协议用于编码的媒***流的不同部分。例如,可以使用会话描述协议(SDP)来传达参数集NAL单元,而使用RTP来传达其余数据。
发送器130使用通信协议栈来发送编码的媒***流。该栈可以包括但不限于实时传送协议(RTP)、用户数据报协议(UDP)和网际协议(IP)。当通信协议栈面向分组时,发送器130将编码的媒***流封装成分组。例如,当使用RTP时,发送器130根据RTP净荷格式将编码的媒***流封装成RTP分组。通常,各媒体类型具有专用RTP净荷格式。同样应当注意,***可以包含多个发送器130,但是为求简明,以下描述仅考虑一个发送器130。
发送器130可以或者可以不通过通信网络连接到网关140。网关140可以执行不同类型的功能,比如根据一个通信协议栈的分组流向另一通信协议栈的转译、数据流的合并和拆分以及根据下行链路和/或接收器能力的数据流操控(比如根据主导的下行链路网络条件来控制转发的流的位速率)。网关140的例子包括多点会议控制单元(MCU)、在电路交换与分组交换视频电话之间的网关、蜂窝一键通(PoC)服务器、数字视频广播-手持(DVB-H)***中的IP封装器、或者将广播发送本地转发到归属无线网络的机顶盒。当使用RTP时,网关140称为RTP混合器并且充当RTP连接的端点。
取而代之,编码的媒***流可以通过其他手段从发送器130传送到接收器150,该其他手段比如是在便携海量存储器盘或者设备连接到发送器130时将编码的媒***流存储到盘或者设备、然后将盘或者设备连接到接收器150。
该***包括通常能够接收、解调发送的信号并且将该信号解封装成编码的媒***流的一个或者多个接收器150。解封装可以包括去除接收器不能解码的或者预期不解码的数据。编码的媒***流通常由解码器160进一步处理,该解码器的输出是一个或者多个未压缩媒体流。最后,表现器170可以例如用扬声器或者显示器再现未压缩媒体流。接收器150、解码器160和表现器170可以驻留于同一物理设备中或者它们可以包含于单独设备中。
就位速率、解码复杂性和画面尺寸而言的可缩放性对于异构和易出错的环境而言是合乎需要的性质。希望具有这一性质以便应对如下限制,这些限制比如是对位速率、显示分辨率、网络吞吐量和接收设备中的计算能力的约束。
在H.264/AVC和SVC标准中,用于传输的初等编码单元称为网络抽象层(NAL)单元。在面向分组的通信***和存储格式中,NAL单元分别封装成传送分组和存储单元。在面向流的通信***和存储格式中,通过将开始码居先于各NAL单元,根据编码视频序列的NAL单元来形成独立字节流。各NAL单元包括NAL单元头部和NAL单元净荷。NAL单元头部表明NAL单元的类型和其他信息。NAL单元净荷包括修改成不合开始码的任何仿效的原始字节序列净荷(RBSP)。RBSP的结构由包含RBSP的NAL单元类型确定。SEIRBSP包含一个或者多个SEI消息。各SEI消息包含三个字段:SEI净荷类型、SEI净荷大小和SEI净荷。SEI净荷类型表明SEI净荷的语法和语义。SEI净荷大小表明SEI净荷的大小(按照字节)。SEI净荷包含用于SEI净荷的语法元素。
下面描述根据H.264/AVC的访问单元的元素的结构和顺序。在访问单元定界符之后是SEI、主要编码画面和编码画面(不是主要的)、继而分别是序列的末尾和流的末尾。块编码画面(不是主要的)是指冗余编码画面、辅助编码画面或者增强编码画面的任何组合。除了主要编码画面(用于基本层)可能不存在的事实之外,用于SVC访问单元的结构与上述结构相同。
在可缩放视频编码中,访问单元可以包括多个编码画面,其中各画面是按某一空间分辨率、时间分辨率、按某一质量级或者三者的某种组合对视频序列的一个表示。根据SVC标准的访问单元包括用于基本层的一个主要编码画面并且可以包含多个增强编码画面,但是就dependency_id、temporal_level和quality_level的各唯一组合而言至多一个不是冗余编码画面的增强编码画面。换而言之,dependency_id、temporal_level和quality_level的组合唯一地确定可缩放视频位流中的层。根据SVC标准与可缩放视频位流中的访问单元关联的dependency_id和quality_level的唯一组合唯一地确定访问单元的编码画面。也可以使用画面的其他唯一标识符。这样的唯一标识符可以是多个值的组合,并且可以在编码位流中显式地传达或者使用在位流中传达的任何其他信息来隐式地确定这样的值。
本发明的各种实施例涉及到引入形式为新SEI消息的信号,该消息在这里也称为可缩放嵌套SEI消息。然而应当理解,本发明并不限于用来描述嵌套SEI消息的术语,并且也可以使用不同术语。下面描述可缩放嵌套SEI消息的一种表示。在一个实施例中,可缩放嵌套SEI消息包含任何类型的嵌套的SEI消息,包括又一嵌套的SEI消息。在另一实施例中,可以约束如下:嵌套的SEI消息是除了另一可缩放嵌套SEI消息之外的任何类型的SEI消息。所含消息的大小匹配于可缩放嵌套SEI消息的所表明的净荷大小(考虑到可缩放嵌套SEI净荷的“头部”)。可缩放嵌套SEI消息可以包括如下指示(例如,标志,比如pictures_in_au_flag),该指示表明嵌套的SEI消息适用于所讨论的访问单元的所有编码画面。如果消息仅适用于访问单元的一些编码画面,则可缩放嵌套SEI消息包含嵌套的SEI消息关联的访问单元内的画面的指示,例如画面的dependency_id和quality_level的值。也可以使用画面的其他唯一标识符。这样的唯一标识符可以是多个值的组合,并且可以在编码位流中显式地传达或者使用在位流中传达的任何其他信息来隐式地确定这样的值。由图1的编码器110编码的此信息由解码器160解码并且根据嵌套的SEI消息的语义而用来参与与解码、显示或者其他目的有关的过程。
根据一个特定实施例的本发明的相关语法结构如下。
scalable_nesting(payloadSize){ |
C |
Descriptor |
all_pictures_in_au_flag |
5 |
u(1) |
if(all_pictures_in_au_flag==0){ |
|
|
num_pictures |
5 |
ue(v) |
for(i=0;i<num_pictures;i++){ |
|
|
dependency_id[i] |
5 |
u(3) |
quality_level[i] |
5 |
u(2) |
} |
|
|
} |
|
|
while(!byte_aligned( )) |
|
|
sei_nesting_zero_bit/*equal to 0*/ |
5 |
f(1) |
sei_message() |
|
|
} |
|
|
sei_message(){ |
C |
Deseriptor |
payloadType=0 |
|
|
while(next_bits(8)==0xFF){ |
|
|
ff_byte/*equal to 0xFF*/ |
5 |
f(8) |
payloadType+=255 |
|
|
} |
|
|
last_payload_type_byte |
5 |
u(8) |
payloadType+=last_payload_type_byte |
|
|
payloadSize=0 |
|
|
while(next_bits(8)==0xFF){ |
|
|
ff_byte/*equal to 0xFF*/ |
5 |
f(8) |
payloadSize+=255 |
|
|
} |
|
|
last_payload_size_byte |
5 |
u(8) |
payloadSize+=last_payload_size_byte |
|
|
sei_payload(payloadType,payloadSize) |
5 |
|
} |
|
|
除了上述之外,如果希望将SEI消息与冗余画面和用于辅助画面的指示关联,则可缩放嵌套SEI消息也可以包含redundant_pic_cnt。
在本发明的另一实施例中,嵌套SEI消息可以包含各自具有同一范围的多个嵌套的SEI消息,即,所有多个嵌套的SEI消息与相同画面关联。在这一实施例中,在下表中指定scalable_nesting语法结构的语法。more_sei_message_data()是如下函数,如果在调用该函数的SEI消息(即在这一情况下为可缩放嵌套SEI消息)中有更多数据要解析,则该函数返回TRUE。否则,more_sei_message_data()返回FALSE。
scalable_nesting(payloadSize){ |
C |
Descriptor |
all_pictures_in_au_flag |
5 |
u(1) |
if(all_pictures_in_au_flag==0){ |
|
|
num_pictures |
5 |
ue(v) |
for(i=0;i<num_pictures;i++){ |
|
|
dependeney_id[i] |
5 |
u(3) |
quality_level[i] |
5 |
u(2) |
} |
|
|
} |
|
|
while(!byte_aligned( )) |
|
|
sei_nesting_zero_bit/*equal to 0*/ |
5 |
f(1) |
sei_message( ) |
|
|
while(more_sei_message_data( )) |
|
|
sei_message( ) |
|
|
} |
|
|
除了可缩放嵌套SEI消息之外,可以重新定义H.264/AVC的各SEI消息的语义以在使用于可缩放嵌套SEI消息内时包括消息的语义。可以推广一些消息如平移-扫描矩形SEI消息的语义以也与某些增强编码画面关联。一般而言,可以重新定义任何H.264/AVC SEI消息的语义以处理在由可缩放嵌套SEI消息标识的范围中的所有画面。这与由H.264/AVC指定的语义形成对照,该H.264/AVC通常仅处理消息有关的主要编码画面。例如,当可缩放嵌套SEI消息包含SEI消息如运动约束的条带组集SEI消息时,该消息与编码视频序列中的所有访问单元有关,但仅与具有相同唯一指示如dependency_id和quality_level(例如,它将通常包含于如下第一访问单元,该第一访问单元包含它所适用的画面)的这些访问单元的某些画面有关。如果希望特定SEI消息与具有temporal_level的某个值的画面有关,则SEI消息将通常包含于该消息被适用到的并且包含具有预期temporal_level的画面的第一访问单元中。根据SVC规范,访问单元中的主要编码画面和增强编码画面具有相同的temporal_level值。如果希望特定SEI消息与具有temporal_level值某个范围的画面有关,则SEI消息语法可以包含用以表明temporal_level值范围的机制,或者可以根据与SEI消息相同的访问单元中包含的画面的temporal_level来导出该范围。
在本发明的一个实施例中,H.264/AVC的特定SEI消息、即备用画面SEI消息的语法在使用于可缩放嵌套SEI消息内时可以定义如下:当在可缩放嵌套SEI消息中包括备用画面SEI消息时,在根据nal_unit_type的范围为1至5(包含)的NAL单元和nal_unit_type等于20或者21(其dependency_id在dependency[i]之中而quality_level在quality_level[i]之中)对下文定义的目标画面和备用画面进行解码时,该消息是可适用的。这一SEI消息表明在一个或者多个解码参考画面中称为备用条带组映射单元的某些条带组映射单元类似于在称为目标画面的指定解码画面中的协同定位条带组映射单元。备用条带组映射单元可以用来替换目标画面中的协同定位、不恰当解码的条带组映射单元。包含备用条带组映射单元的解码画面称为备用画面。
涉及到MVC的根据本发明另一实施例的相关语法结构如下:
scalable_nesting(payloadSize){ |
C |
Descriptor |
all_pictures_in_au_flag |
5 |
u(1) |
if(all_pictures_in_au_flag==0){ |
|
|
num_pictures |
5 |
ue(v) |
for(i=0;i<num_pictures;i++) |
|
|
view_id[i] |
5 |
u(10) |
} |
|
|
while(!byte_aligned( )) |
|
|
sei_nesting_zero_bit/*equal to 0*/ |
5 |
f(1) |
sei_message( ) |
|
|
} |
|
|
在这一语法中,view_id[i]表明第i个画面所属视图的标识符。其他语法元素具有与在先前讨论的实施例中相同的语义。也可以使用属于视图的画面的其他唯一标识符。
涉及到MDC的根据本发明又一实施例的相关语法结构如下:
scalable_nesting(payloadSize){ |
C |
Descriptor |
all_pictures_in_au_flag |
5 |
u(1) |
if(all_pictures_in_au_flag==0){ |
|
|
num_pictures |
5 |
ue(v) |
for(i=0;i<num_pictures;i++) |
|
|
description_id[i] |
5 |
u(8) |
} |
|
|
while(!byte_aligned( )) |
|
|
sei_nesting_zero_bit/*equal to 0*/ |
5 |
f(1) |
sei_message( ) |
|
|
} |
|
|
在上述语法中,description_id[i]表明第i个画面所属MDC描述的标识符。其他语法元素具有与在先前描述的第一实施例中相同的语义。也可以使用属于MDC描述的画面的其他唯一标识符。
涉及到SVC和MVC的组合的根据本发明又一实施例的相关语法结构如下:
scalable_nesting(payloadSize){ |
C |
Descriptor |
all_picturesin_au_flag |
5 |
u(1) |
if(all_pictures_in_au_flag==0){ |
|
|
num_pictures |
5 |
ue(v) |
for(i=0;i<num_pictures;i++){ |
|
|
dependency_id[i] |
5 |
u(3) |
quality_level[i] |
5 |
u(2) |
view_id[i] |
5 |
u(10) |
} |
|
|
} |
|
|
while(!byte_aligned( )) |
|
|
sei_nesting_zero_bit/*equal to 0*/ |
5 |
f(1) |
sei_message( ) |
|
|
} |
|
|
在上述语法中,view_id[i]表明第i个画面所属视图的标识符。其他语法元素具有与在先前描述的第一实施例中相同的语义。也可以使用属于可缩放层和视图的画面的其他唯一标识符。
涉及到SVC、MVC和MDC的组合的根据本发明又一实施例的相关语法结构如下:
scalable_nesting(payloadSize){ |
C |
Descriptor |
all_pictures_in_au_flag |
5 |
u(1) |
if(all_pictures_in_au_flag==0){ |
|
|
num_pictures |
5 |
ue(v) |
for(i=0;i<num_pictures;i++){ |
|
|
dependency_id[i] |
5 |
u(3) |
quality_level[i] |
5 |
u(2) |
view_id[i] |
5 |
u(10) |
description_id[i] |
5 |
u(8) |
} |
|
|
} |
|
|
while(!byte_aligned( )) |
|
|
sei_nesting_zero_bit/*equal to 0*/ |
5 |
f(1) |
sei_message( ) |
|
|
} |
|
|
在上述语法中,view_id[i]表明第i个画面所属视图的标识符。description_id[i]表明第i个画面所属MDC描述的标识符。其他语法元素具有与在先前描述的第一实施例中相同的语义。也可以使用属于可缩放层、视图和MDC描述的画面的其他唯一标识符。
图2和图3示出了本发明可以实施于其中的一个有代表性的移动电话12。然而应当理解,本发明并不限于一个特定类型的移动电话12或者其他电子设备。图2和图3中所示一些或者所有特征可以并入图1中所示的任何或者所有设备中。
图2和图3的移动电话12包括外壳30、液晶显示器形式的显示器32、小键盘34、麦克风36、耳机38、电池40、红外线端口42、天线44、根据本发明一个实施例的UICC形式的智能卡46、读卡器48、无线电接口电路52、编解码器电路54、控制器56和存储器58。独立电路和元件都是在本领域中、例如在诺基亚移动电话范围中众所周知的类型。
本发明的通信设备可以使用各种传输技术来通信,包括但不限于码分多址(CDMA)、全球移动通信***(GSM)、通用移动电信***(UMTS)、时分多址(TDMA)、频分多址(FDMA)、传输控制协议/网际协议(TCP/IP)、短消息接发服务(SMS)、多媒体消息接发服务(MMS)、电子邮件、即时消息接发服务(IMS)、蓝牙、IEEE 802.11等。通信设备可以使用包括但不限于无线电、红外线、激光、线缆连接等的各种介质来通信。
在方法步骤的一般背景下描述本发明,在一个实施例中可以通过程序产品来实施这些方法步骤,该程序产品包括在联网环境中由计算机执行的计算机可执行指令如程序代码。一般而言,程序模块包括执行特定任务或者实施特定抽象数据类型的例程、程序、对象、组件、数据结构等。计算机可执行指令、关联数据结构和程序模块代表用于执行这里公开的方法步骤的程序代码的例子。这样的可执行指令或者关联数据结构的特定序列代表用于实施在这样的步骤中描述的功能的对应动作的例子。
可以用标准编程技术实现本发明的软件和网络实施,这些编程技术具有用以实现各种数据库搜索步骤、相关步骤、比较步骤和判决步骤的基于规则的逻辑和其他逻辑。也应当注意,如这里和在权利要求书中使用的用语“组件”和“模块”旨在于涵盖使用一行或者多行软件代码的实施和/或硬件实施和/或用于接收人工输入的设备。
已经出于图示和描述的目的而呈现本发明实施例的前文描述。本意并非穷举本发明或者将本发明限制于公开的精确形式,并且修改和变化根据上述教导是可能的或者可以从本发明的实践中加以获悉。选择和描述实施例是为了说明本发明的原理及其实际应用以使本领域技术人员能够在各种实施例中以及通过与构思的特定用途相适应的各种修改来利用本发明。