CN117242490A - 用于以图像文件格式对区域和区域掩码进行信号发送的方法和装置 - Google Patents

用于以图像文件格式对区域和区域掩码进行信号发送的方法和装置 Download PDF

Info

Publication number
CN117242490A
CN117242490A CN202280029200.2A CN202280029200A CN117242490A CN 117242490 A CN117242490 A CN 117242490A CN 202280029200 A CN202280029200 A CN 202280029200A CN 117242490 A CN117242490 A CN 117242490A
Authority
CN
China
Prior art keywords
mask
encoding
item
region
data
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.)
Pending
Application number
CN202280029200.2A
Other languages
English (en)
Inventor
E·B·阿克苏
M·M·安尼克塞拉
K·坎玛奇·斯雷德哈
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.)
Nokia Technologies Oy
Original Assignee
Nokia Technologies Oy
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 Nokia Technologies Oy filed Critical Nokia Technologies Oy
Publication of CN117242490A publication Critical patent/CN117242490A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • 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/167Position within a video image, e.g. region of interest [ROI]
    • 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)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

各种实施例提供了一种装置、方法和计算机程序产品。该装置包括:至少一个处理器;以及包括计算机程序代码的至少一个非暂态存储器;其中该至少一个存储器和计算机程序代码被配置为与该至少一个处理器一起使该装置至少执行:定义或扩展文件格式数据结构以包括:用于以像素为单位指示包括掩码值的区域的尺寸的单元大小;用于指示应用于媒体的掩码或数据的编码方法的掩码编码方法;用于指示处理编码的掩码数据所需要的附加编码或解码参数的掩码编码参数;以及包括作为掩码配置结构的掩码相关信息的掩码配置。

Description

用于以图像文件格式对区域和区域掩码进行信号发送的方法 和装置
技术领域
示例和非限制性实施例总体上涉及多媒体传输,并且更具体地涉及以图像文件格式对区域和区域掩码进行信号发送。
背景技术
已知提供用于媒体数据的信令的标准化格式。
发明内容
一种示例装置包括:至少一个处理器;以及包括计算机程序代码的至少一个非暂态存储器;其中该至少一个存储器和计算机程序代码被配置为与该至少一个处理器一起使该装置至少执行:定义或扩展文件格式数据结构以包括:用于以像素为单位指示包括掩码值的区域的尺寸的单元大小;用于指示应用于媒体的掩码或数据的编码方法的掩码编码方法;用于指示处理编码的掩码数据所需要的附加编码或解码参数的掩码编码参数;以及包括作为掩码配置结构的掩码相关信息的掩码配置。
该示例装置还可以包括,其中单元大小尺寸包括M×N个像素,其中M指示水平像素数目,并且N指示竖直像素数目。
该示例装置还可以包括,其中掩码编码方法包括用于指示以下中的一项或多项的值:没有应用掩码编码方案;应用DEFLATE压缩数据编码;或者应用ZLIB压缩数据编码。
该示例装置还可以包括,其中当掩码编码方法包括预定值时,掩码编码参数还指示编码的掩码阵列中的字节数。
该示例装置还可以包括,其中当掩码编码方法包括除预定值之外的值时,掩码编码参数的值被保留。
该示例装置还可以被引起为区域定义掩码,其中区域是基于媒体的区域项目或元数据中的至少一项来定义的。
该示例装置还可以包括,其中文件格式数据结构包括区域项目数据结构。
该示例装置还可以包括,其中文件格式数据结构包括掩码。
该示例装置还可以包括,其中该装置还被引起为定义项目类型,其中项目类型为“mski”的图像项目是定义掩码的掩码项目。
该示例装置还可以包括,其中掩码配置包括每像素比特或字节打包信息中的至少一项。
该示例装置还可以包括,其中当掩码配置的每像素比特信息包括1、2或4时,每字节打包的像素分别为8、4或2,并且其中字节打包包括大端序。
该示例装置还可以包括,其中当掩码宽度不是8个像素的倍数时,不在每行的末尾处放置填充,并且填充最后的数据字节。
该示例装置还可以包括,其中当掩码配置的每像素比特信息为8、16或24时,像素的掩码值分别用1、2或3个字节表示,并且其中像素的字节从最高有效字节开始被序列化。
该示例装置还可以包括,其中该装置还被引起为:定义用于发送信号通知和配置掩码的语法元素;以及将掩码存储为高效图像文件(HEIF)格式文件。
一种示例方法包括定义或扩展文件格式数据结构以包括:用于以像素为单位指示包括掩码值的区域的尺寸的单元大小;用于指示应用于媒体的掩码或数据的编码方法的掩码编码方法;用于指示处理编码的掩码数据所需要的附加编码或解码参数的掩码编码参数;以及包括掩码相关信息作为掩码配置结构的掩码配置。
该示例方法还可以包括,其中单元大小尺寸包括M×N个像素,其中M指示水平像素数目,并且N指示竖直像素数目。
该示例方法还可以包括,其中掩码编码方法包括用于指示以下中的一项或多项的值:没有应用掩码编码方案;应用DEFLATE压缩数据编码;或者应用ZLIB压缩数据编码。
该示例方法还可以包括,其中当掩码编码方法包括预定值时,掩码编码参数还指示编码的掩码阵列中的字节数目。
该示例装置还可以包括,其中当掩码编码方法包括除预定值之外的值时,掩码编码参数的值被保留。
该示例方法还可以包括为区域定义掩码,其中区域是基于媒体的区域项目或元数据中的至少一项来定义的。
该示例方法还可以包括,其中文件格式数据结构包括区域项目数据结构。
该示例方法还可以包括,其中文件格式数据结构包括掩码。
该示例方法还可以包括定义项目类型,其中项目类型为“mski”的图像项目是定义掩码的掩码项目。
该示例方法还可以包括,其中掩码配置包括每像素比特或字节打包信息中的至少一项。
该示例方法还可以包括,其中当掩码配置的每像素比特信息包括1、2或4时,每字节打包的像素分别为8、4或2,并且其中字节打包包括大端序。
该示例方法还可以包括,其中当掩码宽度不是8个像素的倍数时,不在每行的末尾处放置填充,并且填充最后数据字节。
该示例方法还可以包括,其中当掩码配置的每像素比特信息为8、16或24时,像素的掩码值分别用1、2或3个字节表示,并且其中像素的字节从最高有效字节开始被序列化。
该示例方法还可以包括:定义用于发送信号通知和配置掩码的语法元素;以及将掩码存储为高效图像文件(HEIF)格式文件。
一种示例计算机可读介质包括用于使装置至少执行以下操作的程序指令:定义或扩展文件格式数据结构以包括:用于以像素为单位指示包括掩码值的区域的尺寸的单元大小;用于指示应用于媒体的数据的编码方法的掩码编码方法;用于指示处理编码的掩码数据所需要的附加编码或解码参数的掩码编码参数;以及包括掩码相关信息作为掩码配置结构的掩码配置。
该示例计算机可读介质还包括,其中该计算机可读介质包括非暂态计算机可读介质。
该示例计算机可读介质还可以包括,其中该计算机可读介质还使该装置执行前述任何段落中所述的方法。
另一示例装置包括:用于定义或扩展文件格式数据结构以包括以下各项的部件:用于以像素为单位指示包括掩码值的区域的尺寸的单元大小;用于指示应用于媒体的掩码或数据的编码方法的掩码编码方法;用于指示处理编码的掩码数据所需要的附加编码或解码参数的掩码编码参数;以及包括掩码相关信息作为掩码配置结构的掩码配置。
该示例装置还可以包括,其中该装置还包括用于执行前述段落中的一个或多个段落中描述的方法的部件。
附图说明
结合附图,在以下描述中解释上述方面和其他特征,在附图中:
图1示意性地示出了采用本文中描述的示例的实施例的电子设备。
图2示意性地示出了适用于采用本文中描述的示例的实施例的用户设备。
图3进一步示意性地示出了使用无线和有线网络连接而连接的采用本文中描述的示例的实施例的电子设备。
图4示意性地示出了在一般级别上的编码器的框图。
图5示出了被配置为支持媒体数据从源到客户端设备的流式传输的系统。
图6是可以根据一个示例实施例具体配置的装置的框图。
图7是根据一个实施例的被配置为实现用于以图像文件格式对区域和/或区域掩码中的至少一项进行信号发送的机制的示例装置。
图8是根据一个实施例的用于实现用于以图像文件格式对区域和/或区域掩码中的至少一项进行信号发送的机制的示例方法。
图9是可以在其中实践示例实施例的一个可能的并且非限制性系统的框图。
具体实施方式
说明书和/或附图中可以找到的以下缩略词和缩写词定义如下:
3GP 3GPP文件格式
3GPP 第三代合作伙伴项目
3GPP TS 3GPP技术规范
4CC 四字符代码
4G 第四代宽带蜂窝网络技术
5G 第五代蜂窝网络技术
5GC 5G核心网
ACC 精度
AI 人工智能
AIoT 人工智能IoT
a.k.a. 也称为
AMF 接入和移动性管理功能
AVC 高级视频编码
CABAC 上下文自适应二进制算术编码
CDMA 码分多址
CE 核心实验
CU 中央单元
DASH 通过HTTP进行的动态自适应流式传输
DCT 离散余弦变换
DSP 数字信号处理器
DU 分布式单元
eNB(或者eNodeB) 演进型节点B(例如,LTE基站)
EN-DC E-UTRA-NR双连接
en-gNB或者En-gNB 向UE提供NR用户平面和控制平面协议终端并且充当EN-DC中的辅节点的节点
E-UTRA演进型通用陆地无线电接入,例如LTE无线电接入技术
FDMA 频分多址
f(n) 固定模式比特串,使用以左位为先而写入的n个位(从左到右)。
F1或者F1-C CU与DU控制接口之间的接口
gNB(或者gNodeB) 用于5G/NR的基站,例如,向UE提供NR用户平面和控制平面协议终端并且经由NG接口连接到5GC的节点
GSM 全球移动通信系统
H.222.0 MPEG-2系统的正式名称为ISO/IEC 13818-1和ITU-T Rec.H.222.0
H.26x ITU-T领域中的视频编码标准族
HLS 高级语法
IBC 块内复制
ID 标识符
IEC 国际电工委员会
IEEE 电气和电子工程师协会
I/F 接口
IMD 集成消息传递设备
IMS 即时消息服务
IoT 物联网
IP 互联网协议
ISO 国际标准化组织
ISOBMFF ISO基本媒体文件格式
ITU 国际电信联盟
ITU-T ITU电信标准化部门
JPEG 联合图片专家组
LTE 长期演进
LZMA Lempel-Ziv-Markov链压缩
LZMA2 简单容器格式,可能包括未压缩数据和LZMA数据
LZO Lempel-Ziv-Oberhumer压缩
LZW Lempel-Ziv-Welch压缩
MAC 媒体接入控制
mdat 媒体数据框
MME 移动性管理实体
MMS 多媒体消息服务
moov 电影框
MP4 MPEG-4第14部分文件的文件格式
MPEG 运动图片专家组
MPEG-2 ITU定义的H.222/H.262
MPEG-4 ISO/IEC 14496音频和视频编码标准
MSB 最高有效位
NAL 网络抽象层
NDU NN压缩数据单元
Ng或者NG 新一代
ng-eNB或者NG-eNB 新一代eNBNN 神经网络
NNEF 神经网络交换格式
NNR 神经网络表示
NR 新无线电(5G无线电)
N/W或者NW 网络
ONNX 开放式神经网络eXchangePB 协议缓冲区
PC 个人计算机
PDA 个人数字助理
PDCP 分组数据汇聚协议
PHY 物理层
PID 分组标识符
PLC 电力线通信
PNG 便携式网络图形
PSNR 峰值信噪比
RAM 随机存取存储器
RAN 无线电接入网
RFC 征求意见
RFID 射频标识
RLC 无线电链路控制
RRC 无线电资源控制
RRH 远程无线电头
RU 无线电单元
Rx 接收器
SDAP 服务数据适配协议
SGW 服务网关
SMF 会话管理功能
SMS 短消息服务
st(v) 按照ISO/IEC 10646的规定,以UTF-8字符编码的以null结尾的字符串
SVC 可缩放视频编码
S1 eNodeB与EPC之间的接口
TCP-IP 传输控制协议-互联网协议
TDMA 时分复用
trak 轨道框
TS 传输流
TUC 正在考虑的技术
TV 电视机
Tx 发射器
UE 用户设备
ue(v) 无符号整数Exp-Golomb编码的语法元素,左位优先
UICC 通用集成电路卡
UMTS 通用移动通信系统
u(n) 使用n位的无符号整数
UPF 用户平面功能
URI 统一资源标识符
URL 统一资源定位符
UTF-8 8位Unicode转换格式
WLAN 无线局域网
X2 LTE网络中两个eNodeB之间的互连接口
Xn 两个NG-RAN节点之间的接口
下面将参考附图更全面地描述一些实施例,在这些附图中示出了本发明的一些但不是全部实施例。事实上,本发明的各种实施例可以以很多不同的形式体现,并且不应当被解释为限于本文中阐述的实施例;相反,提供这些实施例以使得本公开将满足适用的法律要求。相同的附图标记自始至终指代相同的元素。如本文中使用的,术语“数据”、“内容”、“信息”和类似术语可以互换使用,以指代根据本发明的实施例而能够被传输、接收和/或存储的数据。因此,任何这样的术语的使用不应当被视为限制本发明的实施例的精神和范围。
此外,如本文中使用的,术语“电路系统”是指(a)仅硬件的电路实现(例如,模拟电路系统和/或数字电路系统中的实现);(b)包括存储在一个或多个计算机可读存储器上的软件和/或固件指令的电路和(多个)计算机程序产品的组合,该软件和/或固件指令一起工作以使装置执行本文中描述的一个或多个功能;以及(c)电路,例如(多个)微处理器或(多个)微处理器的一部分,该电路需要软件或固件来进行操作,即使软件或固件在物理上不存在。“电路系统”的这个定义适用于该术语在本文中的所有用途,包括在任何权利要求中。作为另外的示例,如本文中使用的,术语“电路系统”还包括包括一个或多个处理器和/或其部分以及伴随的软件和/或固件的实现。作为另一示例,例如,本文中使用的术语“电路系统”还包括用于移动电话的基带集成电路或应用处理器集成电路、或者服务器、蜂窝网络设备、其他网络设备和/或其他计算设备中的类似集成电路。
如本文中定义的,“计算机可读存储介质”是指非暂态物理存储介质(例如,易失性或非易失性存储器设备),可以与“计算机可读传输介质”区分开来,“计算机可读传输介质”是指电磁信号。
根据示例实施例,提供了一种方法、装置和计算机程序产品,以便实现用于以图像文件格式对区域和/或区域掩码中的至少一项进行信号发送的机制。
以下详细描述了根据实施例的用于以图像文件格式对区域和/或区域掩码中的至少一项进行信号发送的合适的装置和可能的机制。在一些实施例中,信令过程可以包括用于编码和/或压缩图像文件格式的过程。在这点上,首先参考图1和图2,其中图1示出了设备50的示例框图。该装置可以是被配置为执行各种功能的物联网(IoT)装置,例如,通过一个或多个传感器收集信息、接收或传输信息、分析由该装置收集或接收的信息,等等。该装置可以包括视频编码系统,该视频编码系统可以包括编解码器。图2示出了根据一个示例实施例的装置的布局。下面将解释图1和图2的元件。
电子设备50例如可以是无线通信系统的移动终端或用户设备、传感器设备、标签或低功率设备。然而,应当理解,本文中描述的示例的实施例可以在任何电子设备或装置内实现。
设备50可以包括用于并入和保护设备的壳体30。设备50还可以包括显示器32,例如,以液晶显示器、发光二极管显示器、有机发光二极管显示器等的形式。在本文中描述的示例的其他实施例中,显示器可以是适合于显示媒体或多媒体内容(例如,图像或视频)的任何合适的显示技术。设备50还可以包括小键盘34。在本文中描述的示例的其他实施例中,可以采用任何合适的数据或用户接口机制。例如,用户接口可以被实现为作为触敏显示器的一部分的虚拟键盘或数据输入系统。
该装置可以包括麦克风36或任何合适的音频输入,该音频输入可以是数字或模拟信号输入。设备50还可以包括音频输出设备,在本文中描述的示例的其他实施例中,该音频输出设备可以是耳机38、扬声器、或模拟音频或数字音频输出连接中的任何一种。设备50还可以包括电池(或者在本文中描述的示例的其他实施例中,该装置可以由任何合适的移动能源设备供电,诸如太阳能电池、燃料电池或钟表发电机)。该装置还可以包括能够记录或捕获图像和/或视频的相机。设备50还可以包括用于与其他设备进行短距离视线通信的红外端口。在其他实施例中,设备50还可以包括任何合适的短距离通信解决方案,例如Bluetooth无线连接或USB/火线有线连接。
设备50可以包括用于控制设备50的控制器56、处理器或处理器电路系统。控制器56可以连接到存储器58,在本文中描述的示例的实施例中,存储器58可以存储图像、音频数据、视频数据形式的数据,和/或还可以存储用于在控制器56上实现的指令。控制器56还可以连接到编解码器电路系统54,该编解码器电路系统54适合于执行音频、图像和/或视频数据的编码和/或解码、或者辅助由控制器执行的编码和/或解码。
设备50还可以包括读卡器48和智能卡46,例如UICC和UICC读取器,该读卡器48和智能卡46用于提供用户信息并且适合于提供用于在网络处对用户进行认证和授权的认证信息。
设备50可以包括无线电接口电路系统52,该无线电接口电路系统52连接到控制器并且适合于生成无线通信信号,例如,用于与蜂窝通信网络、无线通信系统或无线局域网进行通信。设备50还可以包括天线44,该天线44连接到无线电接口电路系统52,用于将在无线电接口电路系统52处生成的射频信号传输到(多个)其他装置和/或用于从(多个)其他装置接收射频信号。
设备50可以包括能够记录或检测个体帧的相机42,这些帧然后被传递给编解码器54或控制器以进行处理。该装置可以在传输和/或存储之前从另一设备接收用于处理的视频图像数据。设备50还可以无线地或通过有线连接接收用于编码/解码的图像。上述设备50的结构元件表示用于执行对应功能的部件的示例。
关于图3,示出了可以在其中利用本文中描述的示例的实施例的系统的一个示例。系统10包括可以通过一个或多个网络进行通信的多个通信设备。系统10可以包括有线或无线网络的任何组合,包括但不限于无线蜂窝电话网络(诸如GSM、UMTS、CDMA、LTE、4G、5G网络等)、诸如由IEEE 802.x标准中的任何标准定义的无线局域网(WLAN)、个域网、以太网局域网、令牌环局域网、广域网和互联网。
系统10可以包括适合于实现本文中描述的示例的实施例的有线和无线通信设备和/或设备50两者。
例如,图3所示的系统示出了移动电话网络11和互联网28的表示。到互联网28的连接可以包括但不限于长距离无线连接、短距离无线连接和各种有线连接,包括但不局限于电话线、电缆线、电力线和类似的通信路径。
系统10中所示的示例通信设备可以包括但不限于电子设备或设备50、个人数字助理(PDA)和移动电话14的组合、PDA 16、集成消息传递设备(IMD)18、台式计算机20、笔记本计算机22。设备50在由正在移动的个人携带时可以是固定的或移动的。设备50也可以位于运输模式中,包括但不限于汽车、卡车、出租车、公共汽车、火车、船、飞机、自行车、摩托车或任何类似的合适的运输模式。
实施例也可以在机顶盒中实现;例如,在可以具有/可以不具有显示器或无线功能的数字电视接收器中、在具有用于处理神经网络数据的硬件和/或软件的平板电脑或(膝上型)个人计算机(PC)中、在各种操作系统中、以及在提供基于硬件/软件的编码的芯片组、处理器、DSP和/或嵌入式系统中。
一些或另外的装置可以发送和接收呼叫和消息,并且通过到基站24的无线连接25与服务提供商通信。基站24可以连接到网络服务器26,该网络服务器26允许移动电话网络11与互联网28之间的通信。该系统可以包括附加通信设备和各种类型的通信设备。
通信设备可以使用各种传输技术进行通信,包括但不限于码分多址(CDMA)、全球移动通信系统(GSM)、通用移动电信系统(UMTS)、时分多址(TDMA)、频分多址(FDMA)、传输控制协议互联网协议(TCP-IP)、短消息服务(SMS)、多媒体消息服务(MMS)、电子邮件、即时消息服务(IMS)、Bluetooth、IEEE 802.11、3GPP窄带IoT以及任何类似的无线通信技术。本文中描述的示例的各种实施例的实现中涉及的通信设备可以使用各种介质进行通信,包括但不限于无线电、红外、激光、电缆连接和任何合适的连接。
在电信和数据网络中,信道可以是指物理信道,也可以是指逻辑信道。物理信道可以是指诸如有线等物理传输介质,而逻辑信道可以是指能够传送若干逻辑信道的、通过多路复用介质进行的逻辑连接。信道可以用于将信息信号(例如,比特流)从一个或若干发送器(或发射器)传送到一个或若干接收器。
实施例也可以在物联网(IoT)设备中实现。例如,IoT可以定义为现有互联网基础设施内唯一可标识的嵌入式计算设备的互连。各种技术的融合已经并且可以使得很多领域的嵌入式系统(诸如无线传感器网络、控制系统、家庭/建筑自动化等)被纳入IoT。为了利用互联网,IoT设备被设置有IP地址作为唯一标识符。IoT设备可以设置有无线电发射器,诸如WLAN或发射器或RFID标签。备选地,IoT设备可以经由有线网络访问基于IP的网络,诸如基于以太网的网络或电力线连接(PLC)。
根据各种实施例,图1至图3中描述的设备/系统对图像文件格式进行编码、解码、发送信号和/或传输。
ISO/IEC 13818-1或ITU-T建议H.222.0中规定的MPEG-2传输流(TS)是一种用于在多路复用流中承载音频、视频和其他媒体以及节目元数据或其他元数据的格式。分组标识符(PID)用于标识TS内的基本流(也称为分组基本流)。因此,MPEG-2TS内的逻辑信道可以被认为对应于特定PID值。
可用的媒体文件格式标准包括ISO基本媒体文件格式(ISO/IEC 14496-12,其可以缩写为ISOBMFF)和用于NAL单元结构化视频的文件格式(ISO/IEC14496-15)(其源自ISOBMFF)。
视频编解码器包括将输入视频转换为适合存储/传输的压缩表示的编码器、以及可以将压缩视频表示解压缩为可视形式的解码器。视频编码器和/或视频解码器也可以彼此分离,例如,不必形成编解码器。通常,编码器丢弃原始视频序列中的一些信息,以便以更紧凑的形式(例如,以更低的比特率)表示视频。
典型的混合视频编码器(例如,ITU-T H.263和H.264的很多编码器实现)分两个阶段对视频信息进行编码。首先,例如,通过运动补偿部件(在先前编码的视频帧中的一个视频帧中查找并且指示与正在被编码的块紧密对应的区域)或通过空间部件(以指定方式使用待编码的块周围的像素值)来预测特定图片区域(或“块”)中的像素值。其次,对预测误差(例如,预测的像素块与原始像素块之间的差)进行编码。这通常是通过使用指定变换(例如,离散余弦变换(DCT)或其变体)来变换像素值的差、量化系数以及对量化的系数进行熵编码来实现的。通过改变量化过程的保真度,编码器可以控制像素表示的精度(图片质量)与所得到的编码的视频表示的大小(文件大小或传输比特率)之间的平衡。
在时间预测中,预测源是先前解码的图片(也称为参考图片)。在块内复制(IBC;又称块内复制预测和当前图片参考)中,类似于时间预测来应用预测,但是参考图片是当前图片,并且在预测过程中只能参考先前解码的样本。层间或视图间预测可以类似于时间预测来应用,但是参考图片分别是来自另一可缩放层或来自另一视图的解码的图片。在一些情况下,帧间预测可以仅是指时间预测,而在其他情况下,帧间预测可以统称为时间预测、以及块内复制、层间预测和视图间预测中的任何一者(假如它们是用与时间预测相同或相似的过程来执行的)。帧间预测或时间预测有时可以称为运动补偿或运动补偿预测。
帧间预测(也称为时间预测、运动补偿或运动补偿预测)可以减少时间冗余。在帧间预测中,预测源是先前解码的图片。帧内预测利用同一图片内的相邻像素很可能相关的这一事实。帧内预测可以在空间域或变换域中执行,例如,可以预测样本值或变换系数。帧内预测通常在不应用帧间预测的帧内编码中被利用。
编码过程的一个结果是一组编码参数,诸如运动矢量和量化的变换系数。当首先根据空间或时间上相邻的参数预测很多参数时,可以更有效地对这些参数进行熵编码。例如,可以从空间上相邻的运动矢量来预测运动矢量,并且可以仅对相对于运动矢量预测器的差进行编码。编码参数的预测和帧内预测可以统称为图片内预测。
图4示出了视频编码器的一般结构的框图。图4呈现了用于两个层的编码器,但是应当理解,呈现的编码器可以类似地扩展为对多于两个层进行编码。图4图示了包括用于基本层的第一编码器部分500和用于增强层的第二编码器部分502的视频编码器。第一编码器部分500和第二编码器部分502中的每一者可以包括用于对传入图片进行编码的类似元件。编码器部分500、502可以包括像素预测器302、402、预测误差编码器303、403和预测误差解码器304、404。图4还示出了包括帧间预测器306、406、帧内预测器308、408、模式选择器310、410、滤波器316、416和参考帧存储器318、418的像素预测器302、402的一个实施例。第一编码器部分500的像素预测器302接收要在帧间预测器306(其确定图像与运动补偿参考帧之间的差)和帧内预测器308(其仅基于当前帧或图片的已处理部分来确定对图像块的预测)两者处编码的视频流的(多个)基本层图像300。帧间预测器和帧内预测器的输出都被传递到模式选择器310。帧内预测器308可以具有多于一个帧内预测模式。因此,每个模式可以执行帧内预测并且将预测信号提供给模式选择器310。模式选择器310还接收基本层图像300的副本。相对应地,第二编码器部分502的像素预测器402接收要在帧间预测器406(其确定图像与运动补偿参考帧之间的差)和帧内预测器408(其仅基于当前帧或图片的已处理部分来确定对图像块的预测)两者处编码的视频流的(多个)增强层图像400。帧间预测器和帧内预测器的输出都被传递到模式选择器410。帧内预测器408可以具有多于一个的帧内预测模式。因此,每个模式可以执行帧内预测并且将预测信号提供给模式选择器410。模式选择器410还接收增强层图像400的副本。
根据哪种编码模式被选择来编码当前块,帧间预测器306、406的输出、或可选的帧内预测器模式中的一个模式的输出、或模式选择器内的表面编码器的输出被传递到模式选择器310、410的输出。模式选择器310、410的输出被传递到第一求和器件321、421。第一求和器件可以从基本层图像300或增强层图像400中减去像素预测器302、402的输出,以产生被输入到预测误差编码器303、403的第一预测误差信号320、420。
像素预测器302、402还从初步重构器339、439接收图像块312、412的预测表示与预测误差解码器304、404的输出338、438的组合。初步重构图像314、414可以被传递到帧内预测器308、408和滤波器316、416。接收初步表示的滤波器316、416可以对初步表示进行滤波,并且输出可以被保存在参考帧存储器318、418中的最终重构图像340、440。参考帧存储器318可以连接到帧间预测器306以用作参考图像,在帧间预测操作中,未来基本层图像300与该参考图像进行比较。根据一些实施例,在基本层被选择并且指示为用于增强层的层间样本预测和/或层间运动信息预测的源的情况下,参考帧存储器318还可以连接到帧间预测器406以用作参考图像,在帧间预测操作中,未来增强层图像400与该参考图像进行比较。此外,参考帧存储器418可以连接到帧间预测器406以用作参考图像,在帧间预测操作中,未来增强层图像400与该参考图像进行比较。
根据一些实施例,来自第一编码器部分500的滤波器316的滤波参数可以被提供给第二编码器部分502,前提是基本层被选择并且被指示为用于预测增强层的滤波参数的源。
预测误差编码器303、403包括变换单元342、442和量化器344、444。变换单元342、442将第一预测误差信号320、420变换到变换域。例如,变换是DCT变换。量化器344、444量化变换域信号(例如,DCT系数)以形成量化系数。
预测误差解码器304、404接收来自预测误差编码器303、403的输出,并且执行与预测误差编码器303、403相反的过程,以产生解码的预测误差信号338、438,当在第二求和器件339、439处与图像块312、412的预测表示组合时,该解码的预测误差信号338、438产生初步重构图像314、414。预测误差解码器可以被认为包括去量化器346、446和逆变换单元348、448,去量化器346、446对量化的系数值(例如,DCT系数)进行去量化以重构变换信号,逆变换单元348、448对重构的变换信号执行逆变换,其中,逆变换单元348、448的输出包含(多个)重构块。预测误差解码器还可以包括块滤波器,该块滤波器可以根据另外的解码的信息和滤波器参数对(多个)重构块进行滤波。
熵编码器330、430接收预测误差编码器303、403的输出,并且可以对信号执行合适的熵编码/可变长度编码,以提供误差检测和校正能力。熵编码器330、430的输出可以例如通过多路复用器508被插入到比特流中。
一个示例实施例的方法和装置可以用于各种各样的系统,包括依赖于媒体数据的压缩和解压缩以及可能的相关联的元数据的系统。然而,在一个实施例中,该方法和装置被配置为压缩从源经由内容递送网络流式传输到客户端设备的媒体数据和相关联的元数据,此时,压缩的媒体数据和相关联的元数据被解压缩或以其他方式被处理。在这点上,图5描绘了这样的系统510的一个示例,该系统510包括媒体数据和相关联的元数据的源512。在一个实施例中,源可以是服务器。然而,当需要时,源可以以其他方式体现。源被配置为将媒体数据和相关联的元数据流式传输到客户端设备514。客户端设备可以由媒体播放器、多媒体系统、视频系统、智能电话、移动电话或其他用户设备、个人计算机、平板电脑、或被配置为接收和解压缩媒体数据并且处理相关联的元数据的任何其他计算设备来体现。在所示的实施例中,媒体数据和元数据经由网络516被流式传输,诸如各种类型的无线网络和/或有线网络中的任何一种网络。客户端设备被配置为接收包含媒体、元数据以及包含媒体和元数据的信息的任何其他相关表示的结构化信息,并且解压缩媒体数据并且处理相关联的元数据(例如,用于解压缩的媒体数据的适当回放定时)。
根据图6所示的示例实施例提供了一种装置600。在一个实施例中,图6的装置可以由源512体现,诸如文件写入器,源512进而可以由服务器体现,该服务器被配置为流式传输媒体数据和相关联的元数据的压缩表示。在一个备选实施例中,该装置可以由客户端设备514体现,诸如可以由例如上述各种计算设备中的任何一种计算设备体现的文件读取器。在这些实施例中的任何一个实施例中,如图6所示,示例实施例的装置与处理电路系统602、一个或多个存储器设备604、通信接口606以及可选的用户接口相关联,或者与其通信。
处理电路系统602可以经由总线与存储器设备604通信,以用于在装置600的部件之间传递信息。存储器设备可以是非暂态的,并且可以包括例如一个或多个易失性和/或非易失性存储器。换言之,例如,存储器设备可以是电子存储设备(例如,计算机可读存储介质),该电子存储设备包括被配置为存储可以由机器(例如,类似于处理电路系统的计算设备)检索的数据(例如,比特)的门。存储器设备可以被配置为存储用于使得该装置能够执行根据本公开的示例实施例的各种功能的信息、数据、内容、应用、指令等。例如,存储器设备可以被配置为缓冲输入数据以供处理电路系统处理。附加地或备选地,存储器设备可以被配置为存储用于由处理电路系统执行的指令。
在一些实施例中,装置600可以体现在如上所述的各种计算设备中。然而,在一些实施例中,该装置可以体现为芯片或芯片组。换言之,该装置可以包括一个或多个物理封装件(例如,芯片),该物理封装件包括结构组件(例如,基板)上的材料、部件和/或电线。结构组件可以为其上包括的组件电路系统提供物理强度、尺寸守恒和/或电相互作用的限制。因此,在某些情况下,该装置可以被配置为在单个芯片上或作为单个“片上系统”来实现本公开的一个实施例。因此,在一些情况下,芯片或芯片组可以构成用于执行一个或多个操作以提供本文中描述的功能的部件。
处理电路系统602可以以多种不同的方式体现。例如,处理电路系统可以体现为各种硬件处理部件中的一个或多个部件,诸如协同处理器、微处理器、控制器、数字信号处理器(DSP)、具有或不具有附带DSP的处理元件、或者包括集成电路的各种其他电路系统,例如ASIC(专用集成电路),FPGA(现场可编程门阵列)、微控制器单元(MCU)、硬件加速器、专用计算机芯片等。因此,在一些实施例中,处理电路系统可以包括被配置为独立执行的一个或多个处理核。多核处理电路系统可以在单个物理封装件内实现多处理。附加地或备选地,处理电路系统可以包括经由总线串联配置的一个或多个处理器,以实现指令、流水线和/或多线程的独立执行。
在一个示例实施例中,处理电路系统602可以被配置为执行存储在存储器设备604中的指令或以其他方式由处理电路系统可访问的指令。备选地或附加地,处理电路系统可以被配置为执行硬编码功能。因此,无论是通过硬件或软件方法还是通过其组合配置,处理电路系统都可以表示能够在相应地配置时执行根据本公开的一个实施例的操作的实体(例如,物理地体现在电路系统中)。因此,例如,当处理电路系统体现为ASIC、FPGA等时,处理电路系统可以是用于进行本文中描述的操作专门配置的硬件。备选地,作为另一示例,当处理电路系统体现为指令的执行器时,该指令可以具体地将处理电路系统配置为在指令被执行时执行本文中描述的算法和/或操作。然而,在一些情况下,处理电路系统可以是特定设备(例如,图像或视频处理系统)的处理器,其被配置为通过由用于执行本文中描述的算法和/或操作的指令来进一步配置处理电路系统来采用本发明的一个实施例。处理电路系统可以包括被配置为支持处理电路系统的操作的时钟、算术逻辑单元(ALU)和逻辑门等。
通信接口606可以是任何部件,诸如以硬件或硬件和软件的组合体现的设备或电路系统,其被配置为接收和/或传输数据,包括视频比特流。在这点上,通信接口可以包括例如天线(或多个天线)以及用于实现与无线通信网络的通信的支持硬件和/或软件。附加地或备选地,通信接口可以包括用于与(多个)天线交互以引起经由(多个)天线的信号传输或处理经由(多个)天线接收的信号的接收的电路系统。在一些环境中,通信接口可以备选地或者也支持有线通信。因此,例如,通信接口可以包括通信调制解调器和/或用于支持经由电缆、数字订户线(DSL)、通用串行总线(USB)或其他机制进行通信的其他硬件/软件。
在一些实施例中,装置600可以可选地包括用户接口,该用户接口又可以与处理电路系统602通信,以向用户提供输出,诸如通过输出编码的视频比特流,并且在一些实现中,接收用户输入的指示。因此,用户接口可以包括显示器,并且在一些实施例中,用户接口还可以包括键盘、鼠标、操纵杆、触摸屏、触摸区域、软键、麦克风、扬声器或其他输入/输出机构。备选地或附加地,处理电路系统可以包括用户接口电路系统,该用户接口电路系统被配置为控制一个或多个用户接口元件的至少一些功能,诸如显示器,以及在一些实施例中,扬声器、振铃器、麦克风等。处理电路系统和/或包括处理电路系统的用户接口电路系统可以被配置为通过存储在处理电路系统可访问的存储器(例如,存储器设备等)上的计算机程序指令(例如,软件和/或固件)来控制一个或多个用户接口元件的一个或多个功能。
ISO基本媒体文件格式
可用的媒体文件格式标准包括国际标准组织(ISO)基本媒体文件格式(ISOBMFF)、运动图片专家组(MPEG)-4文件格式、网络抽象层(NAL)单元结构化视频的文件格式、以及高效视频编码标准(HEVC或H.65/HEVC)。
以下将ISOBMFF的一些概念、结构和规范描述为容器文件格式的一个示例,基于该示例,可以实现一些实施例。本公开的各方面不限于ISOBMFF,而是针对一个可能的基础给出描述,在该基础上,可以部分或完全实现至少一些实施例。
ISO基本媒体文件格式中的基本构建块称为框。每个框具有报头和有效载荷。框报头以字节为单位指示框的类型和大小。框类型通常由无符号的32位整数标识,该整数被解释为四字符代码(4CC)。框可以包括其他框,并且ISO文件格式指定在特定类型的框中允许使用哪些框类型。此外,某些框的存在在每个文件中可以是强制性的,而其他框的存在可以是可选的。此外,对于某些框类型,可以允许在一个文件中具有多于一个框。因此,ISO基础媒体文件格式可以被认为指定了框的层次结构。
在符合ISO基本媒体文件格式的文件中,媒体数据可以在媒体数据框(“mdat”)的一个或多个示例中提供,并且电影框(“mov”)可以用于封装针对定时媒体的元数据。在某些情况下,为了使文件可操作,可能需要同时存在“mdat”和“moov”框。“moov”框可以包括一个或多个轨道,并且每个轨道可以位于一个对应的轨道框(“trak”)中。每个轨道与处理器相关联,该处理器由四字符代码标识,用于指定轨道类型。视频、音频和图像序列轨道可以统称为媒体轨道,并且它们包含基本媒体流。其他轨道类型包括提示轨道和定时元数据轨道。
轨道包括样本,诸如音频或视频帧。对于视频轨道,媒体样本可以对应于编码图片或访问单元。
媒体轨道是指根据媒体压缩格式而格式化的样本(也可以称为媒体样本)(以及其成为ISO基本媒体文件格式的封装)。提示轨道是指提示样本,包含用于构造用于通过所指示的通信协议进行传输的数据包的食谱指令。定时元数据轨道可以指代描述所参考的媒体和/或提示样本的样本。
“trak”框在其框的层次结构中包括样本描述框,样本描述框提供了有关所使用的编码类型的详细信息、以及该编码所需要的任何初始化信息。样本描述框包含条目计数和与条目计数所指示的一样多的样本条目。样本条目的格式是轨道类型特定的,但派生自泛型类(例如,视频样本条目、音频样本条目)。哪种类型的样本条目形式被用于推导轨道类型特定的样本条目格式是由轨道的媒体处理器确定的。
轨道参考机构可以用于将轨道彼此关联。轨道参考框包括(多个)框,每个框提供从包含轨道到一组其他轨道的参考。这些参考通过所包含的(多个)框的框类型(例如,框的四字符代码)而被标记。
ISO基本媒体文件格式包含可以与特定样本相关联的定时元数据的三种机制:样本组、定时元数据轨道和样本辅助信息。派生规范可以利用这三种机制中的一种或多种机制提供类似的功能。
ISO基本媒体文件格式及其衍生物(诸如高级视频编码(AVC)文件格式和可缩放视频编码(SVC)文件格式)中的样本分组可以被定义为基于分组标准将轨道中的每个样本分配为一个样本组的成员。样本分组中的样本组不限于连续样本,并且可以包含非相邻样本。由于对于轨道中的样本可以存在多于一个样本分组,因此每个样本分组可以具有用于指示分组类型的类型字段。样本分组可以由两个链接的数据结构表示:(1)样本到组框(sbgp框)表示将样本分配给样本组;以及(2)样本组描述框(sgpd框)针对每个样本组包含用于描述组的属性的样本组条目。基于不同的分组标准,可以存在样本到组框和样本组描述框的多个实例。这些可以通过用于指示分组类型的类型字段来区分。样本到组框可以包括grouping_type_parameter字段,该字段可以用于例如指示分组的子类型。
在ISOMBFF中,编辑列表提供了呈现时间线与媒体时间线之间的映射。除其他事项外,编辑列表提供了轨道中样本呈现的线性偏移,提供了空时间的指示,并且提供了要在特定时间段内停留的特定样本。呈现时间线可以相应地修改以提供循环,诸如用于场景的各个区域的循环视频。下面提供了包括编辑列表的框(EditListBox)的一个示例:
在ISOBMFF中,EditListBox可以被包含在编辑框中,编辑框被包含在轨道框(“trak”)中。
在编辑列表框的示例中,标志指定编辑列表的重复。例如,将框标志内的特定位(最低有效位,例如ANSI-C表示法中的标志&1,其中&指示逐位与运算)设置为0以指定不重复编辑列表,而将特定位(例如,ANSI-C表示法中的标志&1)设置为1以指定重复编辑列表。大于1的框标志的值可以被定义为保留用于将来的扩展。因此,当编辑列表框指示回放零个或一个样本时,(flags&1)应当等于零。当重复编辑列表时,在时间0处由编辑列表产生的媒体紧跟在具有由编辑列表引起的最大时间的媒体之后,使得编辑列表被无缝地重复。
在ISOBMFF中,轨道组能够基于特定特性对轨道进行分组,或者组内的轨道具有特定关系。但是,轨道分组不允许组中有任何图像项目。
ISOBMFF中TrackGroupBox(轨道组框)的语法如下:
track_group_type指示grouping_type,并且应当设置为后续值、或注册的值、或派生规范或注册中的值中的一个值:“msrc”指示该轨道属于多源表示。track_group_type“msrc”的TrackGroupTypeBox中具有相同track_group_id值的轨道被映射为源自同一源。例如,视频电话呼叫的记录可以具有用于两个参与者的音频和视频,并且与一个参与者的音频轨道和视频轨道相关联的track_group_id的值不同于与另一参与者的轨道相关联的track_group_id的值。
track_group_id和track_group_type的对标识文件中的轨道组。包含具有相同track_group_id和track_group_type值的特定TrackGroupTypeBox(轨道组类型框)的轨道属于同一轨道组。
实体分组类似于轨道分组,但能够将轨道和图像项目两者分组在同一组中。
ISOBMFF中EntityToGroupBox(实体到组框)的语法如下:
group_id是分配给特定分组的非负整数,其不应当等于任何其他EntityToGroupBox的任何group_id值、包含GroupsListBox(组列表框)的层次结构级别(文件、电影或轨道)的任何item_ID值、或任何track_ID值(当GroupsListBox被包含在文件级别中时)。
num_entities_in_group指定映射到该实体组的entity_id值的数目。
当item_ID等于entity_id的项目存在于包含GroupsListBox的层次结构级别(文件、电影或轨道)中时,entity_id被解析为项目;当track_ID等于entity_id的轨道存在并且GroupsListBox被包含在文件级别时,entity_id被解析为轨道。
符合ISOBMFF的文件可以在元框(四字符代码:“元”)中包含任何非定时对象,这些对象被称为项目、元项目或元数据项目。虽然元框的名称是指元数据,但项目通常可以包含元数据或媒体数据。元框可以位于文件的顶层、电影框内(四字符代码:“moov”)和轨道框内(四字符代码:“trak”),但在文件级、电影级或轨道级中的每一者中可以出现最多一个元框。元框可能需要包含指示“元”框内容的结构或格式的“hdlr”框。元框可以列出并且表征可以参考的任何数目的项目,并且它们中的每一者可以与文件名相关联,并且由作为整数值的项目标识符(item_id)与文件唯一地标识。例如,元数据项可以存储在元框的“idat”框中,或者存储在“mdat”框中,或者驻留在单独的文件中。如果元数据位于文件外部,则其位置可以由DataInformationBox(数据信息框)(四字符代码:“dinf”)声明。在使用可扩展标记语言(XML)语法对元数据进行格式化并且要求将其直接存储在MetaBox(元框)中的特定情况下,元数据可以封装到XMLBox(四字符代码:“XML”)或BinaryXMLBox(五字符代码:“bxml”)中。项目可以存储为连续字节范围,也可以存储在若干扩展区中,每个扩展区是连续的字节范围。换言之,项目可以被分段存储到扩展区中,例如以实现交织。扩展区是资源字节的连续子集。资源可以通过连接扩展区来形成。
ItemPropertiesBox(项目属性框)允许将任何项目与一组有序项目属性相关联。项目属性可以被视为小数据记录。ItemPropertiesBox包括两部分:包含隐式索引的项目属性列表的ItemPropertyContainerBox(项目属性容器框)、以及将项目与项目属性相关联的一个或多个ItemPropertyAssociationBox(项目属性关联框)。
高效图像文件格式(HEIF)
高效图像文件格式(HEIF)是由运动图片专家组(MPEG)开发的用于存储图像和图像序列的标准。除其他外,该标准促进对根据高效视频编码(HEVC)标准而编码的数据进行文件封装。HEIF包括在所使用的ISO基本媒体文件格式(ISOBMFF)之上构建的特征。
在HEIF的设计中,很大程度上使用ISOBMFF的结构和特征。HEIF的基本设计包括将静止图像存储为项目并且将图像序列存储为轨道。
在HEIF的上下文中,以下框可以被包含在根级别的“元”框中,并且可以按照以下所述使用。在HEIF中,“元”框的“处理器”框的处理器值为“pict”。包含编码媒体数据的资源(无论是在同一文件中,还是在由统一资源标识符标识的外部文件中)通过数据信息(“dinf”)框来解析,而项目位置(“iloc”)框存储参考文件中每个项目的位置和大小。项目参考(“iref”)框使用类型化参考来记录项目之间的关系。当项目集合中存在项目在某种程度上被认为是与其他项目相比最重要的项目时,该项目将由“主要项目”(“pitm”)框表示。除了这里提到的框,“元”框还可以灵活地包括描述项目所需要的其他框。
任何数目的图像项目都可以被包括在同一文件中。给定通过使用“元”框方法而存储的图像的集合,有时必须限定图像之间的某些关系。这种关系的示例包括指示集合的封面图像、提供集合中的一些或全部图像的缩略图、以及将集合中的图像中的部分或全部与诸如阿尔法平面等辅助图像相关联。图像集合中的封面图像使用“pitm”框来指示。缩略图或辅助图像分别使用类型为“thmb”或“auxl”的项目参考链接到主图像项目。
区域项目和区域注释
区域项目
定义
item_type值为“rgan”的项目定义图像的一个或多个区域。
区域项目可以允许将同一组项目属性或其他项目或这两者与其在图像内定义的每个个体区域相关联。但是,只有当区域的属性值与基本图像的匹配(显式的或隐含的)属性值不同时,项目属性才应当与区域项目相关联。
区域项目与图像项目相关联,其中区域使用从区域项目到图像项目的“cdsc”类型的项目参考来定义。
由区域项目描述的区域的几何形状在项目的数据中指定。这些几何形状定义了参考空间内的区域的形状、位置和大小,在任何变换属性被应用于图像项目之前,该参考空间被映射到与该区域项目相关联的图像项目。
参考空间被定义为二维坐标系,其中原点(0,0)位于左上角,最大尺寸由reference_width和reference_height定义;x轴从左到右定向,y轴从上到下定向。相关联的图像项目内的区域的几何形状是应用由参考空间的大小与图像项目的大小之间的差异引起的隐式重采样之后的值。
由区域项目描述的区域的几何形状可以由点、矩形、椭圆、多边形、存储在图像项目中的掩码、或在区域项目的数据中声明的掩码来表示。
图像项目中的作为区域的一部分的像素取决于区域的几何形状。当区域的几何形状由点表示时,位于该点处的像素(如果存在)是该区域的一部分。当区域的几何形状由矩形、椭圆或多边形表示时,位于该矩形、椭圆形或多边形内部(包括边界)的像素是该区域的一部分。当区域的几何形状被表示为掩码时,与掩码图像中具有0值的像素相对应的图像项目的像素是该区域的一部分。
在一个实施例中,当一个区域完全落在图像之外时,它可以是空的。空区域应当忽略。
当区域的几何形状由存储在图像项目中的掩码表示时(例如,当geometry_type等于4时),包含掩码的项目应当通过从区域项目到包含掩码的项目的“掩码”类型的项目参考来标识。当一个区域项目描述了由存储在图像项目中的掩码表示的多个区域时,在“掩码”类型的项目参考内,每个这样的区域应当存在一个参考。“掩码”类型的项目参考中的第N参考标识区域项目中geometry_type等于4的(按声明顺序的)第N区域的掩码。
在一个实施例中,当存储为图像项目的同一掩码用于区域项目中声明的多个区域时,该图像项目将在“掩码”类型的项目参考中被参考多次。
在一个实施例中,当掩码被存储为图像项目时,变换项目属性可以在掩码应用于参考图像项目之前应用于掩码。
语法
/>
语义
版本应当等于0。
(flags&1)等于0指定字段x、y、width、height、radius_x、radius_y、point_count、px和py的长度为16位。(flags&1)等于1指定字段x、y、width、height、radius_x、radius_y、point_count、px和py的长度为32位。大于1的标志的值被保留。
reference_width、reference_height分别指定区域放置在其上的参考空间的宽度和高度。
geometry_type指定区域的几何形状的类型。指定了geometry_type的以下值:
-0:区域被描述为点。
-1:区域被描述为矩形。
-2:区域被描述为椭圆。
-3:区域被描述为多边形。
-4:区域被描述为在参考图像项目中定义的掩码。
-5:区域被描述为在区域项目的数据内部定义的掩码。
-保留其他值。
x、y指定当区域的几何形状为点时区域的坐标。x、y指定当区域的几何形状为矩形或掩码时区域的左上角。x、y指定当区域的几何形状为椭圆时区域的中心。x或y字段的负值使得能够指定图像外部的点、左上角和/或中心。这对于在HEIF文件的编辑过程中更新区域注释可以很有用。
width、height指定当区域的几何形状为矩形或内联掩码时区域的宽度和高度。
radius_x指定当区域的几何形状为椭圆时区域在x轴上的半径。
radius_y指定当区域的几何形状为椭圆时区域在y轴上的半径。
point_count是多边形中包含的点数。
指定区域的几何形状的多边形总是闭合的,因此不需要重复多边形的第一点作为多边形的终点。
px、py指定组成多边形的点的坐标。
bits_per_pixel提供每个像素的位数。其应当为1、8、16、24。其他值被保留。
指定每个像素超过1位的掩码可以使用alpha平面层作为掩码。
数据包含按光栅扫描顺序的内联掩码的像素。当bits_per_pixel等于1时,8个像素被打包在一个字节中。如果掩码宽度不是8个像素的倍数,则不应当在每行的末尾处放置填充。应当仅填充最后数据字节。
区域注释
区域注释包括与图像项目的一个或多个区域相关联的元数据或图像项目。
区域注释可以通过以下方式与图像项目的一个或多个区域相关联:
-在区域项目中描述这些一个或多个区域的几何形状;
-使用从区域项目到图像项目的“cdsc”(内容描述)项目参考,将区域项目与其描述的图像项目相关联;以及
-将以下任何或全部内容与区域项目相关联:
о使用ItemPropertyAssociationBox(项目属性关联框)的描述性图像属性。在一个实施例中,区域注释可以使用UserDescriptionProperty(用户描述属性)来将描述/标签与图像项目的区域相关联;
о元数据项目,使用从元数据项目到区域项目的“cdsc”类型的项目参考;或者
о图像项目或实体组,使用从区域项目到图像项目或实体组的“eroi”类型的项目参考。
区域注释适用于区域项目中个体地描述的区域或每个区域。
通过将同一区域项目与多个图像项目相关联,同一区域注释可以与若干图像项目相关联。
区域项目是HEIF中引入的一个新项目。它能够存储映射到图像的特定区域的区域信息。这样的区域可以具有规则或不规则的形状。不规则形状可以使用“掩码”来定义。
当前语法结构通过参考图像项目来启用掩码的信令,该图像项目可以通过在RegionItem(区域项目)元数据结构内部进行掩码数据的内联存储来用作掩码。
由于内联存储的掩码数据是原始数据,因此其大小可能会变得相当大。这使得HEIF元数据不必要地大,并且在访问HEIF文件内的图像期间可能导致不必要的延迟或处理复杂性。
各种实施例提供了至少以下方法来减小该数据大小:
使用诸如ZLIB和DEFLATE等现成的压缩工具无损压缩掩码数据。压缩的掩码数据仍然可以内联存储在RegionItem数据结构中。
定义新的项目(掩码项目),然后,新项目将无损压缩的掩码数据存储为媒体数据,并且其由类型为“mask”的项目参考显式地引用。
各种实施例还提供了用于发送信号通知和配置区域掩码的必要语法元素,并且将它们有效地存储在图像文件格式文件中,例如HEIF文件。
为了引入掩码的有效存储,RegionItem数据结构通过各种实施例被如下扩展:
/>
/>
以下语义解释了由各个实施例提出的一个或多个语法元素:
cell_size指示包括掩码值的M×N个像素的区域的尺寸,其中M指示水平像素数目,N指示竖直像素数目。它们的值可以是1、2、4或8。在一个实施例中,M=(cell_size>>4)&0x0F,N=cell_size&0x0F。
M×N的单元大小指示M×N个像素由一个掩码值表示。例如,2×2的单元大小指示存在单个掩码值应用于2×2网格的所有像素。在这种情况下,掩码中的位数应当等于bits_per_pixel*(width*height)/(cell_size)。该除法将得到整数值。
mask_coding_method指示应用于数据的编码方法。可以指定以下值:
-0:没有应用掩码编码方案
-1:DEFLATE压缩数据
-2:ZLIB压缩数据
-其他值:保留
mask_coding_parameters指示成功处理编码的掩码数据所需要的附加编码或解码参数。
当mask_coding_method为:
-1或2:mask_coding_parameters指示编码的掩码数组数据[]中的字节数。
-其他值:保留
数据包含掩码的编码(DEFLATE或ZLIB)表示,该掩码可以包括按光栅扫描顺序的内联掩码的像素。bits_per_pixel和字节打包可以定义如下:
-当bits_per_pixel等于1、2或4时;每个字节打包的像素或单元(尺寸为M×N的像素尺寸)分别为8、4或2。字节打包可以采用大端序。在另一实施例中,字节打包可以是小端序或混合端序。当掩码宽度不是8个像素的倍数时,不应当在每行的末尾处放置填充。应当仅填充最后数据字节。
-当bits_per_pixel等于8、16或24时;像素或单元(尺寸为M×N的像素)的掩码值分别用1、2或3个字节表示。像素或单元(尺寸为M×N的像素)的字节可以从最高有效字节开始被序列化。在另一实施例中,像素或单元(尺寸为M×N的像素)的字节可以从最低有效字节开始被序列化。
mask_configuration包括作为MaskConfigurationStruct的掩码相关信息。
MaskConfigurationStruct在以下段落中与掩码项目语法一起描述。
在另一实施例中,掩码作为HEIF项目被引入。这种方法的至少一个优点是能够将掩码数据存储在HEIF文件的媒体数据部分中,而不是与元数据一起存储。此外,用于掩码的所有必要的配置数据可以一起收集和/或由不同的区域项目重复使用。
掩码项目
定义
item_type值为“mski”的项目定义掩码。掩码可以与区域项目相关联,以定义由该区域项目定义的特定区域的掩码。
掩码项目包括以像素为单位的定义的宽度和高度。掩码项目数据表示压缩或未压缩的位序列,其中每一位对应于一个像素或一组像素。
掩码项目的宽度和高度应当使用图像空间扩展(“ispe”)属性来指示。
掩码特定配置和压缩信息可以存储在MaskConfigurationProperty(掩码配置属性)中。
掩码数据包括掩码的编码(例如,DEFLATE或ZLIB)表示,该掩码包括按光栅扫描顺序的内联掩码的像素。bits_per_pixel和字节打包定义如下:
-当MaskConfigurationProperty的bits_per_pixel等于1、2或4时;每个字节打包的像素或单元(尺寸为M×N的像素)分别为8、4或2。字节打包可以采用大端序。当掩码宽度不是8个像素的倍数时,不应当在每行的末尾处放置填充,而应当仅填充最后数据字节。例如,当用公式bits_per_pixel*(width*height)/(cell_size)计算的、用于表示掩码所需要的位数不是8的倍数时,在这种情况下,最后字节可以具有填充位,并且公式告诉我们填充了多少位。
-当MaskConfigurationProperty的bits_per_pixel等于8、16或24时;一个或多个像素(尺寸为M×N的像素)的掩码值分别用1、2或3个字节表示。像素的字节可以从最高有效字节开始被序列化。
掩码配置属性
掩码项目的配置信息可以存储为属性,并且与掩码项目相关联。以下语法和定义定义了这样的配置属性。
定义
-框类型:“mskc”
-属性类型:描述性项目属性
-容器:ItemPropertyContainerBox
-(每个项目)强制要求:针对掩码项目为是
-(每个项目)数量:一个
MaskConfigurationProperty提供生成掩码项目所需要的信息。
语法
语义
(flags&1)等于0指定字段width和height的长度为16位。
(flags&1)等于1指定字段width和height的长度为32位。
大于1的标志的值被保留。
width以像素为单位指定掩码的宽度。
height以像素为单位指定掩码的高度。
bits_per_pixel提供每个像素的位数。应当为1、2、4、8、16或24。其他值被保留。
cell_size指示M×N个像素的区域的尺寸,包括掩码值,其中M指示水平像素数目,N指示竖直像素数目。它们的值可以是1、2、4或8。在一个实施例中,M=(cell_size>>4)&0x0F,N=cell_size&0x0F。
M×N的单元大小指示M×N个像素由一个掩码值表示。例如,2×2的单元大小指示存在单个掩码值应用于2×2网格的所有像素。在这种情况下,掩码中的位数应当等于bits_per_pixel*(width*height)/(cell_size)。该除法将得到整数值。
mask_data_encoding_method指示应用于数据的编码方法。
指定了以下值:
-0:没有应用掩码编码方案
-1:DEFLATE压缩数据,例如,如RFC 1951中定义的
-2:ZLIB压缩数据,例如,如RFC 1950中定义的
-其他值:保留
图7是示例设备700,其可以在硬件中实现,设备700被配置为基于本文中描述的示例来实现用于以图像文件格式对区域和/或区域掩码中的至少一项进行信号发送的机制。设备700包括处理器702、包括计算机程序代码705的至少一个非暂态存储器704,其中至少一个存储器704和计算机程序代码705被配置为与至少一个处理器702一起使该装置实现用于以图像文件格式706对区域和/或区域掩码中的至少一项进行信号发送的机制。设备700可选地包括显示器708,显示器708可以用于在绘制期间显示内容。设备700可选地包括一个或多个网络(NW)接口(I/F)710。(多个)NW I/F 710可以是有线和/或无线的,并且经由任何通信技术通过互联网/(多个)其他网络进行通信。(多个)NW I/F 710可以包括一个或多个发射器和一个或多个接收器。(多个)N/W I/F 710可以包括标准的众所周知的部件,诸如放大器、滤波器、频率转换器、(解)调制器、(多个)编码器/解码器电路系统、以及一个或多个天线。
设备700可以是远程、虚拟或云设备。设备700可以是编码器或解码器,或者是编码器和解码器两者。至少一个存储器704可以使用任何合适的数据存储技术来实现,诸如基于半导体的存储器设备、闪存、磁存储器设备和系统、光存储器设备和系统、固定存储器和可移动存储器。至少一个存储器704可以包括用于存储数据的数据库。设备700不需要包括所提到的每个特征,或者也可以包括其他特征。设备700可以对应于或是图1和图2所示的设备50或图3所示的任何设备的另一实施例。设备700可以对应于或是图9所示的设备的另一实施例,包括UE 110、RAN节点170或(多个)网络元件190。
图8是根据一个实施例的用于实现用于以图像文件格式对区域和/或区域掩码中的至少一项进行信号发送的机制的示例方法800。如图7的框706所示,设备700包括用于实现用于以图像文件格式对区域和/或区域掩码中的至少一项进行信号发送的机制的部件,诸如处理电路系统702等。在802,方法800包括定义或扩展文件格式数据结构以包括单元大小、掩码编码方法、掩码编码参数和掩码配置。在804,方法800包括,其中单元大小以像素为单位指示包括掩码值的区域的尺寸。在一个实施例中,M×N区域由掩码值表示。例如,当区域的尺寸为20×20像素(M=2和N=2)时,掩码将具有10×10的尺寸。在本实施例中,M×N指示映射到一个掩码值的像素尺寸。在806,方法800包括,其中掩码编码方法指示应用于媒体的掩码或数据的编码方法。在808,方法800包括,其中掩码编码参数指示处理编码的掩码数据所需要的附加编码或解码参数。在810,方法800包括,其中掩码配置包括作为掩码配置结构的掩码相关信息。
转到图9,该图示出了可以在其中实践示例实施例的一个可能的非限制性系统的框图。图示了用户设备(UE)110、无线电接入网(RAN)节点170和(多个)网络元件190。在图1的示例中,用户设备(UE)110与无线网络100进行无线通信。UE是能够接入无线网络100的无线设备。UE 110包括通过一个或多个总线127互连的一个或多个处理器120、一个或多个存储器125、以及一个或多个收发器130。一个或多个收发器130中的每个收发器包括接收器Rx132和发射器Tx 133。一个或多个总线127可以是地址、数据或控制总线,并且可以包括任何互连机制,诸如主板或集成电路上的一系列线路、光纤或其他光通信设备等。一个或多个收发器130连接到一个或多个天线128。一个或多个存储器125包括计算机程序代码123。UE110包括模块140,模块140包括部分140-1和/或140-2中的一者或两者,模块140可以以多种方式实现。模块140可以在硬件中被实现为模块140-1,诸如被实现为一个或多个处理器120的一部分。模块140-1也可以被实现为集成电路或通过诸如可编程门阵列等其他硬件来实现。在另一示例中,模块140可以被实现为模块140-2,模块140-2被实现为计算机程序代码123并且由一个或多个处理器120执行。例如,一个或多个存储器125和计算机程序代码123可以被配置为与一个或多个处理器120一起使用户设备110执行如本文中描述的操作中的一个或多个操作。UE 110经由无线链路111与RAN节点170通信。
在该示例中,RAN节点170是提供诸如UE 110等无线设备到无线网络100的接入的基站。RAN节点170可以是例如用于5G的基站,也称为新无线电(NR)。在5G中,RAN节点170可以是NG-RAN节点,其被定义为gNB或ng-eNB。gNB是向UE提供NR用户平面和控制平面协议终端并且经由NG接口连接到5GC(例如,(多个)网络元件190)的节点。Ng-eNB是向UE提供E-UTRA用户平面和控制平面协议终端并且经由NG接口连接到5GC的节点。NG-RAN节点可以包括多个gNB,其还可以包括中央单元(CU)(gNB-CU)196和(多个)分布式单元(DU)(gNB-DU),其中示出了DU 195。注意,DU可以包括或耦合到并且控制无线电单元(RU)。gNB-CU是托管gNB的无线电资源控制(RRC)、SDAP和PDCP协议f51或en-gNB的RRC和PDCP协议的逻辑节点,其控制一个或多个gNB-DU的操作。gNB-CU终止与gNB-DU连接的F1接口。F1接口被示出为附图标记198,尽管附图标记198也图示了RAN节点170的远程元件与RAN节点170的集中式元件之间的链路,诸如gNB-CU 196与gNB-DU 195之间的链路。gNB-DU是托管gNB或en-gNB的RLC、MAC和PHY层的逻辑节点,并且其操作部分地由gNB-CU控制。一个gNB-CU支持一个或多个小区。一个小区仅由一个gNB-DU支持。gNB-DU终止与gNB-CU连接的F1接口198。注意,DU 195被认为包括收发器160,例如,作为RU的一部分,但是这方面的一些示例可以具有作为单独RU的一部分的收发器160,例如,在DU 195的控制下并且连接到DU 195。RAN节点170还可以是用于LTE(长期演进)的eNB(演进型节点B)基站、或者任何其他合适的基站或节点。
RAN节点170包括通过一个或多个总线157互连的一个或多个处理器 152、一个或多个存储器 155、一个或多个网络接口(N/W I/F)161和一个或多个收发器160。一个或多个收发器160中的每个收发器包括接收器Rx 162和发射器Tx 163。一个或多个收发器160连接到一个或多个天线158。一个或多个存储器155包括计算机程序代码153。CU 196可以包括(多个)处理器152、存储器155和网络接口161。注意,DU 195还可以包括其自己的一个或多个存储器和(多个)处理器、和/或其他硬件,但这些未示出。
RAN节点170包括模块150,模块150包括部分150-1和/或150-2中的一者或两者,模块150可以多种方式实现。模块150可以在硬件中被实现为模块150-1,诸如被实现为一个或多个处理器152的一部分。模块150-1也可以被实现为集成电路或通过诸如可编程门阵列等其他硬件来实现。在另一示例中,模块150可以被实现为模块150-2,模块150-2被实现为计算机程序代码153并且由一个或多个处理器152执行。例如,一个或多个存储器155和计算机程序代码153被配置为与一个或多个处理器152一起使RAN节点170执行如本文中描述的操作中的一个或多个操作。注意,模块150的功能可以是分布式的,诸如分布在DU 195与CU196之间,或者仅在DU 195中实现。
一个或多个网络接口161通过网络通信,诸如经由链路176和131。两个或更多个gNB 170可以使用例如链路176进行通信。链路176可以是有线的或无线的或者这两者,并且可以实现例如用于5G的Xn接口、用于LTE的X2接口、或用于其他标准的其他合适接口。
一个或多个总线157可以是地址、数据或控制总线,并且可以包括任何互连机构,诸如主板或集成电路上的一系列线路、光纤或其他光通信设备、无线信道等。例如,一个或多个收发器160可以被实现为用于LTE的远程无线电头(RRH)195或用于5G的gNB实现的分布式单元(DU)195,其中RAN节点170的其他元件可能在物理上处于与RRH/DU不同的位置,并且一个或多个总线157可以部分地被实现为例如用于将RAN节点170的其他元件(例如,中央单元(CU)、gNB-CU)连接到RRH/DU 195的光纤电缆或其他合适的网络连接。附图标记198还指示那些合适的(多个)网络链路。
注意,本文中的描述表明“小区”执行功能,但应当清楚的是,形成小区的设备可以执行功能。小区构成基站的一部分。也就是说,每个基站可以有多个小区。例如,对于单个载波频率和相关带宽,可以有三个小区,每个小区覆盖360度区域的三分之一,使得单个基站的覆盖区域覆盖近似椭圆形或圆形。此外,每个小区可以对应于单个载波,并且基站可以使用多个载波。因此,如果每个载波有三个120度小区和两个载波,那么基站总共有6个小区。
无线网络100可以包括一个或多个网络元件190,该网络元件190可以包括核心网络功能,并且通过一个或多个链路181提供与另一网络的连接,诸如电话网络和/或数据通信网络(例如,互联网)。这种用于5G的核心网络功能可以包括(多个)接入和移动性管理功能(AMF)和/或(多个)用户平面功能(UPF)和/或(多个)会话管理功能(SMF)。LTE的这种核心网络功能可以包括MME(移动性管理实体)/SGW(服务网关)功能。这些仅仅是(多个)网络元件190可以支持的示例功能,并且注意,5G和LTE功能都可以被支持。RAN节点170经由链路131耦合到网络元件190。链路131可以被实现为例如用于5G的NG接口、或者用于LTE的S1接口、或者用于其他标准的其他合适接口。网络元件190包括通过一个或多个总线185互连的一个或多个处理器175、一个或多个存储器171、以及一个或多个网络接口(N/W I/F)180。一个或多个存储器171包括计算机程序代码173。一个或多个存储器171和计算机程序代码173被配置为与一个或多个处理器175一起使网络元件190执行一个或多个操作。
无线网络100可以实现网络虚拟化,网络虚拟化是一个将硬件和软件网络资源以及网络功能组合成单个基于软件的管理实体(虚拟网络)的过程。网络虚拟化涉及平台虚拟化,平台虚拟化通常与资源虚拟化相结合。网络虚拟化可以分为外部的,将很多网络或网络的部分组合成虚拟单元;也可以分为内部的,为单个系统上的软件容器提供类似网络的功能。注意,在某些级别上,由网络虚拟化产生的虚拟化实体仍然使用诸如处理器152或175以及存储器155和171等硬件来实现,并且这种虚拟化实体也产生技术效果。
计算机可读存储器125、155和171可以是适合本地技术环境的任何类型,并且可以使用任何合适的数据存储技术来实现,诸如基于半导体的存储器设备、闪存、磁存储器设备和系统、光存储器设备和系统、固定存储器和可移动存储器。计算机可读存储器125、155和171可以是用于执行存储功能的部件。处理器120、152和175可以是适合于本地技术环境的任何类型,并且作为非限制性示例,可以包括通用计算机、专用计算机、微处理器、数字信号处理器(DSP)和基于多核处理器架构的处理器中的一者或多者,。处理器120、152和175可以是用于执行诸如控制UE 110、RAN节点170、(多个)网络元件190等功能以及如本文中描述的其他功能的部件。
通常,用户设备110的各种实施例可以包括但不限于蜂窝电话,诸如智能电话、平板电脑、具有无线通信能力的个人数字助理(PDA)、具有无线通信能力的便携式计算机、具有无线通信能力的图像捕获设备(诸如数码相机)、具有无线通信能力的游戏设备、具有无线通信能力的音乐存储和播放设备、允许无线互联网接入和浏览的互联网设备、具有无线电通信能力的平板电脑、以及包括这样的功能的组合的便携式单元或终端。
模块140-1、140-2、150-1和150-2中的一个或多个模块可以被配置为实现用于基于本文中描述的示例以图像文件格式对区域和/或区域掩码中的至少一项进行信号发送的机制。计算机程序代码173也可以被配置为实现用于基于本文中描述的示例以图像文件格式对区域和/或区域掩码中的至少一项进行信号发送的机制。
如上所述,图8包括根据某些示例实施例的设备(例如,50、600或700)、方法和计算机程序产品的流程图。应当理解,流程图的每个块以及流程图中的块的组合可以通过各种部件来实现,诸如硬件、固件、处理器、电路系统和/或与包括一个或多个计算机程序指令的软件的执行相关联的其他设备。例如,上述过程中的一个或多个过程可以通过计算机程序指令来实现。在这点上,体现上述过程的计算机程序指令可以由采用本发明的一个实施例的装置的存储器(例如,58、125、604或704)存储,并且由该装置的处理电路系统(例如,56、120、602或702)执行。如将理解的,任何这样的计算机程序指令可以被加载到计算机或其他可编程装置(例如,硬件)上以产生机器,使得所得到的计算机或其他可编程装置实现在流程图块中指定的功能。这些计算机程序指令也可以存储在计算机可读存储器中,该计算机可读存储器可以指示计算机或其他可编程装置以特定方式工作,使得存储在计算机可读存储器中的指令产生制品,该制品的执行实现了在流程图块中指定的功能。计算机程序指令也可以被加载到计算机或其他可编程装置上,以导致一系列操作在计算机或其他可以编程装置上被执行以产生计算机实现的过程,使得在计算机或其他可编程装置上执行的指令提供用于实现流程图块中指定的功能的操作。
因此,计算机程序产品是在计算机程序指令(诸如计算机可读程序代码部分)由至少一个非暂态计算机可读存储介质存储的情况下定义的,其中计算机程序指令(诸如计算机可读程序代码部分)被配置为在被执行时执行以上诸如结合图8的流程图描述的功能。在其他实施例中,计算机程序指令(诸如计算机可读程序代码部分)不需要由非暂态计算机可读存储介质存储或以其他方式体现,而是可以由暂态介质体现,其中计算机程序指令(诸如计算机可读程序代码部分)被配置为在被执行时仍然执行上述功能。
因此,流程图的块支持用于执行指定功能的部件的组合、以及用于执行特定功能的操作的组合。还将理解,流程图的一个或多个块以及流程图中的块的组合可以由执行指定功能的基于专用硬件的计算机系统或者专用硬件和计算机指令的组合来实现。
在一些实施例中,可以修改或进一步放大上述操作中的某些操作。此外,在一些实施例中,可以包括附加可选操作。对上述操作的修改、添加或放大可以以任何顺序和任何组合进行。
受益于上述描述和相关附图中给出的教导,本发明所属领域的技术人员将想到本文中提出的本发明的很多修改和其他实施例。因此,应当理解,本发明不限于所公开的特定实施例,并且修改和其他实施例旨在被包括在所附权利要求的范围内。此外,尽管前述描述和相关联的附图在元件和/或功能的某些示例组合的上下文中描述了示例实施例,但是应当理解,在不脱离所附权利要求的范围的情况下,备选实施例可以提供元件和/或功能的不同组合。在这点上,例如,与上面明确描述的元件和/或功能的不同组合也被考虑,如在所附权利要求中的一些中所阐述的。因此,本说明书旨在包括落入所附权利要求范围内的所有这样的备选方案、修改和变化。尽管本文中使用了特定术语,但它们仅在一般和描述性意义上使用,而不是出于限制的目的。
应当理解,以上描述仅为说明性的。本领域技术人员可以设计各种备选方案和修改。例如,各种从属权利要求中所述的特征可以以任何合适的(多种)组合而彼此组合。此外,来自上述不同实施例的特征可以选择性地组合成新的实施例。因此,本说明书旨在包括落入所附权利要求范围内的所有这样的备选方案、修改和变化。

Claims (33)

1.一种装置,包括:
至少一个处理器;以及
至少一个非暂态存储器,包括计算机程序代码;
其中所述至少一个存储器和所述计算机程序代码被配置为与所述至少一个处理器一起使所述装置至少执行:
定义或扩展文件格式数据结构以包括:
单元大小,用于以像素为单位指示包括掩码值的区域的尺寸;
掩码编码方法,用于指示应用于媒体的掩码或数据的编码方法;
掩码编码参数,用于指示处理编码的掩码数据所需要的附加编码或解码参数;以及
掩码配置,包括作为掩码配置结构的掩码相关信息。
2.根据权利要求1所述的装置,其中所述单元大小尺寸包括M×N个像素,其中M指示水平像素数目,并且N指示竖直像素数目。
3.根据权利要求1所述的装置,其中所述掩码编码方法包括用于指示以下中的一项或多项的值:
没有应用掩码编码方案;
应用DEFLATE压缩数据编码;或者
应用ZLIB压缩数据编码。
4.根据权利要求1所述的装置,其中当所述掩码编码方法包括预定值时,所述掩码编码参数还指示编码的掩码阵列中的字节数。
5.根据权利要求1或4中任一项所述的装置,其中当所述掩码编码方法包括除所述预定值之外的值时,所述掩码编码参数的值被保留。
6.根据权利要求3所述的装置,所述装置还被引起为定义针对所述区域的掩码,其中所述区域是基于所述媒体的区域项目或元数据中的至少一者来定义的。
7.根据前述权利要求中任一项所述的装置,其中所述文件格式数据结构包括区域项目数据结构。
8.根据前述权利要求中任一项所述的装置,其中所述文件格式数据结构包括所述掩码。
9.根据权利要求8所述的装置,其中所述装置还被引起为定义项目类型,其中所述项目类型为“mski”的图像项目是定义所述掩码的掩码项目。
10.根据权利要求1所述的装置,其中所述掩码配置包括以下中的至少一项:每像素比特或字节打包信息。
11.根据权利要求10所述的装置,其中当所述掩码配置的每像素比特信息包括1、2或4时,每字节打包的像素分别为8、4或2,并且其中所述字节打包包括大端序。
12.根据权利要求11所述的装置,其中当所述掩码宽度不是8个像素的倍数时,不在每行的末尾处放置填充,并且填充最后的数据字节。
13.根据权利要求10所述的装置,其中当所述掩码配置的每像素比特信息为8、16或24时,像素的所述掩码值分别用1、2或3个字节表示,并且其中像素的字节从最高有效字节开始被序列化。
14.根据前述权利要求中任一项所述的装置,其中所述装置还被引起为:
定义用于发送信号通知和配置所述掩码的语法元素;以及
将所述掩码存储为高效图像文件(HEIF)格式文件。
15.一种方法,包括:
定义或扩展文件格式数据结构以包括:
单元大小,用于以像素为单位指示包括掩码值的区域的尺寸;
掩码编码方法,用于指示应用于媒体的掩码或数据的编码方法;
掩码编码参数,用于指示处理编码的掩码数据所需要的附加编码或解码参数;以及
掩码配置,包括作为掩码配置结构的掩码相关信息。
16.根据权利要求15所述的方法,其中所述单元大小尺寸包括M×N个像素,其中M指示水平像素数目,并且N指示竖直像素数目。
17.根据权利要求15所述的方法,其中所述掩码编码方法包括用于指示以下中的一项或多项的值:
没有应用掩码编码方案;
应用DEFLATE压缩数据编码;或者
应用ZLIB压缩数据编码。
18.根据权利要求15所述的方法,其中当所述掩码编码方法包括预定值时,所述掩码编码参数还指示编码的掩码阵列中的字节数目。
19.根据权利要求15或18中任一项所述的方法,其中当所述掩码编码方法包括除所述预定值之外的值时,所述掩码编码参数的值被保留。
20.根据权利要求18所述的方法,还包括定义针对所述区域的掩码,其中所述区域是基于所述媒体的区域项目或元数据中的至少一者来定义的。
21.根据前述权利要求中任一项所述的方法,其中所述文件格式数据结构包括区域项目数据结构。
22.根据前述权利要求中任一项所述的方法,其中所述文件格式数据结构包括所述掩码。
23.根据权利要求22所述的方法,还包括定义项目类型,其中所述项目类型为“mski”的图像项目是定义所述掩码的掩码项目。
24.根据权利要求15所述的方法,其中所述掩码配置包括以下中的至少一项:每像素比特或字节打包信息。
25.根据权利要求24所述的方法,其中当所述掩码配置的每像素比特信息包括1、2或4时,每字节打包的像素分别为8、4或2,并且其中所述字节打包包括大端序。
26.根据权利要求25所述的方法,其中当所述掩码宽度不是8个像素的倍数时,不在每行的末尾处放置填充,并且填充最后的数据字节。
27.根据权利要求24所述的方法,其中当所述掩码配置的每像素比特信息为8、16或24时,像素的所述掩码值分别用1、2或3个字节表示,并且其中像素的字节从最高有效字节开始被序列化。
28.根据前述权利要求中任一项所述的方法,还包括:
定义用于发送信号通知和配置所述掩码的语法元素;以及
将所述掩码存储为高效图像文件(HEIF)格式文件。
29.一种计算机可读介质,包括用于使装置至少执行以下操作的程序指令:
定义或扩展文件格式数据结构以包括:
单元大小,用于以像素为单位指示包括掩码值的区域的尺寸;
掩码编码方法,用于指示应用于媒体的掩码或数据的编码方法;
掩码编码参数,用于指示处理编码的掩码数据所需要的附加编码或解码参数;以及
掩码配置,包括作为掩码配置结构的掩码相关信息。
30.根据权利要求29所述的计算机可读介质,其中所述计算机可读介质包括非暂态计算机可读介质。
31.根据权利要求29或30中任一项所述的计算机可读介质,其中所述计算机可读介质还使所述装置执行根据权利要求16至28中任一项中所述的方法。
32.一种装置,包括:
用于定义或扩展文件格式数据结构的部件,以包括以下各项:
单元大小,用于以像素为单位指示包括掩码值的区域的尺寸;
掩码编码方法,用于指示应用于媒体的掩码或数据的编码方法;
掩码编码参数,用于指示处理编码的掩码数据所需要的附加编码或解码参数;以及
掩码配置,包括作为掩码配置结构的掩码相关信息。
33.根据权利要求32所述的装置,其中所述装置还包括用于执行根据权利要求16至28中任一项所述的方法的部件。
CN202280029200.2A 2021-04-19 2022-03-31 用于以图像文件格式对区域和区域掩码进行信号发送的方法和装置 Pending CN117242490A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202163176457P 2021-04-19 2021-04-19
US63/176,457 2021-04-19
PCT/IB2022/053042 WO2022224063A1 (en) 2021-04-19 2022-03-31 Method and apparatus for signaling of regions and region masks in image file format

Publications (1)

Publication Number Publication Date
CN117242490A true CN117242490A (zh) 2023-12-15

Family

ID=81327497

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202280029200.2A Pending CN117242490A (zh) 2021-04-19 2022-03-31 用于以图像文件格式对区域和区域掩码进行信号发送的方法和装置

Country Status (4)

Country Link
US (1) US20240205422A1 (zh)
EP (1) EP4327285A1 (zh)
CN (1) CN117242490A (zh)
WO (1) WO2022224063A1 (zh)

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4806054B2 (ja) * 2009-05-13 2011-11-02 インターナショナル・ビジネス・マシーンズ・コーポレーション データが記憶された位置を選択する装置及び方法

Also Published As

Publication number Publication date
EP4327285A1 (en) 2024-02-28
WO2022224063A1 (en) 2022-10-27
US20240205422A1 (en) 2024-06-20

Similar Documents

Publication Publication Date Title
US12036036B2 (en) High-level syntax for signaling neural networks within a media bitstream
JP6932144B2 (ja) Hevcおよびl−hevcファイルフォーマットでのタイルグルーピングおよびサンプルのマッピング
US11412266B2 (en) High level syntax for compressed representation of neural networks
EP3363203B1 (en) Signaling of parameter sets in files of multi-layer bitstreams
JP6506474B2 (ja) マルチレイヤビットストリームファイルフォーマットにおける動作点サンプルグループの位置合わせ
US20240022787A1 (en) Carriage and signaling of neural network representations
CN104221386A (zh) 译码视频及存储视频内容的方法
US20230217028A1 (en) Guided probability model for compressed representation of neural networks
KR20190104026A (ko) 비디오를 위한 개선된 제약 스킴 설계
CN105554513A (zh) 一种基于h.264的全景视频传输方法及系统
US20230112309A1 (en) High-level syntax for signaling neural networks within a media bitstream
US12022129B2 (en) High level syntax and carriage for compressed representation of neural networks
WO2022269415A1 (en) Method, apparatus and computer program product for providng an attention block for neural network-based image and video compression
CN113940075A (zh) 用于视频编码和解码的装置、方法和计算机程序
US20240195969A1 (en) Syntax and semantics for weight update compression of neural networks
WO2022269469A1 (en) Method, apparatus and computer program product for federated learning for non independent and non identically distributed data
US20240205422A1 (en) Method and apparatus for signaling of regions and region masks in image file format
US20220335979A1 (en) Method, apparatus and computer program product for signaling information of a media track
EP4266688A1 (en) Method and apparatus for encoding, decoding, or progressive rendering of image
US20240289590A1 (en) Method, apparatus and computer program product for providing an attention block for neural network-based image and video compression
US20230232082A1 (en) Method and apparatus for signaling multiple media data types
WO2023194816A1 (en) Method and apparatus for tracking group entry information
WO2024079718A1 (en) Apparatus and method for integrating neural-network post-filter supplemental enhancement information with iso base media file format
WO2023057903A1 (en) Method, apparatus and computer program product for implementing mechanisms for carriage of renderable text

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination