CN112868229A - 用于流传输数据的方法和设备 - Google Patents

用于流传输数据的方法和设备 Download PDF

Info

Publication number
CN112868229A
CN112868229A CN201980068264.1A CN201980068264A CN112868229A CN 112868229 A CN112868229 A CN 112868229A CN 201980068264 A CN201980068264 A CN 201980068264A CN 112868229 A CN112868229 A CN 112868229A
Authority
CN
China
Prior art keywords
image data
terminal
information
dnn
server
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
CN201980068264.1A
Other languages
English (en)
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Priority claimed from PCT/KR2019/013733 external-priority patent/WO2020080873A1/en
Publication of CN112868229A publication Critical patent/CN112868229A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4046Scaling of whole images or parts thereof, e.g. expanding or contracting using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/70Media network packetisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/762Media network packet handling at the source 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • 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/184Methods 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 bits, e.g. of the compressed video stream
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • 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/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • H04N21/2355Processing of additional data, e.g. scrambling of additional data or processing content descriptors involving reformatting operations of additional data, e.g. HTML pages
    • H04N21/2356Processing of additional data, e.g. scrambling of additional data or processing content descriptors involving reformatting operations of additional data, e.g. HTML pages by altering the spatial resolution
    • 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/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • H04N21/2355Processing of additional data, e.g. scrambling of additional data or processing content descriptors involving reformatting operations of additional data, e.g. HTML pages
    • H04N21/2358Processing of additional data, e.g. scrambling of additional data or processing content descriptors involving reformatting operations of additional data, e.g. HTML pages for generating different versions, e.g. for different recipient devices
    • 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/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26258Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists for generating a list of items to be played back in a given order, e.g. playlist, or scheduling item distribution according to such list
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/44209Monitoring of downstream path of the transmission network originating from a server, e.g. bandwidth variations of a wireless network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • General Physics & Mathematics (AREA)
  • Biophysics (AREA)
  • Software Systems (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Image Processing (AREA)
  • Image Analysis (AREA)

Abstract

提供了一种与设备相应的终端。终端接收不同质量的多个图像数据的信息;基于所述信息请求服务器向终端发送所述多个图像数据中的图像数据,接收与所述请求相应的图像数据和人工智能(AI)数据,基于所述AI数据确定是否对所接收到的图像数据执行AI放大,并且基于所述确定的结果,通过与所述服务器的缩小深度神经网络(DNN)联合训练的放大DNN,对所接收到的图像数据执行AI放大,确认所述终端和所述服务器之间的网络的状态,并基于所述网络的状态请求图像数据。

Description

用于流传输数据的方法和设备
技术领域
本公开涉及数据流传输技术。更具体地,本公开涉及一种用于自适应地流传输通过使用深度神经网络(DNN)进行人工智能(AI)编码的图像数据的方法和设备。
背景技术
用于通过网络发送图像数据的方案包括下载方案和流传输方案。流传输方案表示由服务器实时发送图像数据并由终端实时再现接收到的图像数据的方案。
与在完全收发(即,完全发送和接收)图像数据之后开始图像数据的再现的下载方案不同,根据流传输方案,经由在服务器和终端之间建立的逻辑信道实时收发和再现图像数据,因此可以在反映流传输环境的变化的同时保持图像数据再现的服务质量(QoS)。
人工智能(AI)系统是用于实现人类水平智能的计算机系统。与一般的基于规则的智能系统不同,AI系统自主学习和做出决策,从而提高它们的能力。AI系统被使用的越多,AI系统的识别率增加的越多,并且AI系统越准确地理解用户偏好。这样,一般的基于规则的智能系统可以由基于深度学习的AI系统代替。
发明内容
技术问题
随着对AI系统的兴趣增加,正在积极地进行许多尝试以将AI系统应用于各种技术领域。例如,正在进行研究以使AI系统与包括图像处理、数据处理等的技术领域相融合。
技术方案
提供了一种与设备相应的终端。终端接收不同质量的多个图像数据的信息;基于所述信息请求服务器向终端发送所述多个图像数据中的图像数据,接收与所述请求相应的图像数据和人工智能AI数据,基于所述AI数据确定是否对所接收到的图像数据执行AI放大,并且基于所述确定的结果,通过与所述服务器的缩小深度神经网络(DNN)联合训练的放大DNN,对所接收到的图像数据执行AI放大,确认所述终端和所述服务器之间的网络的状态,并基于所述网络的状态请求图像数据。
附图说明
通过以下结合附图的描述,本公开的某些实施例的以上和其它方面、特征和优点将更加清楚,其中:
提供每个附图的简要描述以更全面地理解本说明书中所引用的附图。
图1是用于描述根据实施例的人工智能(AI)编码过程和AI解码过程的示图;
图2是根据实施例的AI解码设备的配置的框图;
图3是示出用于对第二图像执行AI放大的第二深度神经网络(DNN)的示图;
图4是用于描述由卷积层进行的卷积操作的示图;
图5是示出多条图像相关信息和多条DNN设置信息之间的映射关系的表;
图6是示出包括多个帧的第二图像的示图;
图7是根据实施例的AI编码设备的配置的框图;
图8是示出用于对原始图像执行AI缩小的第一DNN的示图;
图9是用于描述训练第一DNN和第二DNN的方法的示图;
图10是用于描述通过训练设备的第一DNN和第二DNN的训练过程的示图;
图11是用于对原始图像执行AI缩小的设备和用于对第二图像执行AI放大的设备的示图;
图12是用于描述根据本公开的实施例的流传输系统的概念的示图;
图13A是用于描述根据本公开的实施例的由服务器执行的流传输数据的方法的流程图;
图13B是用于描述根据本公开的实施例的由终端执行的流传输数据的方法的流程图;
图14A是用于描述根据本公开的实施例的由服务器执行的流传输数据的方法的流程图;
图14B是用于描述根据本公开的实施例的由终端执行的流传输数据的方法的流程图;
图15A是用于描述根据本公开的实施例的由服务器执行的流传输数据的方法的流程图;
图15B是用于描述根据本公开的实施例的由终端执行的流传输数据的方法的流程图;
图16是用于描述根据本公开的实施例的根据第一终端是否支持AI放大在服务器与第一终端之间执行流传输的方法的示图;
图17是用于描述根据本公开的实施例的根据第一终端是否支持AI放大在服务器与第一终端之间执行流传输的方法的示图;
图18是用于描述根据本公开的实施例的由服务器执行的根据终端的能力流传输图像数据的方法的示图;
图19是用于描述根据本公开的实施例的由服务器执行的根据网络的状态和终端的能力来流传输图像数据的方法的示图;
图20是用于描述根据本公开的实施例的由终端执行的基于附加信息和能力来流传输与网络的状态相应的图像数据的方法的示图;
图21是用于描述根据本公开的实施例的被提供用于流传输的附加信息的示图;
图22是用于描述根据本公开的实施例的附加信息的详细配置的示图;
图23是用于描述根据本公开的实施例的附加信息的详细配置的示图;
图24是用于描述根据本公开的实施例的附加信息的详细配置的示图;
图25是用于描述根据本公开的实施例的从服务器流传输到终端的AI数据和图像数据的示图;
图26是用于描述根据本公开的实施例的流传输系统的示图;
图27是示出根据本公开的实施例的服务器的配置的框图;以及
图28是示出根据本公开的实施例的终端的配置的框图。
具体实施方式
最佳方式
提供了一种用于流传输通过使用深度神经网络(DNN)进行了人工智能(AI)编码的数据的方法和装置。
另外的方面将部分地在下面的描述中阐述,并且部分地将从描述中显而易见,或者可以通过实践本公开的所呈现的实施例来得知。
根据本公开的实施例,提供了一种流传输数据的方法,包括:接收不同质量的多个图像数据的信息;基于所述信息,请求服务器向终端发送不同质量的所述多个图像数据中的图像数据;接收与所述请求相应的图像数据和人工智能(AI)数据;基于所述AI数据确定是否对所接收到的图像数据执行AI放大;基于所述确定是否执行AI放大的结果,通过与所述服务器的缩小深度神经网络(DNN)联合训练的放大DNN对所接收到的图像数据执行AI放大;确认所述终端和所述服务器之间的网络的状态;以及根据不同质量的所述多个图像数据的信息和所述网络的状态,请求所述服务器发送不同质量的所述多个图像数据中的不同质量的图像数据。
所述方法还可以包括:基于AI数据,确定是否已经通过服务器的缩小DNN对接收到的图像数据执行了AI缩小,并且其中,当确认已经对接收到的图像数据执行了AI缩小时,确定是否已经执行了AI缩小的步骤包括确定对接收到的图像数据执行AI放大。
所述多个图像数据的信息包括所述多个图像数据的质量信息和AI缩放转换信息,并且其中,请求所述服务器发送不同质量的图像数据的步骤包括基于所述质量信息和所述AI缩放转换信息中的一个或两个来请求与所述网络的状态相应的图像数据。
所述方法还可以包括:基于包括指示所述终端是否支持AI放大的信息以及关于所述终端能够支持的AI放大等级的信息的能力信息来确定与所述网络的状态相应的图像数据。
服务器可以是内容提供商服务器,其中,所述方法还包括向服务服务器请求所述多个图像数据的信息,并且其中,接收所述多个图像数据的信息的步骤包括从所述服务服务器接收所述多个图像数据的信息和内容提供商服务器的标识符。
根据本公开的实施例,提供了一种流传输数据的方法,包括:从终端接收对服务器的不同质量的多个图像数据中的图像数据的请求;响应于所述请求,向所述终端发送人工智能(AI)数据和已经通过所述服务器的与所述终端的放大DNN联合训练的缩小DNN进行了AI编码的图像数据;以及根据所述终端和所述服务器之间的网络的状态,从所述终端接收对不同质量的所述多个图像数据中的不同质量的图像数据的请求。
AI数据可以包括关于已经应用于AI编码的图像数据的缩小DNN的信息。
接收对不同质量的图像数据的请求的步骤可以包括接收对与网络的状态相应并且基于不同质量的所述多个图像数据中的每一个的AI缩放转换信息和质量信息中的一个或两个被确定的图像数据的请求。
所述不同质量的图像数据可以包括与所述网络的状态相应并且基于包括指示所述终端是否支持AI放大的信息和关于所述终端支持的AI放大等级的信息的能力信息从不同质量的所述多个图像数据中被确定的图像数据。
所述方法还可以包括向终端提供服务器的标识符。
根据本公开的实施例,一种用于接收流传输数据的终端,包括:存储器,存储一个或更多个指令;以及至少一个处理器,被配置为执行一个或更多个指令以:接收不同质量的多个图像数据的信息;基于所述信息,请求服务器向终端发送不同质量的所述多个图像数据中的图像数据;接收请求的图像数据和与请求的图像数据相应的人工智能(AI)数据;基于所述AI数据确定是否对所接收到的图像数据执行AI放大;基于所述确定是否执行AI放大的结果,通过终端的与服务器的缩小深度神经网络(DNN)联合训练的放大DNN对接收到的图像数据执行AI放大;确认所述终端和所述服务器之间的网络的状态;以及根据不同质量的所述多个图像数据的信息和所述网络的状态,基于所述信息请求所述服务器发送不同质量的所述多个图像数据中的不同质量的图像数据。
所述至少一个处理器还可以被配置为:基于AI数据,确定是否已经通过服务器的缩小DNN对接收到的图像数据执行了AI缩小,并且当确认已经对接收到的图像数据执行了AI缩小时,确定对接收到的图像数据执行AI放大。
所述多个图像数据的信息包括所述多个图像数据的质量信息和AI缩放转换信息,并且其中,所述至少一个处理器还被配置为执行所述一个或更多个指令以基于所述质量信息和所述AI缩放转换信息中的一个或两个来请求与所述网络的状态相应的图像数据。
所述至少一个处理器还可以被配置为:基于包括指示所述终端是否支持AI放大的信息和关于所述终端支持的AI放大等级的信息的能力信息来确定与所述网络的状态相应的图像数据。
服务器可以是内容提供商服务器,并且其中,所述至少一个处理器还被配置为执行一个或更多个指令以:请求服务服务器向终端提供所述多个图像数据的信息,并且从服务服务器接收内容提供商服务器的标识符和所述多个图像数据的信息。
根据本公开的实施例,提供了一种用于流传输数据的服务器,包括:存储器,存储一个或更多个指令;以及至少一个处理器,被配置为执行所述一个或更多个指令以:从终端接收对服务器的不同质量的多个图像数据中的图像数据的请求,响应于所述请求,向所述终端发送人工智能(AI)数据和已经通过与所述终端的放大深度神经网络(DNN)联合训练的缩小DNN进行了AI编码的图像数据,以及根据所述终端和所述服务器之间的网络的状态从所述终端接收对不同质量的所述多个图像数据中的不同质量的图像数据的请求。
AI数据可以包括关于已经应用于AI编码的图像数据的缩小DNN的信息。
所述至少一个处理器还可以被配置为执行所述一个或更多个指令以:接收对第二版本的图像内容的请求,其中,第二版本的图像内容与所述网络的状态相应并且是基于多个不同版本的图像内容中的每一个版本的图像内容的AI缩放转换信息和质量信息中的一个或两个被确定。
不同质量的图像数据可以包括与所述网络的状态相应并且基于包括指示终端是否支持AI放大的信息和关于终端支持的AI放大等级的信息的能力信息被确定的图像数据。
所述至少一个处理器还可以被配置为执行一个或更多个指令以向终端提供服务器的标识符。
根据本公开的实施例,提供了一种记录有用于执行流传输数据的方法的程序的非暂时性计算机可读记录介质。
发明模式
由于本公开允许各种改变和许多示例,因此将在附图中示出并在书面描述中详细描述特定实施例。然而,这并不旨在将本公开限制于特定实践模式,并且将理解,不脱离本公开的精神和技术范围的所有改变、等同物和替代物都包含在本公开中。
在实施例的描述中,当认为相关技术的详细解释可能不必要地模糊本公开的实质时,省略相关技术的详细解释。此外,在说明书的描述中使用的序数(例如,第一、第二等)是用于将一个要素与另一要素区分开的标识符代码。
此外,在本说明书中,将理解的是,当元件彼此“连接”或“结合”时,元件可以彼此直接连接或结合,但是可以替代地通过他们之间的中间元件彼此连接或结合,除非另有说明。
在本说明书中,关于表示为“单元”或“模块”的元件,可以将两个或更多个元件组合成一个元件,或者可以根据细分的功能将一个元件划分为两个或更多个元件。另外,下文描述的每个元件除了执行其自身的主要功能之外,还可以另外执行由另一元件执行的一些或全部功能,并且每个元件的主要功能中的一些可以完全由另一组件执行。
此外,在本说明书中,“图像”或“画面”可以表示静止图像、包括多个连续静止图像(或帧)的运动图像或视频。
此外,在本说明书中,深度神经网络(DNN)是模拟脑神经的人工神经网络模型的代表性示例,并且不限于使用算法的人工神经网络模型。
此外,在本说明书中,“参数”是在形成神经网络的每个层的操作过程中使用的值,并且例如,可以包括当将输入值应用于特定运算表达式时使用的权重。这里,参数可以以矩阵形式表示。参数是作为训练结果设置的值,并且可以通过单独的训练数据来更新。
此外,在本说明书中,“第一DNN”指示用于对图像进行人工智能(AI)缩小的DNN,“第二DNN”指示用于对图像进行人工智能(AI)放大的DNN。
此外,在本说明书中,“DNN设置信息”包括与构成DNN的元素相关的信息。“DNN设置信息”包括作为与构成DNN的元素相关的信息的上述参数。可以通过使用DNN设置信息来设置第一DNN或第二DNN。
此外,在本说明书中,“原始图像”表示作为AI编码的对象的图像,并且“第一图像”表示作为在AI编码过程期间对原始图像执行AI缩小的结果而获得的图像。此外,“第二图像”表示在AI解码过程期间经由第一解码获得的图像,并且“第三图像”表示在AI解码过程期间通过AI放大第二图像获得的图像。
此外,本说明书中,‘AI缩小’表示基于AI降低图像的分辨率的过程,‘第一编码’表示根据基于频率变换的图像压缩方法的编码过程。此外,‘第一解码’表示根据基于频率变换的图像重构方法的解码过程,‘AI放大’表示基于AI增加图像的分辨率的过程。
诸如“……中的至少一个”的表述在一列元素之后时修饰整列元素,而不修饰列中的单个元素。例如,表述“a、b或c中的至少一个”表示仅a、仅b、仅c、a和b两者、a和c两者、b和c两者、a、b和c全部或它们的变形。
图1是用于描述根据实施例的AI编码过程和AI解码过程的示图。
如上所述,当图像的分辨率显著增加时,用于对图像进行编码和解码的信息的吞吐量增加,因此,需要一种用于提高图像的编码和解码的效率的方法。
如图1所示,根据本公开的实施例,通过对具有高分辨率的原始图像105执行AI缩小110来获得第一图像115。然后,对具有相对低分辨率的第一图像115执行第一编码120和第一解码130,因此与对原始图像105执行第一编码120和第一解码130时相比,比特率可以大大降低。
在图1中,根据实施例,通过对原始图像105执行AI缩小110来获得第一图像115,并且在AI编码过程期间对第一图像115执行第一编码120。在AI解码过程期间,接收作为AI编码的结果获得的包括AI数据和图像数据的AI编码数据,通过第一解码130获得第二图像135,并且通过对第二图像135执行AI放大140来获得第三图像145。
详细参照AI编码过程,当接收到原始图像105时,对原始图像105执行AI缩小110以获得特定分辨率或特定质量的第一图像115。这里,基于AI执行AI缩小110,并且用于AI缩小110的AI与用于第二图像135的AI放大140的AI被联合训练。这是因为AI缩小110和AI放大120具有缩小和放大图像的两个竞争目标,因此,当分别训练用于AI缩小110的AI和用于AI放大140的AI时,作为AI编码的对象的原始图像105与通过AI解码重构的第三图像145之间的差异增加。
在本公开的实施例中,AI数据可用于在AI编码过程和AI解码过程期间维持这种联合关系。因此,通过AI编码过程获得的AI数据可包括指示放大目标的信息,并且在AI解码过程期间,根据基于AI数据验证的放大目标对第二图像135执行AI放大140。
用于AI缩小110的AI和用于AI放大140的AI可以实施为DNN。如稍后将参照图9描述的,因为通过在目标下共享损失信息来联合训练第一DNN和第二DNN,所以AI编码设备可将在第一DNN和第二DNN的联合训练期间使用的目标信息提供给AI解码设备,并且AI解码设备可基于所提供的目标信息对第二图像135执行AI放大140到目标分辨率。
关于图1的第一编码120和第一解码130,可通过第一编码120减少通过对原始图像105执行AI缩小110而获得的第一图像115的信息量。第一编码120可包括通过预测第一图像115来生成预测数据的过程、生成与第一图像115和预测数据之间的差相应的残差数据的过程、将空域分量的残差数据变换为频域分量的过程、将变换为频域分量的残差数据量化的过程以及对量化的残差数据进行熵编码的过程。这样的第一编码120可以通过使用频率变换的图像压缩方法(诸如,MPEG-2、H.264高级视频编码(AVC)、MPEG-4、高效视频编码(HEVC)、VC-1、VP8、VP9和开放媒体联盟视频1(AV1))中的一个来执行。
可通过对图像数据执行第一解码130来重构与第一图像115相应的第二图像135。第一解码130可包括通过对图像数据进行熵解码来生成量化的残差数据的过程、对量化的残差数据进行反量化的过程、将频域分量的残差数据变换为空域分量的过程、生成预测数据的过程以及通过使用预测数据和残差数据来重构第二图像135的过程。这样的第一解码130可以通过与在第一编码120中使用的使用频率变换的图像压缩方法(诸如,MPEG-2、H.264 AVC、MPEG-4、HEVC、VC-1、VP8、VP9和AV1)中的一个方法相应的图像重构方法来执行。
通过AI编码过程获得的AI编码数据可包括作为对第一图像115执行第一编码120的结果而获得的图像数据,以及与原始图像105的AI缩小110相关的AI数据。可以在第一解码130期间使用图像数据,并且可以在AI放大140期间使用AI数据。
可以以比特流的形式发送图像数据。图像数据可以包括基于第一图像115中的像素值获得的数据,例如,作为第一图像115与第一图像115的预测数据之间的差的残差数据。此外,图像数据包括在对第一图像115执行的第一编码120期间使用的信息。例如,图像数据可以包括预测模式信息、运动信息和与在第一编码120期间使用的量化参数相关的信息。可以根据在第一编码120期间使用的MPEG-2、H.264 AVC、MPEG-4、HEVC、VC-1、VP8、VP9和AV1中的图像压缩方法的规则(例如,根据语法)来生成图像数据。
在基于第二DNN的AI放大140中使用AI数据。如上所述,因为第一DNN和第二DNN被联合训练,所以AI数据包括使得能够通过第二DNN对第二图像135准确地执行AI放大140的信息。在AI解码过程期间,可以基于AI数据对第二图像135执行AI放大140以具有目标分辨率和/或质量。
可以以比特流的形式将AI数据与图像数据一起发送。可选地,根据实施例,AI数据可以以帧或包的形式与图像数据分开发送。可以通过相同的网络或通过不同的网络传输作为AI编码的结果而获得的AI数据和图像数据。
图2是根据实施例的AI解码设备100的配置的框图。
参照图2,根据实施例的AI解码设备200可包括接收器210和AI解码器230。接收器210可以包括通信接口212、解析器214和输出接口216。AI解码器230可以包括第一解码器232和AI放大器234。
接收器210接收并解析作为AI编码的结果获得的AI编码数据,并将图像数据和AI数据可区分地输出到AI解码器230。
通信接口212通过网络接收作为AI编码的结果而获得的AI编码数据。作为执行AI编码的结果而获得的AI编码数据包括图像数据和AI数据。可以通过相同类型的网络或不同类型的网络接收图像数据和AI数据。
解析器214接收通过通信接口212接收的AI编码数据,并解析AI编码数据以区分图像数据和AI数据。例如,解析器214可以通过读取从通信接口212获得的数据的报头来区分图像数据和AI数据。根据实施例,解析器214凭借通过通信接口212接收的数据的报头将图像数据和AI数据可区分地发送到输出接口216,并且输出接口216将区分的图像数据和AI数据分别发送到第一解码器232和AI放大器234。此时,可以验证包括在AI编码数据中的图像数据是通过编解码器(例如,MPEG-2、H.264 AVC、MPEG-4、HEVC、VC-1、VP8、VP9或AV1)生成的图像数据。在这种情况下,可以通过输出接口216将相应的信息发送到第一解码器232,使得通过验证的编解码器处理图像数据。
根据实施例,由解析器214解析的AI编码数据可以从包括诸如硬盘、软盘或磁带的磁介质、诸如CD-ROM或DVD的光学记录介质或诸如光磁软盘的磁光介质的数据存储介质获得。
第一解码器232基于图像数据重构与第一图像115相应的第二图像135。通过第一解码器232获得的第二图像135被提供给AI放大器234。根据实施例,可以将第一解码相关信息(诸如,图像数据中包括的预测模式信息、运动信息、量化参数信息等)进一步提供给AI放大器234。
在接收到AI数据时,AI放大器234基于AI数据对第二图像135执行AI放大。根据实施例,可通过进一步使用第一解码相关信息(诸如,包括在图像数据中的预测模式信息、量化参数信息等)来执行AI放大。
根据实施例的接收器210和AI解码器230被描述为单独的装置,但是可以通过一个处理器来实现。在这种情况下,接收器210和AI解码器230可以通过专用处理器或通过软件和通用处理器(诸如,应用处理器(AP)、中央处理单元(CPU)或图形处理单元(GPU))的组合来实现。可以通过包括用于实现本公开的实施例的存储器或者通过包括用于使用外部存储器的存储器处理器来实现专用处理器。
此外,接收器210和AI解码器230可以通过多个处理器来配置。在这种情况下,接收器210和AI解码器230可以通过专用处理器的组合或通过软件和通用处理器(诸如,AP、CPU或GPU)的组合来实现。类似地,AI放大器234及第一解码器232可通过不同处理器来实施。
提供给AI放大器234的AI数据包括使得能够通过AI放大来处理第二图像135的信息。这里,放大目标应该与第一DNN的缩小相应。因此,AI数据包括用于验证第一DNN的缩小目标的信息。
AI数据中包括的信息的示例包括原始图像105的分辨率与第一图像115的分辨率之间的差异信息以及与第一图像115相关的信息。
差异信息可以表示为关于第一图像115相较于原始图像105的分辨率转换程度的信息(例如,分辨率转换率信息)。此外,因为通过重构的第二图像135的分辨率验证第一图像115的分辨率,并且相应地验证分辨率转换程度,所以差异信息可以仅表示为原始图像105的分辨率信息。这里,分辨率信息可以表示为垂直/水平尺寸或者表示为比率(16:9、4:3等)和一个轴的尺寸。此外,当存在预先设置的分辨率信息时,分辨率信息可以以索引或标志的形式表示。
与第一图像115相关的信息可以包括关于作为对第一图像115执行第一编码的结果而获得的图像数据的比特率和在第一图像115的第一编码期间使用的编解码器类型中的一个或两个的信息。
AI放大器234可基于AI数据中包括的差异信息和与第一图像115相关的信息中的一个或两个来确定第二图像135的放大目标。放大目标可以指示例如将针对第二图像135将分辨率放大到什么程度。当确定了放大目标时,AI放大器234通过第二DNN对第二图像135执行AI放大,以获得与放大目标相应的第三图像145。
在描述由AI放大器234执行的根据放大目标对第二图像135执行AI放大的方法之前,将参照图3和图4描述通过第二DNN的AI放大过程。
图3是示出用于对第二图像135执行AI放大的第二DNN 300的示图,并且图4是用于描述图3的第一卷积层310中的卷积操作的示图。
如图3所示,第二图像135被输入到第一卷积层310。图3所示的第一卷积层310中指示的3×3×4指示通过使用具有3×3大小的四个滤波器内核对一个输入图像执行卷积处理。通过四个滤波器内核生成四个特征图作为卷积处理的结果。每个特征图指示第二图像135的固有特征。例如,每个特征图可以表示第二图像135的垂直方向特征、水平方向特征或边缘特征等。
将参照图4详细描述第一卷积层310中的卷积操作。
可以通过在第一卷积层310中使用的具有3×3的尺寸的滤波器内核430的参数与第二图像135中的相应像素值之间的乘法和加法来生成一个特征图450。在第一卷积层310中使用四个滤波器内核,并且可以通过使用四个滤波器内核的卷积操作生成四个特征图。
在图4中的第二图像135中指示的I1至I49指示第二图像135中的像素,并且在滤波器内核430中指示的F1至F9指示滤波器内核430的参数。此外,在特征图450中指示的M1至M9指示特征图450的样本。
在图4中,第二图像135包括49个像素,但是像素的数量仅是示例,并且当第二图像135具有4K的分辨率时,第二图像135可以包括例如3840×2160个像素。
在卷积操作处理期间,将第二图像135的I1、I2、I3、I8、I9、I10、I15、I16和I17的像素值与滤波器内核430的F1至F9的分别相乘,并且可以将乘法的结果值的组合(例如,加法)的值分配为特征图450的M1的值。当卷积操作的步长为2时,第二图像135的I3、I4、I5、I10、I11、I12、I17、I18和I19的像素值与滤波器内核430的F1至F9分别相乘,并且相乘的结果值的组合的值可以被分配为特征图450的M2的值。
在滤波器内核430沿着步长向第二图像135的最后一个像素移动的同时,在第二图像135中的像素值与滤波器内核430的参数之间执行卷积操作,并且因此可以生成具有特定尺寸的特征图450。
根据本公开,可以通过第一DNN和第二DNN的联合训练来优化第二DNN的参数的值,例如,在第二DNN的卷积层中使用的滤波器内核的参数(例如,滤波器内核430的F1至F9)的值。如上所述,AI放大器234可以基于AI数据确定与第一DNN的缩小目标相应的放大目标,并且将与确定的放大目标相应的参数确定为在第二DNN的卷积层中使用的滤波器内核的参数。
包括在第一DNN和第二DNN中的卷积层可以根据参照图4描述的卷积操作过程来执行处理,但是参照图4描述的卷积操作过程仅是示例,并且不限于此。
返回参照图3,从第一卷积层310输出的特征图可以被输入到第一激活层320。
第一激活层320可以将非线性特征分配给每个特征图。第一激活层320可包括sigmoid函数、Tanh函数、修正线性单元(ReLU)函数等,但不限于此。
分配非线性特征的第一激活层320指示作为第一卷积层310的输出的特征图的至少一个样本值被改变。这里,通过应用非线性特征来执行改变。
第一激活层320确定是否将从第一卷积层310输出的特征图的样本值发送到第二卷积层330。例如,特征图的样本值中的一些由第一激活层320激活并且被发送到第二卷积层330,并且样本值中的一些由第一激活层320去活并且不被发送到第二卷积层330。由特征图表示的第二图像135的固有特征通过第一激活层320被突出。
从第一激活层320输出的特征图325被输入到第二卷积层330。图3中所示的特征图325中的一个是在第一激活层320中参照图4描述的处理特征图450的结果。
在第二卷积层330中指示的3×3×4指示通过使用具有3×3的尺寸的四个滤波器内核对特征图325执行卷积处理。第二卷积层330的输出被输入到第二激活层340。第二激活层340可将非线性特征分配给输入数据。
从第二激活层340输出的特征图345被输入到第三卷积层350。图3中所示的第三卷积层350中指示的3×3×1指示通过使用具有3×3的尺寸的一个滤波器内核执行卷积处理以生成一个输出图像。第三卷积层350是用于输出最终图像的层,并且通过使用一个滤波器内核来生成一个输出。根据本公开的实施例,第三卷积层350可以输出第三图像145作为卷积操作的结果。
如稍后将描述的,可以存在指示第二DNN 300的第一卷积层310、第二卷积层330和第三卷积层350的滤波器内核的数量、第二DNN 300的第一卷积层310、第二卷积层330和第三卷积层350的滤波器内核的参数等的多条DNN设置信息,并且所述多条DNN设置信息可以联系到第一DNN的多条DNN设置信息。可以经由第一DNN和第二DNN的联合训练来实现第二DNN的多条DNN设置信息与第一DNN的多条DNN设置信息之间的联系。
在图3中,第二DNN 300包括三个卷积层(第一卷积层310、第二卷积层330和第三卷积层350)和两个激活层(第一激活层320和第二激活层340),但这仅是示例,并且卷积层和激活层的数量可以根据实施例而变化。此外,根据实施例,第二DNN 300可以被实现为递归神经网络(RNN)。在这种情况下,根据本公开的实施例的第二DNN 300的卷积神经网络(CNN)结构被改变为RNN结构。
根据实施例,AI放大器234可包含用于以上描述的卷积运算及激活层的运算的至少一个算术逻辑单元(ALU)。ALU可以被实现为处理器。对于卷积操作,ALU可以包括乘法器和加法器,其中,乘法器执行从先前层输出的第二图像135或特征图的样本值与滤波器内核的样本值之间的乘法,加法器将乘法的结果值相加。此外,对于激活层的操作,ALU可以包括乘法器和比较器,其中,乘法器将输入样本值乘以在预定的sigmoid函数、Tanh函数或ReLU函数中使用的权重,比较器将乘法结果与特定值进行比较以确定是否将输入样本值发送到下一层。
在下文中,将描述由AI放大器234执行的根据放大目标对第二图像135执行AI放大的方法。
根据实施例,AI放大器234可以存储在第二DNN中可设置的多条DNN设置信息。
这里,DNN设置信息可以包括关于第二DNN中包括的卷积层的数量、每个卷积层的滤波器内核的数量和每个滤波器内核的参数中的任何一个或任何组合的信息。多条DNN设置信息可以分别与各种放大目标相应,并且第二DNN可以基于与放大目标相应的DNN设置信息进行操作。第二DNN可以基于DNN设置信息具有不同的结构。例如,第二DNN可以基于任何一条DNN设置信息包括三个卷积层,并且可以基于另一条DNN设置信息包括四个卷积层。
根据实施例,DNN设置信息可以仅包括在第二DNN中使用的滤波器内核的参数。在这种情况下,第二DNN的结构不改变,而是仅内部滤波器内核的参数可以基于DNN设置信息而改变。
AI放大器234可以获得多条DNN设置信息中的用于对第二图像135执行AI放大的DNN设置信息。此时使用的多条DNN设置信息中的每一条DNN设置信息是用于获得预定分辨率和/或预定质量的第三图像145的信息,并且与第一DNN联合训练。
例如,多条DNN设置信息中的一条DNN设置信息可以包括用于获得分辨率是第二图像135的分辨率的两倍的第三图像145(例如,第三图像145的4K(4096×2160)是第二图像135的2K(2048×1080)的两倍)的信息,并且另一条DNN设置信息可以包括用于获得分辨率是第二图像135的分辨率的四倍的第三图像145(例如,第三图像145的8K(8192×4320)是第二图像135的2K(2048×1080)的四倍)的信息。
多条DNN设置信息中的每一条与图6的AI编码设备600的第一DNN的DNN设置信息联合获得,并且AI放大器234根据与第一DNN的DNN设置信息的缩小比率相应的放大比率获得多条DNN设置信息中的一条DNN设置信息。在这方面,AI放大器234可以验证第一DNN的信息。为了使AI放大器234验证第一DNN的信息,根据实施例的AI解码设备200从AI编码设备600接收包括第一DNN的信息的AI数据。
换句话说,AI放大器234可以通过使用从AI编码设备600接收的信息来验证由用于获得第一图像115的第一DNN的DNN设置信息所针对的信息,并且获得与第一DNN的DNN设置信息联合训练的第二DNN的DNN设置信息。
当从多条DNN设置信息中获得用于对第二图像135执行AI放大的DNN设置信息时,可以基于根据所获得的DNN设置信息操作的第二DNN来处理输入数据。
例如,当获得任何一条DNN设置信息时,包括在图3的第二DNN 300的第一卷积层310、第二卷积层330和第三卷积层350中的每一个中的滤波器内核的数量以及滤波器内核的参数被设置为包括在所获得的DNN设置信息中的值。
在图4的第二DNN的任何一个卷积层中使用的3×3的滤波器内核的参数被设置为{1,1,1,1,1,1,1,1,1},并且当之后改变DNN设置信息时,所述参数被作为改变后的DNN设置信息中包括的参数的{2,2,2,2,2,2,2,2,2}替换。
AI放大器234可以基于AI数据中包括的信息从多条DNN设置信息中获得用于AI放大的DNN设置信息,并且现在将描述用于获得DNN设置信息的AI数据。
根据实施例,AI放大器234可以基于AI数据中包括的差异信息,从多条DNN设置信息中获得用于AI放大的DNN设置信息。例如,当基于差异信息验证原始图像105的分辨率(例如,4K(4096×2160))是第一图像115的分辨率(例如,2K(2048×1080))的两倍时,AI放大器234可以获得用于将第二图像135的分辨率增至两倍的DNN设置信息。
根据实施例,AI放大器234可以基于AI数据中包括的与第一图像115相关的信息,从多条DNN设置信息中获得用于AI放大第二图像135的DNN设置信息。AI放大器234可以预先确定图像相关信息和DNN设置信息之间的映射关系,并且获得映射到与第一图像115相关的信息的DNN设置信息。
图5是示出多条图像相关信息和多条DNN设置信息之间的映射关系的表。
通过根据图5的实施例,将确定的是,根据本公开的实施例的AI编码和AI解码过程不是仅考虑分辨率的改变。如图5所示,可以单独地或共同地考虑诸如标准清晰度(SD)、高清晰度(HD)或全HD的分辨率、诸如10Mbps、15Mbps或20Mbps的比特率以及诸如AV1、H.264或HEVC的编解码器信息来选择DNN设置信息。对于分辨率、比特率和编解码器信息的这种考虑,考虑每个元素的训练可以在AI训练过程期间与编码和解码过程联合执行(参见图9)。
因此,当基于包括编解码器类型、图像的分辨率等的图像相关信息提供多条DNN设置信息时,如图5所示,根据训练,可以基于在AI解码过程期间接收到的与第一图像115相关的信息来获得用于AI放大第二图像135的DNN设置信息。
换句话说,AI放大器234能够通过将图5的表左侧的图像相关信息和表右侧的DNN设置信息进行匹配来根据图像相关信息使用DNN设置信息。
如图5所示,当从与第一图像115相关的信息验证第一图像115的分辨率是SD,作为对第一图像115执行第一编码的结果而获得的图像数据的比特率是10Mbps,并且通过AV1编解码器对第一图像115执行第一编码时,AI放大器234可以使用多条DNN设置信息中的ADNN设置信息。
此外,当从与第一图像115相关的信息验证第一图像115的分辨率是HD,作为执行第一编码的结果获得的图像数据的比特率是15Mbps,并且经由H.264编解码器执行第一编码时,AI放大器234可以使用多条DNN设置信息中的B DNN设置信息。
此外,当从与第一图像115相关的信息验证第一图像115的分辨率是全HD,作为执行第一编码的结果获得的图像数据的比特率是20Mbps,并且经由HEVC编解码器执行第一编码时,AI放大器234可以使用多条DNN设置信息中的C DNN设置信息,并且当验证第一图像115的分辨率是全HD时,作为执行第一编码的结果而获得的图像数据的比特率是15Mbps,并且经由HEVC编解码器执行第一编码时,AI放大器234可以使用多条DNN设置信息中的D DNN设置信息。基于作为对第一图像115执行第一编码的结果而获得的图像数据的比特率是20Mbps还是15Mbps来选择C DNN设置信息和D DNN设置信息中的一个。当经由相同编解码器对相同分辨率的第一图像115执行第一编码时获得的图像数据的不同比特率指示不同质量的重构图像。因此,可以基于图像质量联合训练第一DNN和第二DNN,并且因此,AI放大器234可以根据指示第二图像135的质量的图像数据的比特率来获得DNN设置信息。
根据实施例,AI放大器234可以考虑从第一解码器232提供的信息(预测模式信息、运动信息、量化参数信息等)和AI数据中包括的与第一图像115相关的信息,从多条DNN设置信息中获得用于对第二图像135执行AI放大的DNN设置信息。例如,AI放大器234可从第一解码器232接收在第一图像115的第一编码过程期间使用的量化参数信息,从AI数据验证作为第一图像115的编码结果而获得的图像数据的比特率,并且获得与量化参数信息和比特率相应的DNN设置信息。即使当比特率相同时,重构图像的质量也可能根据图像的复杂度而变化。比特率是表示被执行第一编码的整个第一图像115的值,并且即使在第一图像115内,每个帧的质量也可以变化。因此,与仅使用AI数据时相比,当一起考虑来自第一解码器232的针对每个帧可获得的预测模式信息、运动信息和/或量化参数时,可以获得更适合于第二图像135的DNN设置信息。
此外,根据实施例,AI数据可以包括相互商定的DNN设置信息的标识符。DNN设置信息的标识符是用于区分在第一DNN和第二DNN之间联合训练的一对DNN设置信息的信息,使得对第二图像135执行AI放大到与第一DNN的缩小目标相应的放大目标。在获得AI数据中包括的DNN设置信息的标识符之后,AI放大器234可以通过使用与DNN设置信息的标识符相应的DNN设置信息对第二图像135执行AI放大。例如,可以预先指定指示在第一DNN中可设置的多个DNN设置信息中的每个DNN设置信息的标识符和指示在第二DNN中可设置的多个DNN设置信息中的每个DNN设置信息的标识符。在这种情况下,可以为在第一DNN和第二DNN中的每一个中可设置的一对DNN设置信息指定相同的标识符。AI数据可以包括在用于原始图像105的AI缩小的第一DNN中设置的DNN设置信息的标识符。接收AI数据的AI放大器234可以通过使用多个DNN设置信息中的由AI数据中包括的标识符指示的DNN设置信息来对第二图像135执行AI放大。
此外,根据实施例,AI数据可以包括DNN设置信息。AI放大器234可以在获得AI数据中包括的DNN设置信息之后通过使用DNN设置信息对第二图像135执行AI放大。
根据实施例,当构成DNN设置信息的多条信息(例如,卷积层的数量、每个卷积层的滤波器内核的数量、每个滤波器内核的参数等)以查找表的形式被存储时,AI放大器234可以通过基于AI数据中包括的信息组合从查找表中的值中选择的一些值来获得DNN设置信息,并且通过使用获得的DNN设置信息对第二图像135执行AI放大。
根据实施例,当确定了与放大目标相应的DNN的结构时,AI放大器234可以获得与所确定的DNN的结构相应的DNN设置信息,例如,滤波器内核的参数。
AI放大器234通过包括与第一DNN有关的信息的AI数据获得第二DNN的DNN设置信息,并且通过基于所获得的DNN设置信息设置的第二DNN对第二图像135执行AI放大,并且在这种情况下,与直接分析第二图像135的特征以放大时相比,可以降低存储器使用和吞吐量。
根据实施例,当第二图像135包括多个帧时,AI放大器234可以独立地获得针对特定数量的帧的DNN设置信息,或者可以获得针对全部帧的公共DNN设置信息。
图6是示出包括多个帧的第二图像135的示图。
如图6中所展示,第二图像135可包括帧t0至帧tn。
根据实施例,AI放大器234可以通过AI数据获得第二DNN的DNN设置信息,并且基于所获得的DNN设置信息对帧t0至帧tn执行AI放大。换句话说,可以基于公共DNN设置信息通过AI放大来处理帧t0至帧tn。
根据实施例,AI放大器234可以通过使用从AI数据获得的“A”DNN设置信息对帧t0至帧tn中的一些(例如,帧t0至帧ta)执行AI放大,并且通过使用从AI数据获得的“B”DNN设置信息对帧ta+1至帧tb执行AI放大。此外,AI放大器234可通过使用从AI数据获得的“C”DNN设置信息来对帧tb+1至帧tn执行AI放大。换句话说,AI放大器234可以针对包括多个帧中的一些帧的每个组独立地获得DNN设置信息,并且通过使用独立获得的DNN设置信息对每个组中包括的帧执行AI放大。
根据实施例,AI放大器234可以针对形成第二图像135的每个帧独立地获得DNN设置信息。换句话说,当第二图像135包括三个帧时,AI放大器234可以通过使用关于第一帧获得的DNN设置信息对第一帧执行AI放大,通过使用关于第二帧获得的DNN设置信息对第二帧执行AI放大,并且通过使用关于第三帧获得的DNN设置信息对第三帧执行AI放大。根据基于从第一解码器232提供的信息(预测模式信息、运动信息、量化参数信息等)和与包括在上述AI数据中的第一图像115相关的信息获得DNN设置信息的方法,可以针对包括在第二图像135中的每个帧独立地获得DNN设置信息。这是因为可以针对包括在第二图像135中的每个帧独立地确定模式信息、量化参数信息等。
根据实施例,AI数据可以包括关于基于AI数据获得的DNN设置信息对哪个帧有效的信息。例如,当AI数据包括指示DNN设置信息直到帧ta有效的信息时,AI放大器234通过使用基于AI数据获得的DNN设置信息对帧t0至帧ta执行AI放大。此外,当另一条AI数据包括指示DNN设置信息直到帧tn有效的信息时,AI放大器234通过使用基于另一条AI数据获得的DNN设置信息对帧ta+1至帧tn执行AI放大。
在下文中,将参照图7描述用于对原始图像105执行AI编码的AI编码设备600。
图7是根据实施例的AI编码设备600的配置的框图。
参照图7,AI编码设备600可包括AI编码器610和发送器630。AI编码器610可以包括AI缩小器612和第一编码器614。发送器630可以包括数据处理器632和通信接口634。
在图7中,AI编码器610和发送器630被示出为分开的装置,但AI编码器610和发送器630可通过一个处理器来实现。在这种情况下,AI编码器610和发送器630可以通过专用处理器或通过软件和通用处理器(诸如AP、CPU或图形处理单元GPU)的组合来实现。可以通过包括用于实现本公开的实施例的存储器或者通过包括用于使用外部存储器的存储器处理器来实现专用处理器。
此外,AI编码器610和发送器630可以由多个处理器来配置。在这种情况下,AI编码器610和发送器630可以通过专用处理器的组合或通过软件和多个通用处理器(诸如AP、CPU或GPU)的组合来实现。AI缩小器612和第一编码器614可以通过不同的处理器来实现。
AI编码器610对原始图像105执行AI缩小并对第一图像115执行第一编码,并将AI数据和图像数据发送到发送器630。发送器630将AI数据和图像数据发送到AI解码设备200。
图像数据包括作为对第一图像115执行第一编码的结果而获得的数据。图像数据可以包括基于第一图像115中的像素值获得的数据,例如,作为第一图像115与第一图像115的预测数据之间的差的残差数据。此外,图像数据包括在第一图像115的第一编码过程期间使用的信息。例如,图像数据可以包括用于对第一图像115执行第一编码的预测模式信息、运动信息、量化参数信息等。
AI数据包括使得能够对第二图像135执行AI放大到与第一DNN的缩小目标相应的放大目标的信息。根据实施例,AI数据可以包括原始图像105和第一图像115之间的差异信息。此外,AI数据可以包括与第一图像115相关的信息。与第一图像115相关的信息可以包括关于第一图像115的分辨率、作为对第一图像115执行第一编码的结果而获得的图像数据的比特率以及在第一图像115的第一编码期间使用的编解码器类型中的任何一个或任何组合的信息。
根据实施例,AI数据可以包括相互商定的DNN设置信息的标识符,使得对第二图像135执行AI放大到与第一DNN的缩小目标相应的放大目标。
此外,根据实施例,AI数据可以包括可在第二DNN中设置的DNN设置信息。
AI缩小器612可以获得通过经由第一DNN对原始图像105执行AI缩小而获得的第一图像115。AI缩小器612可以基于预定标准确定原始图像105的缩小目标。
为了获得与缩小目标匹配的第一图像115,AI缩小器612可以存储在第一DNN中可设置的多条DNN设置信息。AI缩小器612从多条DNN设置信息中获得与缩小目标相应的DNN设置信息,并且通过以获得的DNN设置信息设置的第一DNN对原始图像105执行AI缩小。
可以训练多条DNN设置信息中的每一条以获得预定分辨率和/或预定质量的第一图像115。例如,多条DNN设置信息中的任何一条DNN设置信息可以包括用于获得分辨率为原始图像105的分辨率的一半的第一图像115(例如,第一图像115的2k(2048×1080)为原始图像105的4k(4096×2160)的一半)的信息,并且另一条DNN设置信息可以包括用于获得分辨率为原始图像105的分辨率的四分之一的第一图像115(例如,第一图像115的2k(2048×1080)为原始图像105的8k(8192×4320)的四分之一)的信息。
根据实施例,当构成DNN设置信息的多条信息(例如,卷积层的数量、每个卷积层的滤波器内核的数量、每个滤波器内核的参数等)以查找表的形式存储时,AI缩小器612可以通过基于缩小目标组合从查找表中的值选择的一些值来获得DNN设置信息,并且通过使用获得的DNN设置信息对原始图像105执行AI缩小。
根据实施例,AI缩小器612可以确定与缩小目标相应的DNN的结构,并且获得与所确定的DNN的结构相应的DNN设置信息,例如,获得滤波器内核的参数。
当第一DNN和第二DNN被联合训练时,用于对原始图像105执行AI缩小的多条DNN设置信息可以具有优化值。这里,每条DNN设置信息包括第一DNN中包括的卷积层的数量、每个卷积层的滤波器内核的数量和每个滤波器内核的参数中的任何一个或任何组合。
AI缩小器612可以利用为了对原始图像105执行AI缩小而获得的DNN设置信息来设置第一DNN,以通过第一DNN获得特定分辨率和/或特定质量的第一图像115。当从多条DNN设置信息获得用于对原始图像105执行AI缩小的DNN设置信息时,第一DNN中的每个层可以基于DNN设置信息中包括的信息来处理输入数据。
在下文中,将描述由AI缩小器612执行的确定缩小目标的方法。缩小目标可指示例如分辨率从原始图像105减小多少以获得第一图像115。
根据实施例,AI缩小器612可以基于压缩比(例如,原始图像105与第一图像115之间的分辨率差异、目标比特率等)、压缩质量(例如,比特率的类型)、压缩历史信息和原始图像105的类型中的任何一个或任何组合来确定缩小目标。
例如,AI缩小器612可以基于预设或从用户输入的压缩比、压缩质量等来确定缩小目标。
作为另一示例,AI缩小器612可通过使用存储在AI编码设备600中的压缩历史信息来确定缩小目标。例如,根据由AI编码设备600可用的压缩历史信息,可确定用户偏好的编码质量、压缩比等,并且可根据基于压缩历史信息确定的编码质量来确定缩小目标。例如,可以根据压缩历史信息根据最常使用的编码质量来确定第一图像115的分辨率、质量等。
作为另一示例,AI缩小器612可以根据压缩历史信息基于已被超过特定阈值更频繁使用的编码质量(例如,已被超过所述阈值更频繁使用的编码质量的平均质量)来确定缩小目标。
作为另一示例,AI缩小器612可以基于原始图像105的分辨率、类型(例如,文件格式)等来确定缩小目标。
根据实施例,当原始图像105包括多个帧时,AI缩小器612可以独立地确定针对特定数量的帧的缩小目标,或者可以确定针对全部帧的缩小目标。
根据实施例,AI缩小器612可以将包括在原始图像105中的帧划分为特定数量的组,并且针对每个组独立地确定缩小目标。可以为每个组确定相同或不同的缩小目标。组中包括的帧的数量可以根据每个组相同或不同。
根据实施例,AI缩小器612可以针对包括在原始图像105中的每个帧独立地确定缩小目标。可针对每个帧确定相同或不同的缩小目标。
在下文中,将描述AI缩小所基于的第一DNN 700的结构的示例。
图8是示出用于对原始图像105执行AI缩小的第一DNN 700的示图。
如图8所示,原始图像105被输入到第一卷积层710。第一卷积层710通过使用32个具有5×5的尺寸的滤波器内核对原始图像105执行卷积处理。作为卷积处理的结果而生成的32个特征图被输入到第一激活层720。第一激活层720可以将非线性特征分配给32个特征图。
第一激活层720确定是否将从第一卷积层710输出的特征图的样本值发送到第二卷积层730。例如,特征图的样本值中的一些通过第一激活层720被激活并且被发送到第二卷积层730,并且样本值中的一些通过第一激活层720去活并且不被发送到第二卷积层730。由从第一卷积层710输出的特征图表示的信息通过第一激活层720被突出。
第一激活层720的输出725被输入到第二卷积层730。第二卷积层730通过使用具有5×5的尺寸的32个滤波器内核对输入数据执行卷积处理。作为卷积处理的结果输出的32个特征图被输入到第二激活层740,并且第二激活层740可以将非线性特征分配给32个特征图。
第二激活层740的输出745被输入到第三卷积层750。第三卷积层750通过使用具有5×5的尺寸的一个滤波器内核对输入数据执行卷积处理。作为卷积处理的结果,可以从第三卷积层750输出一个图像。第三卷积层750作为用于输出最终图像的层通过使用一个滤波器内核来生成一个输出。根据本公开的实施例,第三卷积层750可以输出第一图像115作为卷积操作的结果。
可以存在指示第一DNN 700的第一卷积层710、第二卷积层730和第三卷积层750的滤波器内核的数量、第一DNN 700的第一卷积层710、第二卷积层730和第三卷积层750的每个滤波器内核的参数等的多条DNN设置信息,并且所述多条DNN设置信息可以联系到第二DNN的多条DNN设置信息。可以经由第一DNN和第二DNN的联合训练来实现第一DNN的多条DNN设置信息与第二DNN的多条DNN设置信息之间的联系。
在图8中,第一DNN 700包括三个卷积层(第一卷积层710、第二卷积层730和第三卷积层750)和两个激活层(第一激活层720和第二激活层740),但这仅是示例,并且卷积层和激活层的数量可以根据实施例而变化。此外,根据实施例,第一DNN 700可以被实现为RNN。在这种情况下,根据本公开的实施例的第一DNN 700的CNN结构被改变为RNN结构。
根据实施例,AI缩小器612可以包括用于卷积操作和上述激活层的操作的至少一个ALU。ALU可以被实现为处理器。对于卷积操作,ALU可以包括乘法器和加法器,其中,乘法器执行原始图像105或从先前层输出的特征图的样本值与滤波器内核的样本值之间的乘法,加法器将乘法的结果值相加。此外,对于激活层的操作,ALU可以包括乘法器和比较器,其中,乘法器将输入样本值乘以在预定的sigmoid函数、Tanh函数或ReLU函数中使用的权重,比较器将乘法结果与特定值进行比较以确定是否将输入样本值发送到下一层。
返回参照图7,在从AI缩小器612接收到第一图像115后,第一编码器614可通过对第一图像115执行第一编码来减少第一图像115的信息量。第一编码器614可以获得作为执行第一编码的结果的与第一图像115相应的图像数据。
数据处理器632处理将以特定形式被发送的AI数据或图像数据中的一个或两个。例如,当将以比特流的形式发送AI数据和图像数据时,数据处理器632可以将AI数据处理为以比特流的形式表示,并且通过通信接口634以一个比特流的形式发送图像数据和AI数据。作为另一示例,数据处理器632可以将AI数据处理为以比特流的形式,并且通过通信接口634发送与AI数据相应的比特流和与图像数据相应的比特流中的每个比特流。作为另一示例,数据处理器632可以将AI数据处理为以帧或包的形式表示,并且通过通信接口634以比特流的形式发送图像数据并以帧或包的形式发送AI数据。
通信接口634通过网络发送作为执行AI编码的结果而获得的AI编码数据。作为执行AI编码的结果而获得的AI编码数据包括图像数据和AI数据。可以通过相同类型的网络或不同类型的网络发送图像数据和AI数据。
根据实施例,作为数据处理器632的处理的结果而获得的AI编码数据可以存储在包括诸如硬盘、软盘或磁带的磁介质、诸如CD-ROM或DVD的光学记录介质、或者诸如软磁盘的磁光介质的数据存储介质中。
在下文中,将参照图9描述联合训练第一DNN 700和第二DNN 300的方法。
图9是用于描述训练第一DNN 700和第二DNN 300的方法的示图。
在实施例中,通过AI解码过程将执行AI编码所针对的原始图像105重构为第三图像145,并且为了保持原始图像105和作为AI解码的结果获得的第三图像145之间的相似性,在AI编码过程和AI解码过程之间建立联系。换句话说,在AI解码过程期间重构AI编码过程中损失的信息,并且在这方面,联合训练第一DNN 700和第二DNN 300。
对于准确的AI解码,最终,可减少与图9所示的将第三训练图像804与原始训练图像801进行比较的结果相应的质量损失信息830。因此,质量损失信息830用于训练第一DNN700和第二DNN 300两者。
首先,将描述图9所示的训练过程。
在图9中,原始训练图像801是将被执行AI缩小的图像,并且第一训练图像802是通过对原始训练图像801执行AI缩小而获得的图像。此外,第三训练图像804是通过对第一训练图像802执行AI放大而获得的图像。
原始训练图像801包括静止图像或包括多个帧的运动图像。根据实施例,原始训练图像801可以包括从静止图像或包括多个帧的运动图像提取的亮度图像。此外,根据实施例,原始训练图像801可以包括从静止图像或包括多个帧的运动图像提取的分块图像。当原始训练图像801包括多个帧时,第一训练图像802、第二训练图像和第三训练图像804也各自包括多个帧。当原始训练图像801的多个帧被顺序地输入到第一DNN 700时,可以通过第一DNN 700和第二DNN 300顺序地获得第一训练图像802、第二训练图像和第三训练图像804的多个帧。
为了第一DNN 700和第二DNN 300的联合训练,原始训练图像801被输入到第一DNN700。输入到第一DNN 700的原始训练图像801通过AI缩小被输出为第一训练图像802,并且第一训练图像802被输入到第二DNN 300。输出作为对第一训练图像802执行AI放大的结果的第三训练图像804。
参照图9,第一训练图像802被输入到第二DNN 300,并且根据实施例,由于对第一训练图像802执行第一编码和第一解码而获得的第二训练图像可以被输入到第二DNN 300。为了将第二训练图像输入到第二DNN 300,可以使用MPEG-2、H.264、MPEG-4、HEVC、VC-1、VP8、VP9和AV1中的任何一种编解码器。可以使用MPEG-2、H.264、MPEG-4、HEVC、VC-1、VP8、VP9和AV1中的任何一种编解码器来对第一训练图像802执行第一编码,并且对与第一训练图像802相应的图像数据执行第一解码。
参照图9,与通过第一DNN 700输出的第一训练图像802分开,获得通过对原始训练图像801执行传统缩小而获得的减小的训练图像803。此处,传统缩小可包含双线性缩放、双三次缩放、兰佐斯缩放或阶梯缩放中的任一个或任何组合。
为了防止第一图像115的结构特征极大地偏离原始图像105的结构特征,获得减小的训练图像803以保留原始训练图像801的结构特征。
在执行训练之前,可以将第一DNN 700和第二DNN 300设置为预定的DNN设置信息。当执行训练时,可以确定结构损失信息810、复杂度损失信息820和质量损失信息830。
可以基于将减小的训练图像803和第一训练图像802进行比较的结果来确定结构损失信息810。例如,结构损失信息810可以与减小的训练图像803的结构信息与第一训练图像802的结构信息之间的差异相应。结构信息可以包括可从图像提取的各种特征,诸如图像的亮度、对比度、直方图等。结构损失信息810指示在第一训练图像802中维持了原始训练图像801的多少结构信息。当结构损失信息810小时,第一训练图像802的结构信息与原始训练图像801的结构信息相似。
可基于第一训练图像802的空间复杂度来确定复杂度损失信息820。例如,第一训练图像802的总方差值可被用作空间复杂度。复杂度损失信息820与通过对第一训练图像802执行第一编码而获得的图像数据的比特率相关。定义当复杂度损失信息820小时,图像数据的比特率低。
可以基于将原始训练图像801和第三训练图像804进行比较的结果来确定质量损失信息830。质量损失信息830可以包括关于原始训练图像801和第三训练图像804之间的差异的L1范数值、L2范数值、结构相似度(SSIM)值、峰值信噪比-人类视觉系统(PSNR-HVS)值、多尺度SSIM(MS-SSIM)值、方差膨胀因子(VIF)值和视频多方法评估融合(VMAF)值中的任何一个或任何组合。质量损失信息830指示第三训练图像804与原始训练图像801有多相似。当质量损失信息830小时,第三训练图像804与原始训练图像801更相似。
参照图9,结构损失信息810、复杂度损失信息820和质量损失信息830用于训练第一DNN 700,并且质量损失信息830用于训练第二DNN 300。换句话说,质量损失信息830用于训练第一DNN 700和第二DNN 300两者。
第一DNN 700可以更新参数,使得基于结构损失信息810、复杂度损失信息820和质量损失信息830确定的最终损失信息被减少或最小化。此外,第二DNN 300可以更新参数,使得质量损失信息830被减少或最小化。
用于训练第一DNN 700和第二DNN 300的最终损失信息可以被确定为下面的等式1。
[等式1]
LossDS=a*结构损失信息+b*复杂度损失信息+c*质量损失信息
LossUS=d*质量损失信息
在等式1中,LossDS指示将被减少或最小化以训练第一DNN 700的最终损失信息,并且LossUS指示将被减少或最小化以训练第二DNN 300的最终损失信息。此外,a、b、c和d可以是预定权重。
换句话说,第一DNN 700沿着等式1的LossDS被减小的方向更新参数,并且第二DNN300沿着等式1的LossUS被减小的方向更新参数。当根据在训练期间导出的LossDS更新第一DNN 700的参数时,基于更新的参数获得的第一训练图像802变得与基于未更新的参数获得的先前的第一训练图像802不同,并且因此,第三训练图像804也变得与先前的第三训练图像804不同。当第三训练图像804变得与先前的第三训练图像804不同时,质量损失信息830也被新确定,并且第二DNN 300相应地更新参数。当质量损失信息830被新确定时,LossDS也被新确定,并且第一DNN 700根据新确定的LossDS更新参数。换句话说,第一DNN 700的参数的更新导致第二DNN 300的参数的更新,并且第二DNN 300的参数的更新导致第一DNN 700的参数的更新。换句话说,因为通过共享质量损失信息830来联合训练第一DNN 700和第二DNN 300,所以可以联合优化第一DNN 700的参数和第二DNN 300的参数。
参照等式1,验证了根据质量损失信息830确定LossUS,但是这仅是示例,并且可以基于结构损失信息810和复杂度损失信息820以及质量损失信息830中的任何一个或任何组合来确定LossUS。
在上文中,已经描述了AI解码设备200的AI放大器234和AI编码设备600的AI缩小器612存储多条DNN设置信息,并且现在将描述训练存储在AI放大器234和AI缩小器612中的多条DNN设置信息中的每一条的方法。
如参照等式1所述,第一DNN 700基于第一训练图像802的结构信息与原始训练图像801的结构信息之间的相似度(结构损失信息810)、作为对第一训练图像802执行第一编码的结果而获得的图像数据的比特率(复杂度损失信息820)、以及第三训练图像804与原始训练图像801之间的差异(质量损失信息830)来更新参数。
可以更新第一DNN 700的参数,使得获得具有与原始训练图像801相似的结构信息的第一训练图像802,并且当对第一训练图像802执行第一编码时获得具有小比特率的图像数据,并且同时,对第一训练图像802执行AI放大的第二DNN 300获得与原始训练图像801相似的第三训练图像804。
优化第一DNN 700的参数所沿的方向可以通过调整等式1的权重a、b和c而变化。例如,当权重b被确定为高时,可以通过使第三训练图像804的低比特率优先于高质量来更新第一DNN 700的参数。此外,当权重c被确定为高时,可以通过使第三训练图像804的高质量优先于高比特率或保持原始训练图像801的结构信息来更新第一DNN 700的参数。
此外,优化第一DNN 700的参数所沿的方向可以根据用于对第一训练图像802执行第一编码的编解码器的类型而变化。这是因为要输入到第二DNN 300的第二训练图像可以根据编解码器的类型而变化。
换句话说,可以基于权重a、b和c以及用于对第一训练图像802执行第一编码的编解码器的类型来联合更新第一DNN 700的参数和第二DNN 300的参数。因此,当在将权重a、b和c分别确定为特定值并将编解码器的类型确定为特定类型之后训练第一DNN 700和第二DNN 300时,可以确定彼此联系和优化的第一DNN 700的参数和第二DNN 300的参数。
此外,当在改变权重a、b和c以及编解码器的类型之后训练第一DNN 700和第二DNN300时,可以确定彼此联系和优化的第一DNN 700的参数和第二DNN 300的参数。换句话说,当在改变权重a、b和c的值以及编解码器的类型的同时训练第一DNN 700和第二DNN 300时,可以在第一DNN 700和第二DNN 300中确定彼此联合训练的多条DNN设置信息。
如上面参照图5所述,第一DNN 700和第二DNN 300的多条DNN设置信息可以被映射到与第一图像相关的信息。为了设置这样的映射关系,可以根据特定比特率经由特定编解码器对从第一DNN 700输出的第一训练图像802执行第一编码,并且可以将通过对作为执行第一编码的结果而获得的比特流执行第一解码而获得的第二训练图像输入到第二DNN300。换句话说,通过在设置环境使得根据特定比特率经由特定编解码器对特定分辨率的第一训练图像802执行第一编码之后训练第一DNN 700和第二DNN 300,可以确定映射到第一训练图像802的分辨率的DNN设置信息对、用于对第一训练图像802执行第一编码的编解码器的类型、以及作为对第一训练图像802执行第一编码的结果而获得的比特流的比特率。通过不同地改变第一训练图像802的分辨率、用于对第一训练图像802执行第一编码的编解码器的类型以及根据第一训练图像802的第一编码获得的比特流的比特率,可以确定第一DNN700和第二DNN 300的多个DNN设置信息与跟第一图像相关的多条信息之间的映射关系。
图10是用于描述通过训练设备1000的第一DNN 700和第二DNN 300的训练过程的示图。
参照图9描述的第一DNN 700和第二DNN 300的训练可以通过训练设备1000执行。训练设备1000包括第一DNN 700和第二DNN 300。训练设备1000可以是例如AI编码设备600或单独的服务器。作为训练结果获得的第二DNN 300的DNN设置信息存储在AI解码设备200中。
参照图10,在操作S840和S845中,训练设备1000初始地设置第一DNN 700和第二DNN 300的DNN设置信息。因此,第一DNN 700和第二DNN 300可以根据预定的DNN设置信息进行操作。DNN设置信息可以包括关于第一DNN 700和第二DNN 300中包括的卷积层的数量、每个卷积层的滤波器内核的数量、每个卷积层的滤波器内核的尺寸或每个滤波器内核的参数中的任何一个或任何组合的信息。
在操作S850中,训练设备1000将原始训练图像801输入到第一DNN 700中。原始训练图像801可以包括静止图像或包括在运动图像中的至少一个帧。
在操作S855,第一DNN 700根据初始设置的DNN设置信息处理原始训练图像801,并输出通过对原始训练图像801执行AI缩小而获得的第一训练图像802。在图10中,从第一DNN700输出的第一训练图像802被直接输入到第二DNN 300,但是从第一DNN 700输出的第一训练图像802可以通过训练设备1000输入到第二DNN 300。此外,训练设备1000可以经由特定编解码器对第一训练图像802执行第一编码和第一解码,然后将第二训练图像输入到第二DNN 300。
在操作S860,第二DNN 300根据初始设置的DNN设置信息处理第一训练图像802或第二训练图像,并输出通过对第一训练图像802或第二训练图像执行AI放大而获得的第三训练图像804。
在操作S865中,训练设备1000基于第一训练图像802计算复杂度损失信息820。
在操作S870中,训练设备1000通过将减小的训练图像803和第一训练图像802进行比较来计算结构损失信息810。
在操作S875,训练设备1000通过将原始训练图像801和第三训练图像804进行比较来计算质量损失信息830。
在操作S880中,基于最终损失信息经由反向传播过程更新初始设置的DNN设置信息。训练设备1000可以基于复杂度损失信息820、结构损失信息810和质量损失信息830来计算用于训练第一DNN 700的最终损失信息。
在操作S885中,第二DNN 300基于质量损失信息830或最终损失信息经由反向传播过程来更新初始设置的DNN设置信息。训练设备1000可以基于质量损失信息830计算用于训练第二DNN 300的最终损失信息。
然后,训练设备1000、第一DNN 700和第二DNN 300可以重复操作S850至操作S885,直到最终损失信息被最小化,以更新DNN设置信息。此时,在每次重复期间,第一DNN 700和第二DNN 300根据在先前操作中更新的DNN设置信息进行操作。
下面的表1示出了当根据本公开的实施例对原始图像105执行AI编码和AI解码时以及当经由HEVC对原始图像105执行编码和解码时的效果。
表1
Figure BDA0003022719940000301
如表1所示,尽管根据本公开的实施例,当对包括8K分辨率的300个帧的内容执行AI编码和AI解码时的主观图像质量高于当通过HEVC执行编码和解码时的主观图像质量,但是比特率降低了至少50%。
图11是用于对原始图像105执行AI缩小的第一设备20和用于对第二图像135执行AI放大的第二设备40的示图。
第一设备20接收原始图像105,并通过使用AI缩小器1124和基于变换的编码器1126将图像数据25和AI数据30提供给第二设备40。根据实施例,图像数据25与图1的图像数据相应,并且AI数据30与图1的AI数据相应。此外,根据实施例,基于变换的编码器1126与图7的第一编码器614相应,并且AI缩小器1124与图7的AI缩小器612相应。
第二设备40接收AI数据30和图像数据25,并且通过使用基于变换的解码器1146和AI放大器1144来获得第三图像145。根据实施例,基于变换的解码器1146与图2的第一解码器232相应,并且AI放大器1144与图2的AI放大器234相应。
根据实施例,第一设备20包括CPU、存储器和包括指令的计算机程序。计算机程序存储在存储器中。根据实施例,第一设备20根据CPU对计算机程序的执行来执行将参照图11描述的功能。根据实施例,将参照图11描述的功能由专用硬件芯片和/或CPU执行。
根据实施例,第二设备40包括CPU、存储器和包括指令的计算机程序。计算机程序存储在存储器中。根据实施例,第二设备40根据CPU对计算机程序的执行来执行将参照图11描述的功能。根据实施例,将参照图11描述的功能由专用硬件芯片和/或CPU执行。
在图11中,第一设备20的配置控制器1122接收至少一个输入值10。根据实施例,至少一个输入值10可以包括用于AI缩小器1124和AI放大器1144的目标分辨率差、图像数据25的比特率、图像数据25的比特率类型(例如,可变比特率类型、恒定比特率类型或平均比特率类型)和用于基于变换的编码器1126的编解码器类型中的任何一个或任何组合。至少一个输入值10可以包括预先存储在第一设备20中的值或从用户输入的值。
配置控制器1122基于接收到的输入值10来控制AI缩小器1124和基于变换的编码器1126的操作。根据实施例,配置控制器1122根据接收到的输入值10获得用于AI缩小器1124的DNN设置信息,并且利用所获得的DNN设置信息来设置AI缩小器1124。根据实施例,配置控制器1122可以将接收到的输入值10发送到AI缩小器1124,并且AI缩小器1124可以基于接收到的输入值10获得用于对原始图像105执行AI缩小的DNN设置信息。根据实施例,配置控制器1122可以将附加信息(例如,应用AI缩小的颜色格式(亮度分量、色度分量、红色分量、绿色分量或蓝色分量)信息和高动态范围(HDR)的色调映射信息)和输入值10一起提供给AI缩小器1124,并且AI缩小器1124可以考虑输入值10和附加信息来获得DNN设置信息。根据实施例,配置控制器1122将接收到的输入值10的至少一部分发送到基于变换的编码器1126,并且基于变换的编码器1126通过特定值的比特率、特定类型的比特率和特定编解码器对第一图像115执行第一编码。
AI缩小器1124接收原始图像105并执行参照图1、图7、图8、图9和图10中的任何一个或任何组合描述的操作以获得第一图像115。
根据实施例,AI数据30被提供给第二设备40。AI数据30可以包括原始图像105和第一图像115之间的分辨率差异信息以及与第一图像115相关的信息中的一个或两个。可以基于输入值10的目标分辨率差异来确定分辨率差异信息,并且可以基于目标比特率、比特率类型或编解码器类型中的至少一个来确定与第一图像115相关的信息。根据实施例,AI数据30可以包括在AI放大期间使用的参数。可以从AI缩小器1124将AI数据30提供给第二设备40。
图像数据25在原始图像105由基于变换的编码器1126处理时被获得,并且被发送到第二设备40。基于变换的编码器1126可根据MPEG-2、H.264AVC、MPEG-4、HEVC、VC-1、VP8、VP9或VA1处理第一图像115。
第二设备40的配置控制器1142基于AI数据30控制AI放大器1144的操作。根据实施例,配置控制器1142根据接收到的AI数据30获得用于AI放大器1144的DNN设置信息,并用获得的DNN设置信息设置AI放大器1144。根据实施例,配置控制器1142可以将接收到的AI数据30发送到AI放大器1144,并且AI放大器1144可以基于AI数据30获得用于对第二图像135执行AI放大的DNN设置信息。根据实施例,配置控制器1142可以将附加信息(例如,应用AI放大的颜色格式(亮度分量、色度分量、红色分量、绿色分量或蓝色分量)信息以及HDR的色调映射信息)和AI数据30一起提供给AI放大器1144,并且AI放大器1144可以考虑AI数据30和附加信息来获得DNN设置信息。
根据实施例,AI放大器1144可从配置控制器1142接收AI数据30,从基于变换的解码器1146接收预测模式信息、运动信息或量化参数信息中的至少一个,并且基于预测模式信息、运动信息和量化参数信息中的任何一个或任何组合和AI数据30来获得DNN设置信息。
基于变换的解码器1146可处理图像数据25以重构第二图像135。基于变换的解码器1146可根据MPEG-2、H.264 AVC、MPEG-4、HEVC、VC-1、VP8、VP9或AV1处理图像数据25。
AI放大器1144可基于设置的DNN设置信息通过对从基于变换的解码器1146提供的第二图像135执行AI放大来获得第三图像145。
AI缩小器1124可以包括第一DNN,并且AI放大器1144可以包括第二DNN,并且根据实施例,根据参照图9和图10描述的训练方法来训练用于第一DNN和第二DNN的DNN设置信息。
图12是用于描述根据本公开的实施例的流传输系统1200的概念的示图。
参照图12,流传输系统1200可以包括服务器1210和终端1220。然而,这是示例,并且流传输系统1200的元件不限于服务器1210和终端1220。
服务器1210可以将图像数据流传输到终端1220。在本公开中,流传输表示在服务器1210和终端1220之间发送和接收图像数据使得终端1220可以实时再现图像数据的操作。此外,服务器1210可以将包括音频数据和文本数据以及图像数据的各种类型的数据流传输到终端1220,但是在本公开中,将描述根据本公开的实施例的流传输图像数据的方法。
为了流传输,服务器1210和终端1220可以通过网络1230连接。服务器1210可以通过网络1230将图像数据流传输到终端1220。
例如,当终端1220向服务器1210请求多项图像数据中的预定义图像数据时,可以将预定义图像数据发送到终端1220。多项图像数据也可以被称为多个版本的图像内容(例如,电影、电视内容、视频等)或多个不同质量版本的图像内容。预定义图像数据可以是与用户的设置相应的图像数据。然而,本公开不限于该示例,因此,在本公开的另一示例中,预定义图像数据可以是当服务器1210和终端1220之间的流传输开始时的具有被设置为默认的质量的图像数据。在服务器1210流传输图像数据的同时,网络1230的状态可以是可变的。可以根据服务器1210和终端1220之间的发送和接收路径中的通信量来确定关于网络1230的状态的信息,并且这可以被描述为拥塞水平。然而,这是示例,并且网络1230的状态不是被描述为仅根据在发送和接收路径中发生的通信。
为了基于网络的可变状态自适应地执行流传输,服务器1210可以调整将从服务器1210被发送到终端1220的图像数据的比特率和分辨率中的一个或两个。服务器1210可以针对相同图像内容(例如,钢铁侠电影)存储多项图像数据10(例如,高清晰度(HD)级钢铁侠电影、标准清晰度(SD)级钢铁侠电影、15-Mbps钢铁侠电影、10-Mbps钢铁侠电影等),所述多项图像数据10是通过调整比特率和分辨率中的一个或两个从相同图像内容获得的。然而,这是示例,并且用于调整图像数据的质量的参数还可以包括采样频率、帧率、窗口尺寸(例如,1920×1080(1080p)HD、1280×720(720p)HD等)、视频编解码器(例如,H.264、H.265、高级视频编码等)、像素纵横比、音频编解码器(例如,高级音频编码)等。
根据本公开的实施例的服务器1210可以存储具有不同质量的多项图像数据10,并且多项图像数据10可以包括AI编码的图像数据12或未AI编码的图像数据14中的一个或两个。通过上述AI编码过程生成AI编码的图像数据12,并且AI编码过程包括通过第一DNN 700对原始图像执行AI缩小的过程。在这方面,第一DNN 700与终端1220的第二DNN 300联合训练,并且当终端1220接收到AI编码的图像数据时,终端1220可以通过第二DNN 300对图像数据执行AI放大。此外,AI编码的图像数据12可以和与AI缩小相关的AI数据一起存储,并且AI数据可以在AI放大过程中由终端1220使用。
服务器1210可以向终端1220提供多项图像数据10的附加信息,以便允许终端1220请求多项图像数据10中的与网络1230的状态相应的图像数据。附加信息可以包括关于多项图像数据10中的每项图像数据的质量信息和AI尺度转换信息。
可以根据分辨率和比特率来确定多项图像数据10中的每项图像数据的质量,并且质量信息可以包括多项图像数据10中的每项图像数据的分辨率和比特率的值。然而,这是示例,并且可以根据采样频率、帧率、窗口尺寸、视频编解码器、像素纵横比、音频编解码器等来确定质量。AI缩放转换信息可以包括指示图像数据是否是AI编码的图像数据的信息、AI缩放转换等级的值等。在这方面,AI缩放转换等级是指示AI缩小的图像数据与原始图像数据之间的差异的索引,并且可以针对分辨率、比特率等来定义。例如,当在流传输系统1200中支持8K、4K、全HD(FHD)和HD的分辨率时,两个相邻分辨率之间的差异可以被定义为一个等级间隔。在这种情况下,可以描述8K和4K之间的等级差与一个等级间隔相应,并且8K和FHD之间的等级差与两个等级间隔相应。例如,可以将8K、4K、全HD(FHD)和HD的分辨率分别设置为第一分辨率等级、第二分辨率等级、第三分辨率等级和第四分辨率等级,并且可以将8K、4K、全HD(FHD)和HD的分辨率之间的等级间隔(也称为“分辨率等级间隔”)确定为对8K、4K、全HD(FHD)和HD的分辨率设置的分辨率等级之间的差。此外,当在流传输系统1200中支持40Mbps、30Mbps、20Mbps和10Mbps的比特率时,两个相邻比特率之间的差异可以被定义为一个等级间隔。例如,可以将40Mbps、30Mbps、20Mbps和10Mbps的比特率分别设置为第一比特率等级、第二比特率等级、第三比特率等级和第四比特率等级,并且可以将40Mbps、30Mbps、20Mbps和10Mbps的比特率之间的等级间隔(也称为“比特率等级间隔”)确定为对40Mbps、30Mbps、20Mbps和10Mbps的比特率设置的比特率等级之间的差。根据本公开的实施例,可以基于分辨率和比特率的组合来定义等级和等级间隔。也就是说,8K&40Mbps与8K&30Mbps之间的差异可以被定义为一个等级间隔,并且8K&30Mbps与4K&20Mbps之间的差异可以被定义为两个等级间隔。然而,这是示例,并且可以根据不仅是分辨率和比特率的其他因素来确定AI缩放转换等级。
根据本公开的实施例的终端1220可以检查附加信息中包括的多项图像数据10的分辨率和比特率,并且可以请求服务器1210发送已经以特定分辨率或比特率进行了AI编码的图像数据。此外,终端1220可以根据网络1230的状态确定将向服务器1210请求的图像数据的分辨率和比特率。例如,在终端1220从服务器1210接收FHD和5Mbps的AI编码的图像数据的同时,当确认网络的拥塞水平由于接收到的图像数据的误码率(BER)降低而被改善时,终端1220可以向服务器1210请求4K和10Mbps的AI编码的图像数据。在本公开的实施例中,终端1220可以请求服务器1210增加或降低分辨率等级、比特率等级或分辨率等级和比特率等级的组合的等级。
然而,这是示例,并且终端1220可以请求发送特定分辨率或特定比特率的图像数据,并且服务器1210可以确定是发送AI编码的图像数据还是未AI编码的图像数据。下面将参照图18至图20进一步描述本公开的终端1220基于附加信息向服务器1210请求图像数据的实施例。
图13A是用于描述根据本公开的实施例的由服务器执行的流传输数据的方法的流程图。
在操作S1310中,服务器1210可以向终端1220发送不同质量的多项图像数据的附加信息。
响应于来自终端1220的请求,服务器1210可以向终端1220发送多项图像数据的附加信息。附加信息可以包括关于多项图像数据中的每项图像数据的质量信息和AI缩放转换信息。质量信息可以分别包括多项图像数据的分辨率和比特率值,并且AI缩放转换信息可以包括指示图像数据是否是AI编码的图像数据的信息、AI缩放转换等级的值等。然而,这是示例,并且下面将参照图21至图24进一步描述包括在附加信息中的多条信息。
附加信息可以是根据运动图像专家组(MPEG)-超文本传输协议(HTTP)上的动态自适应流传输(DASH)标准的媒体展示描述(MPD)。然而,这是示例,并且附加信息可以被提供为以可扩展标记语言(XML)格式存储的不同类型的清单文件。
在操作S1320中,服务器1210可以基于附加信息从终端1220接收对质量与终端和服务器1210之间的网络的状态相应的图像数据的请求。
服务器1210可以从终端1220接收请求多项图像数据中的特定质量的图像数据的请求消息,并且请求消息可以包括用于指定多项图像数据中的一个图像数据的信息。
根据本公开的实施例,请求消息可以包括关于由终端1220请求的图像数据的质量信息。例如,请求消息可以包括关于比特率或分辨率中的一个或两个的信息。
根据本公开的实施例,请求消息可以包括质量信息和指示是否已经应用了AI缩小的信息。例如,当请求AI编码的图像数据时,质量信息指示AI编码的图像数据的质量。也就是说,当请求AI编码的图像数据并且其质量信息指示FHD和5Mbps时,服务器1210可以确定终端请求分辨率为FHD且比特率为5Mbps的AI编码的图像数据,该AI编码的图像数据是作为执行AI缩小的结果而获得的。根据本公开的实施例,当请求未AI编码的图像数据时,质量信息指示原始图像数据的质量。也就是说,当请求未AI编码的图像数据并且其质量信息指示FHD和5Mbps时,服务器1210可以确定终端1220请求分辨率为FHD且比特率为5Mbps的原始图像数据。
根据本公开的实施例的请求消息可以包括终端1220的能力信息和关于由终端1220请求的图像数据的质量信息。例如,当质量信息指示FHD和20Mbps并且终端1220支持AI放大时,服务器1210可以确定终端1220请求分辨率为FHD且比特率为20Mbps的AI编码的图像数据,该AI编码的图像数据是作为执行AI缩小的结果而获得的。根据本公开的实施例,当质量信息指示FHD和20Mbps并且终端1220不支持AI放大时,服务器1210可以确定终端1220请求分辨率为FHD且比特率为20Mbps的原始图像数据。
在操作S1330中,响应于请求,服务器1210可以向终端1220发送AI数据和已经通过与终端1220的第二DNN联合训练的第一DNN进行了AI编码的图像数据。
当终端1220请求AI编码的图像数据时,服务器1210可以将AI编码的图像数据与包括可以用于对AI编码的图像数据执行AI放大的信息的AI数据一起发送到终端1220。例如,AI数据可以包括关于指示是否已经应用了AI缩小的信息、AI缩放转换等级以及在AI放大中使用的DNN配置信息中的任何一个或任何组合的信息。然而,这是示例,并且AI数据可以包括可以在执行AI放大中使用的其他信息。
服务器1210可以以片段为单位将AI编码的图像数据发送到终端1220。可以通过基于预设时间单位分割AI编码的图像数据来生成片段。然而,这是示例,并且从服务器1210发送的AI编码的图像数据的发送单位不限于片段的单位。
在操作S1340中,当终端1220和服务器1210之间的网络的状态改变时,服务器1210可以从终端1220接收对与改变的网络的状态相应的不同质量的图像数据的请求。
终端1220可以周期性地确定网络的状态。例如,终端1220可以周期性地测量接收图像数据的时间戳和BER,并且因此可以确定网络的状态。此外,当网络的状态改变时,终端1220可以改变将向服务器1210请求的图像数据的质量。例如,在终端1220在网络拥塞的第一时间点向服务器1210请求FHD和5Mbps的图像数据的情况下,如果拥塞减少并且网络的状况在第二时间点改善,则终端1220可以在第一时间点之后的第二时间点向服务器1210请求4K和10Mbps的图像数据。当观察到延迟(或等待时间)、误码率、分组丢失和超时(例如,丢失连接)中的任何一个或任何组合时,终端1220或服务器1210可以确定发生网络拥塞。例如,当目的地接收由发送器发送的分组所花费的时间(即,延迟或等待时间)长于阈值延迟时,终端1220或服务器1210可以确定发生网络拥塞。在另一示例中,当终端1220在再现从服务器1210发送的视频的同时经历长于阈值缓冲时间的缓冲时,终端1220或服务器1210可以确定发生网络拥塞。
包括在将从终端1220发送到服务器1210以便请求与网络的改变的状态相应的不同质量的图像数据的请求消息中的信息可以与参照S1320提供的描述相应。
图13B是根据本公开的实施例的用于描述由终端1220执行的流传输数据的方法的流程图。
在操作S1315中,终端1220可以基于附加信息向服务器1210请求多项图像数据中的与网络的状态相应的质量的图像数据。附加信息可以包括关于存储在服务器1210中的多项图像数据中的每一项的质量信息和AI缩放转换信息。质量信息可以分别包括多项图像数据的分辨率和比特率,并且AI缩放转换信息可以包括指示图像数据是否是AI编码的图像数据的信息以及已经执行AI缩小的级别的值。
终端1220可以基于网络的状态来确定与终端1220的网络的状态相应的图像数据的质量。可以基于由终端1220接收到的图像数据的时间戳和BER来确定网络的状态。
时间戳是指指示从参照时间到图像数据的接收时间的经过时间的信息。例如,在第一时间段中的时间戳的平均值是3ms而第二时间段中的时间戳的平均值是5ms的情况下,终端1220可以确定第二时间段中的网络的状态与第一时间段相比是拥塞的。此外,BER是指错误比特数与总传输比特数的比率。例如,当BER低于预设参照时,终端1220可以确定网络的状态不拥塞。作为另一示例,在第一时间段内BER的值为0.005而第二时间段内BER的值为0.01的情况下,终端1220可以确定第二时间段内的网络的状态与第一时间段相比是拥塞的。然而,这是示例,并且可以基于另一信息来确定网络的状态。
例如,当终端1220估计服务器1210和终端1220之间的网络的状态拥塞时,终端1220可以从作为多项图像数据的各自比特率的50Mbps、40Mbps、30Mbps和20Mbps中选择作为相对低比特率的20Mbps的图像数据。然而,这是示例,并且由终端1220确定与网络的状态相应的图像数据的质量的方法不限于该示例。
终端1220可以向服务器1210发送请求所确定质量的图像数据的请求消息。根据本公开的实施例,请求消息可以包括关于终端1220请求的图像数据的质量信息。例如,请求消息可以包括关于比特率或分辨率中的至少一个的信息。根据本公开的实施例的请求消息可以包括质量信息和指示是否已经应用AI缩小的信息。根据本公开的实施例的请求消息可以包括终端1220的能力信息和关于终端1220请求的图像数据的质量信息。能力信息可以包括关于终端1220是否支持AI放大的信息。
在操作S1325中,当终端1220接收到与请求相应的图像数据和AI数据时,终端1220可以基于AI数据确定是否对接收到的图像数据执行AI放大。
根据本公开的实施例,终端1220可以基于AI数据确定接收到的图像数据是否已经通过与第二DNN联合训练的第一DNN进行了AI编码。AI数据可以包括关于以下中的至少一个的信息:指示是否已经应用AI缩小的信息、AI缩放转换级别或AI放大中使用的DNN配置信息。可以提供DNN配置信息作为指示卷积层的数量、每个卷积层的滤波器内核的数量、每个滤波器内核的参数等的指示符。然而,这是示例,并且DNN配置信息可以被提供为查找表,并且作为另一示例,第二DNN可以被提供为DNN配置信息。然而,这是示例,并且AI数据可以包括终端1220执行AI放大所需的其他信息。
根据本公开的实施例,当在上述操作S1315中终端1220在对图像数据的请求消息中包括指定AI编码的图像数据的信息时,终端1220可以确定已经将AI缩小应用于响应于请求消息而接收到的图像数据。
在操作S1335中,终端1220可以基于确定是否执行AI放大的结果,通过与第一DNN联合训练的第二DNN对接收到的图像数据执行AI放大。
当终端1220确定接收到的图像数据是已经通过与第二DNN联合训练的第一DNN进行了AI编码的图像数据时,终端可以通过第二DNN对接收到的图像数据执行AI放大。
根据本公开的实施例,终端1220可以基于AI编码的图像数据的分辨率或比特率中的至少一个来确定第二DNN的DNN配置信息。例如,当AI编码的图像数据的分辨率和比特率是4K和10Mbps时,终端1220可以从多条DNN配置信息中选择针对分辨率和比特率优化的DNN配置信息。在这方面,可以在终端1220中预先训练分别针对分辨率和比特率优化的多条DNN配置信息,并且其信息可以包括在AI数据中,如将在下面的实施例中描述的。根据本公开的实施例,终端1220可以基于AI数据中包括的DNN配置信息来获得被优化用于对AI编码的图像数据执行AI放大的DNN配置信息。
终端1220可以通过与第一DNN联合训练的第二DNN,基于所选择的DNN配置信息对AI编码的图像数据执行AI放大。
在操作S1345中,当网络的状态改变时,终端1220可以基于附加信息向服务器1210请求与改变的网络的状态相应的不同质量的图像数据。
例如,尽管在上述操作S1315中终端1220请求FHD和5Mbps的AI编码的图像数据,但是当此后接收到的图像数据的时间戳的间隔变短或BER减小时,终端1220可以确定网络的拥塞水平被减轻和改善,因此可以向服务器1210请求4K和10Mbps比特率的AI编码的图像数据。
作为另一示例,尽管在上述操作S1315中终端1220请求4K和10Mbps的AI编码的图像数据,但是当此后接收到的图像数据的时间戳的间隔变长或BER增加时,终端1220可以确定网络的拥塞水平恶化,因此可以向服务器1210请求FHD和5Mbps的AI编码的图像数据。
作为另一示例,尽管在上述操作S1315中终端1220请求FHD和5Mbps的AI编码的图像数据,但是当此后接收到的图像数据的时间戳的间隔变长或BER增加时,终端1220可以确定网络的拥塞水平恶化,因此可以向服务器1210请求HD和1Mbps的图像数据。也就是说,当分辨率和比特率小于预定参照时,终端1220可以考虑将通过AI放大来重建的图像数据的级别,因此可以向服务器1210请求尚未执行AI缩小的图像数据。然而,这是示例,并且由终端1220执行的基于网络的状态的改变来改变图像数据的质量的方法不限于上述示例。
从终端1220发送到服务器1210以便请求与网络的状态相应的不同质量的图像数据的请求消息中包括的信息可以与参照操作S1315提供的上述描述相应。
图14A是根据本公开的实施例的用于描述由服务器执行的流传输数据的方法的流程图。
在操作S1410中,服务器1210可以从终端1220接收对基于多项图像数据的附加信息确定的不同质量的多项图像数据中的一项图像数据的请求。
附加信息可以从与服务器1210独立分离的服务服务器提供给终端1220。然而,这是示例,并且可以从服务器1210向终端1220提供附加信息。
根据本公开的实施例,服务器1210可以从终端1220接收对质量由用户基于附加信息设置的图像数据的请求。例如,当终端1220的用户选择FHD和5Mbps的质量时,服务器1210可以从终端1220接收对FHD和5Mbps的图像数据的请求。然而,这是示例,并且根据本公开的实施例,服务器1210可以从终端1220接收对被设置为默认的质量的图像数据的请求。例如,在终端1220和服务器1210之间开始图像数据的流传输的情况下,当未确认终端1220和服务器1210之间的网络的状态时,服务器1210可以从终端1220接收对多个质量中的最低质量的图像数据的请求。根据本公开的实施例,服务器1210可以从终端1220接收对设置为默认的特定质量(例如,HD和4Mbps)的图像数据的请求。根据本公开的实施例,除了质量之外,服务器1210还可以从终端1220接收对指定了关于是否已经执行AI编码的信息的图像数据的请求。
在操作S1420中,响应于该请求,服务器1210可以向终端1220发送AI数据和已经通过与终端1220的用于放大的DNN联合训练的用于缩小的DNN进行了AI编码的图像数据。
当终端1220请求AI编码的图像数据时,服务器1210可以将AI编码的图像数据与包括放大AI编码的图像数据可能需要的信息的AI数据一起发送到终端1220。例如,AI数据可以包括关于以下中的至少一个的信息:指示是否已经应用AI缩小的信息、AI缩放转换级别或在AI放大中使用的DNN配置信息。然而,这是示例,并且AI数据可以包括终端1220执行AI放大可能需要的其他信息。
服务器1210可以以片段为单位将AI编码的图像数据发送到终端1220。可以通过基于预设时间单位分割AI编码的图像数据来生成片段。然而,这是示例,并且从服务器1210发送的AI编码的图像数据的发送单位不限于片段的单位。
在操作S1430中,根据终端1220和服务器1210之间的网络的状态,服务器1210可以基于附加信息从终端1220接收对多项图像数据中的不同质量的图像数据的请求。
根据本公开的实施例,请求可以包括关于由终端1220请求的图像数据的质量信息。例如,请求可以包括关于比特率或分辨率中的至少一个的信息。作为另一示例,该请求可以包括质量信息和指示是否已经应用AI缩小的信息。作为另一示例,请求消息可以包括终端的能力信息和关于由终端1220请求的图像数据的质量信息。
图14B是根据本公开的实施例的用于描述由终端1220执行的流传输数据的方法的流程图。
在操作S1405中,终端1220可以请求特定图像数据。根据本公开的实施例的终端1220可以请求特定质量的图像数据。例如,终端1220可以请求FHD和5Mbps的图像数据。然而,这是示例,并且根据本公开的实施例,终端1220可以向服务器1210请求图像数据而不指定其质量。
根据本公开的实施例,除了质量之外,终端1220还可以通过指定关于是否已经执行AI编码的信息来向服务器1210请求图像数据。
在操作S1415中,终端1220可以接收与请求相应的图像数据。根据本公开的实施例的终端1220可以接收附加信息以及与请求相应的图像数据。附加信息可以包括关于可以从服务器1210提供给终端1220的多项图像数据的质量信息、AI缩放转换信息等。然而,这是示例,并且附加信息可以包括分别用于识别多项图像数据的多条其他信息。
此外,附加信息可以包括用于接收基于质量信息、AI缩放转换信息等可识别的多项图像数据的各个统一资源定位符(URLs)。
根据本公开的实施例,可以根据终端1220的能力信息来确定将由终端1220接收的附加信息。例如,当终端1220是支持AI解码的设备时,服务器1210可以将包括AI缩放转换信息的附加信息发送到终端1220,并且当终端1220是不支持AI解码的设备时,服务器1210可以将不包括AI缩放转换信息的附加信息发送到终端1220。然而,这是示例,并且在终端1220是不支持AI解码的设备的情况下,即使当终端1220接收到包括AI缩放转换信息的附加信息时,终端1220也可以不解释而是可以忽略附加信息。在本公开的本实施例中,终端1220的能力信息可以预先提供给服务器1210,或者可以包括在对特定图像数据的请求中。
本公开的上述实施例是示例,因此可以在预定时段期间接收到图像数据之后将附加信息从服务器1210提供给终端1220,或者可以在接收到图像数据之前将附加信息从服务器1210提供给终端1220。
在操作S1425中,终端1220可以确定网络的状态是否改变。
可以基于由终端1220接收到的图像数据的时间戳和BER来确定网络的状态。例如,作为基于时间戳的确定的结果,当终端1220确定从服务器1210接收图像数据的时间被延迟时,终端1220可以确定网络的状态拥塞。作为另一示例,当BER小于预定参照时,终端1220可以确定网络的状态不拥塞。然而,这是示例,并且可以基于其他信息来确定网络的状态。
根据本公开的实施例,当图像数据的时间戳或BER中的至少一个改变时,终端1220可以确定网络的状态已经改变,并且根据本公开的实施例,当时间戳或BER中的至少一个超过预设范围时,或者当发生与先前测量值相差至少预定值的差或者该差保持一定时间段时,终端1220可以确定网络的状态已经改变。例如,当先前的BER是0.001,并且此后测量的BER在0.0095和0.005之间的范围内时,终端1220确定网络的状态被维持,但是当BER超过相应的范围时,终端1220可以确定网络的状态改变。然而,这是一个示例,并且做出关于网络的状态是否改变的确定的参照不限于上述示例。
作为确定的结果,当终端1220确定网络的状态未改变时,终端1220可以接收与在操作S1405中请求的质量相应或者与是否已经执行AI缩小相应的图像数据。
在操作S1435,终端1220可以基于附加信息改变将被请求的图像数据。在上述操作S1425中,当终端1220确定网络的状态已经改变时,终端1220可以基于附加信息和终端1220的能力来确定可需求图像数据(或图像数据质量设置)。
为了确定需要的图像数据(或图像数据质量设置),终端1220可以确定终端1220是否能够支持AI解码。根据本公开的实施例,终端1220可以确定终端1220是否能够执行AI放大。根据本公开的实施例,终端1220可以基于与改变的网络的状态相应的质量、在终端1220的第二DNN中与服务器1210的第一DNN联合训练的DNN配置信息来确定相应质量的AI编码的图像数据是否能够是能够根据DNN配置信息的类型进行AI放大的DNN配置信息的类型。例如,当与改变的网络的状态相应的质量是FHD和5Mbps时,终端1220可以确定第二DNN是否已经与服务器1210的第一DNN联合训练,以便AI放大FHD和5Mbps的AI编码的图像数据。
根据本公开的实施例,在相同质量的图像数据的情况下,终端1220可以基于终端1220的硬件装置规范、编解码器的类型等来确定是否已经对将被请求的图像数据执行了AI缩小、AI缩小等级、AI缩小中使用的DNN配置信息的类型等。关于每个图像数据是否已经进行了AI缩小、每个图像数据的AI缩小等级、在AI缩小中使用的DNN配置信息的类型等的信息可以包括在附加信息中并提供给终端1220,并且下面将参照图20至图23进一步提供对其的描述。
图15A是用于描述根据本公开的实施例的由服务器执行的流传输数据的方法的流程图。
在操作S1510中,服务器1210可以向终端1220发送不同质量的多项图像数据的附加信息。
服务器1210可以响应于来自终端1220的请求,发送多项图像数据的附加信息。然而,这是示例,并且当在服务器1210和终端1220之间建立用于流传输图像数据的通信会话时,服务器1210可以将附加信息发送到终端1220。
在本公开的本实施例中,附加信息可以对应于参照图13A描述的附加信息。
在操作S1520中,服务器1210可以基于附加信息从终端1220接收对多项图像数据中的图像数据的请求。
根据本公开的实施例,服务器1210可以从终端1220接收对质量由用户设置的图像数据的请求。例如,当终端1220的用户选择FHD和5Mbps的质量时,服务器1210可以从终端1220接收对FHD和5Mbps的图像数据的请求。然而,这是示例,并且根据本公开的实施例,服务器1210可以从终端1220接收对被设置为默认的质量的图像数据的请求。例如,在终端1220和服务器1210之间开始图像数据的流传输的情况下,当未确认终端1220和服务器之间的网络的状态时,服务器1210可以从终端1220接收对多个质量中的最低质量的图像数据的请求。根据本公开的实施例,服务器1210可以从终端1220接收对设置为默认的特定质量(例如,HD和4Mbps)的图像数据的请求。根据本公开的实施例,除了质量之外,服务器1210还可以从终端接收对指定了关于是否已经执行AI编码的信息的图像数据的请求。
在操作S1530中,响应于该请求,服务器1210可以向终端1220发送AI数据和已经通过与终端1220的用于放大的DNN联合训练的用于缩小的DNN进行了AI编码的图像数据。
当终端1220请求AI编码的图像数据时,服务器1210可以将AI编码的图像数据与包括放大AI编码的图像数据所需的信息的AI数据一起发送到终端1220。例如,AI数据可以包括关于以下中的至少一个的信息:指示是否已经应用AI缩小的信息、AI缩放转换级别或在AI放大中使用的DNN配置信息。然而,这是示例,并且AI数据可以包括终端1220执行AI放大所需的其他信息。
服务器1210可以以片段为单位将AI编码的图像数据发送到终端1220。可以通过基于预设时间单位对AI编码的图像数据进行分割来生成片段。然而,这仅仅是示例,并且从服务器1210发送的AI编码的图像数据的发送单位不限于片段的单位。
在操作S1540中,根据终端1220和服务器1210之间的网络的状态,服务器1210可以基于附加信息从终端1220接收对多项图像数据中的不同质量的图像数据的请求。
根据本公开的实施例,请求可以包括关于由终端1220请求的图像数据的质量信息。例如,请求可以包括关于比特率或分辨率中的至少一个的信息。作为另一示例,请求可以包括质量信息和指示是否已经应用了AI缩小的信息。作为另一示例,请求消息可以包括终端1220的能力信息和关于由终端1220请求的图像数据的质量信息。
图15B是用于描述根据本公开的实施例的由终端1220执行的流传输数据的方法的流程图。
在操作S1515中,终端1220可以从服务器1210接收不同质量的多项图像数据的附加信息。根据本公开的实施例,终端1220可以向服务器1210请求多项图像数据的附加信息。然而,这是示例,并且当在终端1220和服务器1210之间建立用于流传输图像数据的通信会话时,服务器1210可以将附加信息发送到终端1220。
在本公开的本实施例中,附加信息可以与参照图13B描述的附加信息相应。
在操作S1525中,终端1220可以基于附加信息向服务器1210请求多项图像数据中的图像数据。根据本公开的实施例,终端1220可以向服务器1210请求质量由用户设置的图像数据。例如,当终端1220的用户选择FHD和5Mbps的质量时,终端1220可以从终端1220向服务器1210请求FHD和5Mbps的图像数据。然而,这是示例,并且根据本公开的实施例,终端1220可以向服务器1210请求被设置为默认的质量的图像数据。例如,在终端1220和服务器1210之间开始图像数据的流传输的情况下,当未确认终端1220和服务器1210之间的网络的状态时,终端1220可以向服务器1210请求多个质量中的最低质量的图像数据。根据本公开的实施例,终端1220可以向服务器1210请求设置为默认的特定质量(例如,HD和4Mbps)的图像数据。
根据本公开的实施例,终端1220还可以通过指定除了质量之外的关于是否已经执行了AI编码的信息来向服务器1210请求图像数据。
在操作S1535,当终端1220接收到与请求相应的图像数据和AI数据时,终端1220可以基于AI数据确定是否对接收到的图像数据执行AI放大。
根据本公开的实施例,终端1220可以基于AI数据确定接收到的图像数据是否已经通过与第二DNN联合训练的第一DNN进行了AI编码。AI数据可以包括关于以下至少一个的信息:指示是否已经应用了AI缩小的信息、AI缩放转换等级或AI放大中使用的DNN配置信息。
根据本公开的实施例,当在操作S1525中终端1220在对图像数据的请求消息中包括指定AI编码的图像数据的信息时,终端1220可以确定已经将AI缩小应用于响应于请求消息接收到的图像数据。
在操作S1545中,终端1220可以基于关于是否执行AI放大的确定的结果,通过与服务器1210的用于缩小的DNN联合训练的用于放大的DNN对接收到的图像数据执行AI放大。
当终端1220确定接收到的图像数据是已经通过与第二DNN联合训练的第一DNN进行了AI编码的图像数据时,终端1220可以通过第二DNN对接收到的图像数据执行AI放大。在本公开的本实施例中,由终端1220执行的通过第二DNN对接收到的图像数据执行AI放大的方法可以与上面参照图13B描述的操作S1335相应。
在操作S1555中,终端1220可以确认终端1220和服务器1210之间的网络的状态。可以基于由终端1220接收到的图像数据的时间戳和BER来确定网络的状态。例如,作为基于时间戳的确定的结果,当终端1220确定从服务器1210接收到图像数据的时间被延迟时,终端1220可以确定网络的状态拥塞。作为另一示例,当BER小于预定参照时,终端1220可以确定网络的状态不拥塞。然而,这是示例,并且可以基于其它信息来确定网络的状态。
在操作S1565中,根据网络的状态,终端1220可以基于附加信息向服务器1210请求多项图像数据中的不同质量的图像数据。
例如,尽管在上述操作S1525中终端1220请求FHD和5Mbps的AI编码的图像数据,但是当此后接收到的图像数据的时间戳的间隔变短或BER减小时,终端1220可以确定网络的拥塞水平得到改善,因此可以向服务器1210请求4K和10Mbps比特率的AI编码的图像数据。
作为另一示例,尽管在上述操作S1525中终端1220请求4K和10Mbps的AI编码的图像数据,但是当此后接收到的图像数据的时间戳的间隔变长或BER增加时,终端1220可以确定网络的拥塞水平恶化,因此可以向服务器1210请求FHD和5Mbps的AI编码的图像数据。
作为另一示例,尽管在上述操作S1515中终端1220请求FHD和5Mbps的AI编码的图像数据,但是当此后接收到的图像数据的时间戳的间隔变长或BER增加时,终端1220可以确定网络的拥塞水平恶化,因此可以向服务器1210请求HD和1Mbps的图像数据。也就是说,当分辨率和比特率小于预定参照时,终端1220可以考虑将通过AI放大来重构的图像数据的等级,因此可以向服务器1210请求尚未执行AI缩小的图像数据。然而,这是示例,并且由终端1220执行的基于网络的状态的改变来改变图像数据的质量的方法不限于上述示例。
从终端1220发送到服务器1210以便请求与网络的状态相应的不同质量的图像数据的请求消息中包括的信息可以与参照操作S1515提供的上述描述相应。
图16是用于描述根据本公开的实施例的根据第一终端1620是否支持AI放大在服务器1610与第一终端1620之间执行流传输的方法的示图。
在图16的实施例中,假设第一终端1620相应于能够通过与服务器1610的第一DNN联合训练的第二DNN支持AI放大的终端,并且第二终端1630相应于不支持AI放大的终端。
服务器1610存储用于自适应流传输的不同质量的多项图像数据,并且响应于来自终端(例如,第一终端1620)的请求而发送图像数据。终端(例如,第一终端1620)可以从服务器1610获得多项图像数据的附加信息,并且可以基于附加信息向服务器1610请求多项图像数据中的一项图像数据。下面将参照图20至图23进一步描述附加信息中包括的多条信息。
例如,服务器1610可以通过1a-1 DNN 1612对8K和60Mbps的原始图像数据1640执行AI缩小来获得AI缩小的4K和20Mbps的图像数据1642。服务器1610可以响应于来自第一终端1620的请求,发送4K和20Mbps的AI编码的图像数据1642以及与AI缩小到4K和20Mbps相关的AI数据。第一终端1620可以通过与1a-1 DNN 1612联合训练的2a-1 DNN 1622对接收到的图像数据执行AI放大,因此可以获得AI放大的图像数据1652。在这方面,第一终端1620可以基于包括在接收到的AI数据中的信息,通过获得指示是否已经应用了AI缩小的信息、AI缩放转换等级或在AI放大中使用的DNN配置信息中的至少一个来执行上述AI放大。
作为另一示例,服务器1610可以通过经由1a-2 DNN 1614对8K和60Mbps的原始图像数据1640执行AI缩小来获得AI缩小的FHD和7Mbps的图像数据1644。服务器1610可以响应于来自第一终端1620的请求,将FHD和7Mbps的AI编码的图像数据1644连同与AI缩小到FHD和7Mbps相关的AI数据一起发送。例如,在第一终端1620如上述示例中那样请求并接收4K和20Mbps的AI编码的图像数据1642的同时,当第一终端1620确定网络的拥塞水平恶化时,第一终端1620可以请求FHD和7Mbps的AI编码的图像数据1644。第一终端1620可以通过与1a-2DNN 1614联合训练的2a-2 DNN 1624对响应于请求而接收到的图像数据执行AI放大,并且因此可以获得AI放大的图像数据1654。如在上述示例中,第一终端1620可以在AI放大中使用包括在AI数据中信息。
作为另一示例,服务器1610可以获得通过经由1a-3 DNN 1616对8K和60Mbps的原始图像数据1640执行AI缩小被AI缩小的HD和4Mbps的图像数据1646。服务器1610可以响应于来自第一终端1620的请求,将HD和4Mbps的AI编码的图像数据1646连同与AI缩小到HD和4Mbps相关的AI数据一起发送。第一终端1620可以通过与1a-3 DNN 1616联合训练的2a-3DNN 1626对接收到的图像数据执行AI放大,因此可以获得AI放大的图像数据1656。如在上述示例中,第一终端1620可以在AI放大中使用包括在AI数据中的信息。
此外,第一终端1620可以另外对AI放大的图像数据执行传统放大。例如,由于网络的状态,第一终端1620可以接收通过经由1a-3 DNN 1616应用AI缩小获得的HD和4Mbps的AI编码的图像数据1646。第一终端1620可以通过经由与1a-3 DNN 1616联合训练的2a-3 DNN1626执行AI放大来获得FHD和7Mbps的AI放大的图像数据1656。第一终端1620可以对FHD和7Mbps的AI放大的图像数据1656执行传统放大,因此可以获得4K和20Mbps的图像数据。
在上述示例中,描述了第一终端1620接收通过第一DNN的AI编码的图像数据,但是第一终端1620可以接收未进行AI缩小的图像数据(例如,图像数据1650)。
第二终端1630是不支持通过与第一DNN联合训练的第二DNN进行放大的终端。第二终端1630可以不对从服务器1610接收到的图像数据1660、1662、1664或1666是否是已经通过第一DNN进行了AI缩小的图像数据进行确定,并且可以处理接收到的图像数据1660、1662、1664或1666。在已经通过第一DNN执行了缩小的图像数据的情况下,图像数据与已经执行了一般缩小技术的图像数据相比可以具有较少的质量损失,因此,即使当第二终端1630不支持通过第二DNN的放大时,与基于相关技术的图像数据相比的高质量的图像数据也可以被提供给第二终端1630。
图17是用于描述根据本公开的实施例的根据第一终端1720是否支持AI放大在服务器1710与第一终端1720之间执行流传输的方法的示图。
在图17的实施例中,假设第一终端1720相应于能够通过与服务器1710的第一DNN联合训练的第二DNN支持AI放大的终端,并且第二终端1730相应于不支持AI放大的终端。
服务器1710存储用于自适应流传输的不同质量的多项图像数据,并且响应于来自终端(例如,第一终端1720)的请求而发送图像数据。终端(例如,第一终端1720)可以从服务器1710获得多项图像数据的附加信息,并且可以基于附加信息向服务器1710请求多项图像数据中的一项图像数据。下面将参照图21至图24进一步描述包括在附加信息中的多条信息。
例如,服务器1710可以通过1b-1 DNN 1712对8K和60Mbps的原始图像数据1740执行AI缩小来获得4K和20Mbps的AI缩小的图像数据1742。服务器1710可以响应于来自第一终端1720的请求,将4K和20Mbps的AI编码的图像数据1742连同与AI缩小到4K和20Mbps相关的AI数据一起发送。第一终端1720可以通过与1b-1 DNN 1712联合训练的2b-1 DNN 1722对接收到的图像数据执行AI放大,因此可以获得AI放大的图像数据1752。在这方面,第一终端1720可以基于包括在接收到的AI数据中的信息,通过获得指示是否已经应用了AI缩小的信息、AI缩放转换等级或在AI放大中使用的DNN配置信息中的至少一个来执行上述AI放大。
作为另一示例,服务器1710可以通过1b-2 DNN 1714对4K的AI缩小的图像数据1742执行AI缩小,并且因此可以获得FHD和7Mbps的AI缩小的图像数据1744。服务器1710可以响应于来自第一终端1720的请求,将FHD和7Mbps的AI缩小的图像数据1744连同与AI缩小到FHD和7Mbps相关的AI数据一起发送。例如,在第一终端1720如上述示例中那样请求并接收4K和20Mbps的AI编码的图像数据1742的同时,当第一终端1720确定网络的拥塞水平恶化时,第一终端1720可以请求FHD和7Mbps的AI编码的图像数据1744。第一终端1720可以通过与1b-2 DNN 1714联合训练的2b-2 DNN 1724对响应于请求而接收到的图像数据执行AI放大,因此可以获得AI放大的图像数据1754。如在上述示例中,第一终端1720可以在AI放大中使用包括在AI数据中的信息。
作为另一示例,服务器1710可以通过2b-3 DNN 1716对FHD和7Mbps的AI编码的图像数据1744执行AI缩小,并且因此可以获得HD和4Mbps的AI缩小的图像数据1746。服务器1710可以响应于来自第一终端1720的请求,将HD和4Mbps的AI缩小的图像数据1746连同与AI缩小到HD和4Mbps相关的AI数据一起发送。第一终端1720可以通过与1b-3 DNN 1716联合训练的2b-3 DNN 1726对接收到的图像数据执行AI放大,因此可以获得AI放大的图像数据1756。如在上述示例中,第一终端1720可以在AI放大中使用包括在AI数据中的信息。
在图17中,服务器1710被示为使用1b-1 DNN 1712和1b-2 DNN 1714通过两个单独的缩小过程获得FHD和7Mbps的AI缩小图像数据1744,但是实施例不限于此,并且服务器1710可以使用与第一终端1720的相应DNN联合训练的单个DNN将8K和60Mbps的原始图像数据1740直接缩小为FHD的图像数据1744。此外,服务器1710可以使用与第一终端1720的相应DNN联合训练的单个DNN将8K和60Mbps的原始图像数据1740直接缩小为HD的图像数据1746。
在上述示例中,描述了第一终端1720接收通过第一DNN的AI编码的图像数据,但是第一终端1720可以接收未进行AI缩小的图像数据(例如,图像数据1750)。
图17所示的DNN的结构是示例,并且1b-1 DNN 1712、1b-2 DNN 1714或1b-3 DNN1716中的至少一个可以用传统缩放器替换。此外,与其相关联,2b-1 DNN 1722、2b-2 DNN1724或2b-3 DNN 1726中的至少一个可以用传统缩放器替换。
第二终端1730是不支持通过与第一DNN联合训练的第二DNN进行放大的终端。第二终端1730可以不对从服务器1710接收到的图像数据1760、1762、1764或1766是否是已经通过第一DNN被执行了AI缩小的图像数据进行确定,并且可以处理接收到的图像数据1760、1762、1764或1766。在已经通过第一DNN执行了缩小的图像数据的情况下,图像数据与已经执行了一般缩小技术的图像数据相比可以具有较少的质量损失,因此,即使当第二终端1730不支持通过第二DNN的放大时,与基于相关技术的图像数据相比高质量的图像数据可以被提供给第二终端1730。
图12和图17所示的图像数据是示例,并且以不同质量存储的多项图像数据不限于AI编码的4K图像数据、AI编码的FHD图像数据、AI编码的HD图像数据等。例如,服务器1710可以对8K原始图像数据执行AI缩小,因此可以存储包括5K(5120×2880)图像数据、3K(2560×1440)图像数据、540p(960×540)图像数据、360p(640×360)图像数据等的多项AI编码的图像数据。此外,服务器1710可以存储针对特定分辨率的图像数据的不同比特率的多项图像数据。例如,AI编码的4K图像数据可以被存储为4K和20Mbps的图像数据、4K和15Mbps的图像数据等。为此,可以以各种方式配置图16和图17中所示的第一DNN结构。也就是说,可以使用用于将8K图像数据转换为AI编码的3K图像数据的第一DNN结构、用于将3K图像数据转换为AI编码的540p图像数据的第一DNN结构、用于将8K和60Mbps的图像数据转换为4K和15Mbps的AI编码的图像数据的第一DNN结构等。
图18是用于描述根据本公开的实施例的由服务器1210执行的根据终端1220的能力流传输图像数据的方法的示图。
在操作S1810中,终端1220可以将关于能力的信息发送到服务器1210。根据本公开的实施例,关于能力的信息可以包括指示终端1220是否能够改变适应于网络的状态而请求的图像数据的质量的信息、指示终端1220是否能够支持通过第二DNN的AI放大的信息、或者关于终端1220可支持的AI放大等级的信息中的至少一个。然而,这是示例,并且关于能力的信息可以包括关于终端1220支持的编解码器的信息。
在操作S1820中,终端1220可以向服务器1210请求附加信息。为了服务器1210和终端1220之间的自适应流传输,需要检查可从服务器1210提供的多项图像数据的各自的质量以及是否已经对其执行了AI编码。因此,终端1220可以向服务器1210请求附加信息。下面将参照图21至图24进一步描述附加信息。因此,终端1220可以向服务器1210请求多项图像数据的附加信息。
在操作S1830中,服务器1210可以将附加信息发送到终端1220。当服务器1210从终端1220接收到请求时,服务器1210可以确定与请求相应的附加信息。例如,服务器1210可以基于来自终端1220的请求中包括的附加信息的标识符来确定来自存储在服务器1210中的多条附加信息并且由终端1220请求的附加信息。附加信息可以由服务器1210直接生成,但是根据本公开的实施例,附加信息可以从不同的服务器接收。
在操作S1840中,终端1220可以基于附加信息向服务器1210请求与网络的状态相应的质量的图像数据。
在本公开的本实施例中,假设从终端1220发送到服务器1210以便请求图像数据的请求消息仅包括与网络的状态相应的质量信息。例如,终端1220可以向服务器1210发送包括指示与网络的状态相应的图像数据的分辨率与FHD相应,并且图像数据的比特率与5Mbps相应的信息的请求消息。
在操作S1850中,服务器1210可以基于终端1220的能力来确定与请求相应的图像数据。
当请求特定质量的图像数据时,服务器1210可以确定是否发送已经被执行了缩小的图像数据。作为服务器1210基于终端1220的能力的确定的结果,当终端1220可以支持通过与第一DNN联合训练的第二DNN的AI放大时,服务器1210可以发送AI编码的图像数据。
此外,服务器1210可以基于终端1220可支持的AI放大等级来确定将发送哪个图像数据,其中,所述图像数据被AI缩小到特定级别。例如,在终端1220请求FHD和5Mbps的AI编码的图像数据的情况下,服务器1210可以确定是发送通过经由1a DNN对8K和30Mbps的图像数据执行AI缩小而获得的FHD和5Mbps的图像数据,还是通过经由1b DNN对4K和10Mbps的图像数据执行AI缩小而获得的FHD和5Mbps的图像数据。1a DNN和1b DNN可以具有不同的DNN配置信息。
下面的表2包括可从服务器1210提供给终端1220的分辨率和比特率的值。当参照表2描述缩放转换等级时,4K&20Mbps与4K&10Mbps之间的差异、以及4K&10Mbps与FHD&5Mbps之间的差异可以分别被定义为一个等级。然而,这是示例,并且由根据本公开的流传输系统支持的分辨率和比特率不限于表2中的值。
表2
Figure BDA0003022719940000531
在操作S1860中,服务器1210可以基于所述确定将AI数据和图像数据发送到终端1220。AI数据可以包括终端1220对AI编码的图像数据进行AI放大所需的信息,并且可以与参照图5提供的描述相应。
在操作S1870中,终端1220可以通过与第一DNN联合训练的第二DNN对接收到的图像数据执行AI放大。
终端1220可以基于AI数据确定是否通过与第一DNN联合训练的第二DNN将AI放大应用于接收到的图像数据。当AI数据包括指示接收到的图像数据是AI编码的图像数据的信息时,终端1220可以通过第二DNN对接收到的图像数据执行AI放大。此外,AI数据可以包括关于AI缩放转换等级或在AI放大中使用的DNN配置信息中的至少一个的信息。例如,AI数据可以包括指示FHD和5Mbps的AI编码的图像数据是通过经由1a DNN对8K和30Mbps的图像数据进行了AI缩小还是通过经由1b DNN对4K和10Mbps的图像数据进行了AI缩小而被生成的信息。
图19是用于描述根据本公开的实施例的由服务器1210执行的根据网络的状态和终端1220的能力来流传输图像数据的方法的示图。
在操作S1910中,终端1220可以将关于能力的信息发送到服务器1210。根据本公开的实施例,关于能力的信息可以包括指示终端1220是否能够改变适应于网络的状态而请求的图像数据的质量的信息、指示终端1220是否能够支持通过第二DNN的AI放大的信息、或者关于终端1220可支持的AI放大等级的信息中的至少一个。然而,这是示例,并且关于能力的信息可以包括关于终端1220支持的编解码器的信息。
在操作S1920中,终端1220可以向服务器1210请求附加信息。终端1220可以向服务器1210请求图像数据的附加信息。操作S1920可以与以上参照图18描述的操作S1820相应。
在操作S1930中,服务器1210可以将附加信息发送到终端1220。服务器1210可以响应于来自终端1220的请求而发送附加信息。操作S1930可以与以上参照图18描述的操作S1830相应。
在操作S1940中,终端1220可以基于附加信息向服务器1210请求特定质量的图像数据。例如,终端1220可以根据用户的选择向服务器1210请求8K和30Mbps的图像数据。此外,终端1220可以将关于网络的状态的信息包括在对特定质量的图像数据的请求中,并且可以发送该请求。例如,终端1220可以将关于先前接收到的图像数据的BER、时间戳等的信息包括在请求消息中,并且可以将请求消息发送到服务器1210。
在操作S1950中,服务器1210可以基于网络的状态和终端1220的能力来确定与请求相应的图像数据。
服务器1210可以基于从终端1220接收到的请求中包括的关于网络的状态的信息来确定与网络的状态相应的图像数据的质量。例如,服务器1210可以将图像数据的质量确定为与网络的状态相应的4K和20Mbps。
如以上在操作S1940中所述,当确定终端1220请求8K和30Mbps的图像数据但是来自终端1220的请求与网络的状态不相应时,服务器1210可以基于关于终端1220的能力的信息来确定终端1220是否支持通过与第一DNN联合训练的第二DNN进行AI放大。作为服务器1210的确定的结果,当终端1220支持AI放大时,服务器1210可以确定向终端1220发送通过经由第一DNN对8K和30Mbps的图像数据执行AI缩小而生成的4K和20Mbps的图像数据。
在操作S1960中,服务器1210可以基于所述确定将AI数据和图像数据发送到终端1220。AI数据可以包括终端1220对AI编码的图像数据进行AI放大所需的信息,并且可以与参照图12提供的描述相应。
在操作S1970中,终端1220可以通过与第一DNN联合训练的第二DNN对接收到的图像数据执行AI放大。
终端1220可以基于AI数据确定是否通过与第一DNN联合训练的第二DNN将AI放大应用于接收到的图像数据。当AI数据包括指示接收到的图像数据是AI编码的图像数据的信息时,终端1220可以通过第二DNN对接收到的图像数据执行AI放大。此外,AI数据可以包括关于AI缩放转换等级或在AI放大中使用的DNN配置信息中的至少一个的信息。例如,AI数据可以包括指示4K和20Mbps的AI编码的图像数据通过对8K和30Mbps的图像数据进行AI编码被生成的信息。作为另一示例,AI数据可以包括AI缩放转换等级,并且终端1220可以基于分辨率和比特率来确定DNN配置信息。
图20是用于描述根据本公开的实施例的由终端1220执行的基于附加信息和能力来流传输与网络的状态相应的图像数据的方法的示图。
在操作S2010中,终端1220可以将关于能力的信息发送到服务器1210。根据本公开的实施例,关于能力的信息可以包括指示终端1220是否能够改变适应于网络的状态而请求的图像数据的质量的信息、指示终端1220是否能够支持通过第二DNN的AI放大的信息、或者关于终端1220可支持的AI放大等级的信息中的至少一个。然而,这是示例,并且关于能力的信息可以包括关于终端1220支持的编解码器的信息。
在操作S2020中,终端1220可以向服务器1210请求附加信息。终端1220可以向服务器1210请求图像数据的附加信息。操作S2020可以与以上参照图18描述的S1820相应。
在操作S2030中,服务器1210可以将附加信息发送到终端1220。服务器1210可以响应于来自终端1220的请求,将附加信息发送到终端1220。操作S2030可以与以上参照图18描述的S1830相应。
在操作S2040中,终端1220可以基于附加信息和终端1220的能力确认与网络的状态相应并且来自多项图像数据的图像数据。
例如,终端1220可以基于附加信息检查关于能够由服务器1210提供的多项图像数据的各个质量以及是否已经被执行了AI编码,以及能够用于对特定质量的图像数据执行AI放大的各种类型的DNN配置信息。将参照图21至图24详细描述附加信息。
终端1220可以基于终端1220的能力来确定与网络的状态相应并且来自基于附加信息检查的多项图像数据的图像数据。例如,当与网络的状态相应的图像数据的质量是FHD和5Mbps时,终端1220可以基于终端1220的能力来确定通过经由1a DNN对8K和30Mbps的图像数据执行AI缩小而生成的FHD和5Mbps的AI编码的图像数据和通过经由1b DNN对4K和10Mbps的图像数据执行AI缩小而生成的FHD和5Mbps的AI编码的图像数据中的一个,其中,8K和30Mbps的图像数据以及4K和10Mbps的图像数据是可从服务器1210提供的。当终端1220通过与1b DNN联合训练的2b DNN支持AI放大时,终端1220可以从多项图像数据中确定通过经由1b DNN对4K和10Mbps的图像数据执行AI缩小而生成的FHD和5Mbps的AI编码的图像数据。
在操作S2050中,终端1220可以向服务器1210请求所确定的图像数据。从终端1220发送到服务器1210以便请求所确定的图像数据的请求消息可以包括所确定的图像数据的标识符。例如,请求消息可以包括通过经由1b DNN对4K和10Mbps的图像数据执行AI缩小而生成的FHD和5Mbps的AI编码的图像数据的标识符。
终端1220可以以片段为单位向服务器1210请求所确定的图像数据。可以通过基于时间单位对图像数据进行分割来生成片段。当终端1220以片段为单位请求所确定的图像数据时,请求消息不仅可以包括关于所确定的图像数据的质量、是否已经被执行了AI编码等的信息,而且还可以包括片段的标识符。片段的标识符可以包括片段编号、偏移等,但是这是示例,并且因此片段的标识符不限于上述示例。片段编号表示分别分配给包括在图像数据中的多个片段的编号中的每个编号。此外,偏移是指预设参考时间与片段的开始时间之间的差。这里,预设参考时间可以是图像数据中包括的多个片段中的第一片段或初始片段的开始时间。
在操作S2060,服务器1210可以发送与请求相应的AI数据和图像数据。AI数据可以包括终端1220对AI编码的图像数据进行AI放大所需的信息,并且可以与参照图5提供的描述相应。
在操作S2070中,终端1220可以通过与第一DNN联合训练的第二DNN对接收到的图像数据执行AI放大。
终端1220可以基于AI数据中包括的关于AI缩放转换等级或在AI放大中使用的DNN配置信息中的至少一个的信息,对接收到的图像数据执行AI放大。终端1220对接收到的图像数据执行AI放大的方法可以与参照图2提供的描述相应。
图21是用于描述根据本公开的实施例的被提供用于流传输的附加信息的示图。
参照图21,附加信息可以分层地包括图像数据集元素2110、图像数据元素2120和片段元素2130。上述元素2110、2120和2130中的每一个可以包括指示图像数据集、图像数据和片段的属性的多条信息。图像数据集可以是多项可互换图像数据的组。例如,图像数据集可以是通过以不同质量对内容的第一时段进行编码而生成的多项图像数据的组,并且可以与MPEG-DASH中的自适应集相应。片段可以是通过基于时间对图像数据进行分割而生成的部分。
图像数据集元素2110可以包括关于图像数据集中的每个图像数据集的类型2112和标识(ID)2114的信息。在这方面,类型2112可以指示包括在图像数据集中的内容的类型,并且类型的示例可以包括图像、音频、文本等。ID 2114可以包括分别用于识别图像数据集的标识符。
图像数据元素2120可以包括图像数据的ID 2122、质量2124、AI缩放转换信息2126等。ID 2122可以包括用于识别图像数据的标识符,并且质量2124可以包括包含比特率、分辨率等的各种属性。AI缩放转换信息2126还可以包括关于适合于在AI放大转换中使用的第二DNN的编解码器的信息、关于在多项图像数据的各自转换中可用的AI放大等级的信息、关于第二DNN的与在第一DNN中使用的参数集相应的参数集的信息等。
片段元素2130可以包括关于片段的ID 2132、偏移2134等的信息。ID 2132可以包括用于识别片段的标识符,并且偏移2134可以包括关于片段在时间线上的位置的信息。在由于网络的状态的变化而必须改变将被接收到的图像数据的质量的情况下,偏移2134可以用于使先前质量的图像数据与将被新接收的质量的图像数据同步。例如,当多项图像数据由时间偏移分别为2ms、4ms、6ms和8ms的片段组成时,终端可以接收关于4K和10Mbps的图像数据的至4ms的片段,之后,当终端由于网络的状态的变化而请求FHD和5Mbps的图像数据时,终端可以根据与4K和10Mbps的图像数据的同步来处理将被再现的6ms的片段。
图21所示的附加信息的结构是示例,并且用于自适应流传输的附加信息不限于此。作为另一示例,AI缩放转换信息2126可以被包括在片段元素2130中。作为另一示例,附加信息可以另外地包括参数更新信息,其中,通过参数更新信息终端能够将服务器的第一DNN的参数与第二DNN的参数联合更新。然而,这是示例,并且可以将用于更新第二DNN的参数的信息与附加信息分开地提供给终端。
图22是根据本公开的实施例的用于描述附加信息的详细配置的示图。
参照图22,可以在根据本公开的实施例的附加信息中定义“mediadataset”属性。“mediadataset”属性指示由不同质量的多项媒体数据组成的媒体数据集的属性,并且可以包括指示媒体数据集的标识符的“id”元素、指示内容的类型的“type”元素等。本公开的本实施例与媒体数据是图像数据的情况相应,并且“type”元素可以被设置为视频。在下文中,将假设媒体数据是图像数据来提供描述。
“mediadataset”属性定义不同质量的多项图像数据中的每个项目的数据的属性,并且可以包括指示媒体数据的标识符的“id”元素、指示分辨率的“resolution”元素、指示比特率的“bitrate”元素、指示是否需要应用AI放大的“AIupscale”元素等。终端可以基于每个图像数据的“AIupscale”元素来检查图像数据是否已经通过与终端的第二DNN联合训练的第一DNN进行了AI缩小。“AIupscale”元素可以包括在上述AI缩放转换信息中。
终端可以检查附加信息中包括的每个图像数据的属性,并且可以基于所述属性请求特定图像数据。例如,终端可以向服务器请求多项图像数据中的4K和10Mbps的AI编码的图像数据。在这种情况下,终端可以向服务器发送包括关于id=2的信息的请求消息。
当终端接收到与请求相应的图像数据时,终端可以通过与服务器的第一DNN联合训练的第二DNN对接收到的图像数据执行AI放大。在这方面,终端可以基于关于图像数据的分辨率、比特率等的信息来获得针对第二DNN优化的DNN配置信息,以对图像数据执行AI放大。DNN配置信息可以包括关于滤波器内核的信息(例如,卷积层的数量、根据每个卷积层的滤波器内核的数量、每个滤波器内核的参数等)。例如,终端可以包括已经与服务器的第一DNN联合训练的信息,以便指示必须通过使用A DNN配置信息对4K和10Mbps的图像数据执行通过第二DNN的放大。
根据本公开的实施例,针对第二DNN优化以执行AI放大的DNN配置信息可以不仅根据图像数据的分辨率和比特率而变化,而且还可以根据由多项图像数据组成的内容的类型而变化。例如,终端可以包括已经与服务器的第一DNN联合训练的信息,以便指示对于体育类型,必须通过使用与体育类型和4K和10Mbps相应的DNN配置信息对4K和10Mbps的AI编码的图像数据执行通过第二DNN的放大,并且对于戏剧类型,必须通过使用与戏剧类型和4K和10Mbps相应的DNN配置信息对4K和10Mbps的AI编码图像数据执行通过第二DNN的放大。
图23是用于描述根据本公开的实施例的附加信息的详细配置的示图。
参照图23,可以在根据本公开的实施例的附加信息中定义“mediadataset”属性和“mediadata”属性。在本公开的本实施例中,没有提供与上面参照图22描述的本公开的实施例相应的描述,并且现在将详细描述与其不同的“AIupscalelevel”元素。
包括在"mediadata"属性中的"AIupscalelevel"元素指示AI编码的图像数据和原始图像数据之间的差异。
如以上参照图5所描述,因为基于分辨率及比特率两者执行根据本发明的实施例的AI编码过程,所以可提供AI编码的图像数据与原始图像数据之间的差异的信息。在图23的实施例中,8K和40Mbps的图像数据与原始图像数据相应。在本公开的本实施例中,可以基于8K和40Mbps的图像数据(id=n)的比特率和分辨率与AI编码的图像数据的比特率和分辨率之间的差异来确定“AIupscalelevel”元素的值。
例如,可以通过基于30Mbps的比特率对原始图像数据执行AI编码来生成id为1的AI编码的图像数据,并且可以通过基于4K的分辨率和20Mbps的比特率对原始图像数据执行AI编码来生成id为2的AI编码的图像数据。根据本公开的实施例的“AIupscalelevel”元素的值是原始图像数据和AI编码的图像数据的分辨率和比特率的差异的示例,因此不限于该示例。
终端可以基于终端的能力从二级4K和20Mbps的AI编码的图像数据以及三级4K和10Mbps的AI编码的图像数据中选择终端可以对其执行AI放大的图像数据,并且可以请求所选择的图像数据。
在图23的实施例中,id为n+1的图像数据和id为n+2的图像数据与通过使用传统缩小器执行缩小而获得的图像数据相应。
图24是用于描述根据本公开的实施例的附加信息的详细配置的示图。
参照图24,可以在根据本公开的实施例的附加信息中定义“mediadataset”属性和“mediadata”属性。在本公开的本实施例中,未提供与以上参照图22描述的本公开的实施例相应的描述,并且现在将详细描述与其不同的“AIupscaleparameterset”元素。
“mediadata”属性中包括的“AIupscaleparameterset”元素可以提供关于可用于对AI缩小的图像数据执行AI放大的多条各种DNN配置信息的信息。例如,即使对于4K和20Mbps的相同质量的多项AI编码的图像数据,对AI编码的图像数据进行AI放大使用的DNN卷积层的数量以及滤波器内核的尺寸和数量也可以变化,因此可以存在各种DNN配置信息。
当相同质量的多个项目的AI编码的图像数据具有不同的DNN配置信息时,终端可以基于终端的能力来确定相同质量的多项AI编码的图像数据中的一个。例如,当终端的AI放大器包括B AIupscaleparameterset时,终端可以从相同质量的多项AI编码的图像数据中选择能够在相应的DNN中被重构的AI编码的图像数据。作为另一示例,当终端的AI放大器与上述示例的AI缩放器相比包括具有复杂配置的A=AIupscaleparameterset时,终端可以重构所有相同质量的多项AI编码的图像数据。在这种情况下,终端可以根据配置从相同质量的多项AI编码的图像数据中选择在流传输中使用相对较少的网络资源或者能够由终端重构为更高质量的AI编码的图像数据。
终端可以基于终端或编解码器的硬件规范从多条DNN配置信息中获得至少一条DNN配置信息。例如,终端可以获得与终端相应并且来自适用于针对相同的4K和20Mbps的AI编码的图像数据的AI放大的多条DNN配置信息的DNN配置信息。因此,终端可以向服务器请求已经基于与4K和20Mbps相应的DNN配置信息进行了AI编码的图像数据。
图25是用于描述根据本公开的实施例的从服务器流传输到终端的AI数据2510和图像数据2520的示图。
参照图25,响应于来自终端的请求,服务器可以向终端发送与该请求相应的AI数据2510和图像数据2520。
AI数据2510可以包括指示是否已经对图像数据2520执行了AI缩小的信息。此外,当图像数据2520已经被进行了AI编码时,AI数据2510可以包括关于AI缩放转换等级或在AI放大中使用的DNN配置信息中的至少一个的信息。根据本公开的实施例,AI数据2510可以包括AI缩放转换等级,并且用于AI放大的DNN配置信息可以由终端基于分辨率和比特率来确定。
AI数据2510可以与MPEG-DASH的初始片段相应,并且终端可以确定图像数据2520是否已经通过与服务器的第一DNN联合训练的第二DNN进行了AI放大。
AI数据2510还可以包括除了上述信息之外的终端对图像数据2520进行解码所需的其它信息。例如,AI数据2510可以包括关于编解码器的类型、ID、偏移等的信息。
图像数据2520可以由多个片段2522至2524组成。可以通过基于时间对图像数据2520进行分割来生成多个片段2522至2524。响应于来自终端的请求,服务器可以以片段为单位将图像数据2520发送到终端。因此,当服务器和终端之间的网络的状态改变时,可以有效地改变终端向服务器请求的图像数据的质量。
然而,AI数据2510和图像数据2520的配置是示例,并且根据本公开的实施例的用于流传输的AI数据和图像数据的配置不限于此。
图26是用于描述根据本公开的实施例的流传输系统2600的示图。
参照图26,根据本公开实施例的流传输系统2600可以包括服务服务器2610、多个内容服务器2622和2624(也称为第一内容服务器2622和第N内容服务器2624)以及终端2630。然而,这是一个示例,并且流传输系统2600还可以包括附加元件。例如,流传输系统2600可以包括服务服务器2610。服务服务器2610可以以多个数量被提供。此外,现在将参照一个终端2630描述本公开的本实施例,但是服务服务器2610和多个内容服务器2622和2624可以将图像数据流传输到多个终端。
服务服务器2610可以向终端2630提供多项图像数据的附加信息,以允许终端2630请求与网络的状态相应并且来自多项图像数据的图像数据。附加信息可以包括多项图像数据的各自的质量、是否已经被执行了AI编码、对特定质量的图像数据执行AI放大能够使用的各种DNN配置信息等。此外,附加信息可以包括存储多项图像数据的网络上的位置信息。例如,附加信息可以包括第一内容服务器2622或第N内容服务器2624的统一资源标识符(URI)。此外,如以上参照图21所述,当以片段为单位对多项图像数据进行分割时,附加信息可以包括每个片段的URI。
终端2630可以基于附加信息请求与网络的状态相应并且来自多项图像数据的图像数据。例如,根据基于网络的状态的确定的结果,当终端2630确定请求通过经由1a DNN对多项图像数据中的8K和30Mbps的图像数据执行AI缩小而生成的FHD和5Mbps的图像数据时,终端2630可以基于附加信息获得所确定的图像数据的URI信息。在本公开的本实施例中,通过经由1a DNN对8K和30Mbps的图像数据执行AI缩小而生成的FHD和5Mbps的图像数据可以被存储在第一内容服务器2622中。终端2630可以基于URI信息向第一内容服务器2622请求所确定的图像数据。当接收到请求时,第一内容服务器2622可以将与请求相应的AI数据和图像数据发送到终端2630。然而,这是示例,并且终端2630可以以片段为单位向第一内容服务器2622请求对所确定的图像数据的请求。
多个内容服务器2622和2624可以向服务服务器2610提供关于内容的信息。内容服务器(例如,内容服务器2622)可以向服务服务器2610提供关于存储在内容服务器(例如,内容服务器2622)中的内容的信息或关于新添加的内容的信息。服务服务器2610可以基于从多个内容服务器2622和2624提供的关于内容的多条信息来生成或更新附加信息。
以上参照图26描述的流传输系统2600是示例,并且根据本公开的执行流传输的系统不限于此。例如,可以在终端2630与多个内容服务器2622和2624之间进一步提供用于传送图像数据和AI数据的至少一个缓存服务器。作为另一示例,流传输系统2600还可以包括用于向多个内容服务器2622和2624中的每一个提供内容的源服务器。
图27是示出根据本公开的实施例的服务器2700的配置的框图。
参照图27,根据本公开的实施例的服务器2700可以包括通信接口2710、处理器2720和存储器2730。然而,这是示例,并且服务器2700还可以另外包括其他元件。例如,服务器2700可以包括多个处理器。
根据本公开的实施例的通信接口2710可以提供用于与另一装置(例如,终端)进行通信的接口。通信接口2710可以从终端接收对附加信息或图像数据的请求。此外,通信接口2710可以将附加信息或媒体发送到终端。
根据本公开的实施例的处理器2720通常可以控制服务器2700执行存储在存储器2730中的一个或更多个程序,以执行与以上参照图1至图11描述的图像编码设备相关的操作,以及与以上参照图12至图26描述的服务器相关的操作。
根据本公开的实施例的存储器2730可以存储用于驱动和控制服务器2700的各种数据、程序或应用。存储在存储器2730中的一个或更多个程序中的每一个可以包括一个或更多个指令。存储在存储器2730中的每个程序(一个或更多个指令)或每个应用可以由处理器2720执行。
图28是示出根据本公开的实施例的终端2800的配置的框图。
参照图28,根据本公开的实施例的终端2800可以包括通信接口2810、处理器2820和存储器2830。然而,这是示例,并且终端2800还可以另外包括其他元件。例如,终端2800可以包括包含中央处理单元(CPU)、图形处理单元(GPU)、中性处理单元(NPU)等的多个处理器。
根据本公开的实施例的通信接口2810可以提供用于与另一装置(例如,服务器)进行通信的接口。通信接口2810可以将对附加信息或图像数据的请求发送到服务器。此外,通信接口2810可以从服务器接收附加信息或媒体,并且可以将接收到的附加信息或媒体输出到处理器2820。
根据本公开实施例的处理器2820通常可控制终端2800执行存储在存储器2830中的一个或更多个程序,以执行与以上参照图1至图11描述的图像解码设备相关的操作,以及与以上参照图12至图26描述的终端相关的操作。
例如,处理器2820可以经由通信接口2810向服务器发送对不同质量的多项图像数据的附加信息的请求。响应于该请求,处理器2820可以经由通信接口2810从服务器获得附加信息。
处理器2820可以基于附加信息经由通信接口2810向服务器发送对多项图像数据中的预定义图像数据的请求。当处理器2820获得与请求相应的图像数据和AI数据时,处理器2820可以基于AI数据确定是否对接收到的图像数据执行AI放大。基于确定是否执行AI放大的结果,处理器2820可以通过与服务器的用于缩小的DNN联合训练的用于放大的DNN对接收到的图像数据执行AI放大。
处理器2820可以基于经由通信接口2810从服务器接收到的图像数据的BER或时间戳来确认网络的状态。基于所确认的网络的状态,处理器2820可以基于附加信息经由通信接口2810向服务器发送对多项图像数据中的不同质量的图像数据的请求。处理器2820可以获得与请求相应的图像数据和AI数据。
当终端2800包括多个处理器时,处理器中的每一个可以执行处理器2820的操作中的至少一些。例如,CPU可以确认网络的状态并且可以请求与之相应的图像数据。NPU可以对AI编码的图像数据执行AI放大,并且GPU可以执行除了由NPU执行的处理之外的处理,这些处理包括在参照图2描述的AI解码过程中,或者GPU可以支持NPU执行处理以便加速由NPU执行的处理。然而,这是示例,并且将由处理器执行的操作不限于上述示例。
根据本公开的实施例的存储器2830可以存储用于驱动和控制终端2800的各种数据、程序或应用。存储在存储器2830中的一个或更多个程序中的每一个可以包括一个或更多个指令。存储在存储器2830中的每个程序(一个或更多个指令)或每个应用可以由处理器2820执行。
根据设备的实际规格,可以组合框图中的元件,可以向其添加元件,或者可以省略至少一个元件。也就是说,在必要时,可以将至少两个元件组合成一个元件,或者可以将一个元件分成两个元件。此外,由每个元件执行的功能用于描述本公开的实施例,并且详细的操作或装置不限制本公开的范围。
本公开的前述实施例可以被写为可以存储在介质中的计算机可执行程序。
介质可以连续地存储计算机可执行程序,或者可以临时存储计算机可执行程序以供执行或下载。此外,介质可以是组合了单件或多件硬件的各种记录介质或存储介质中的任何一种,并且介质不限于直接连接到计算机系统的介质,而是可以通过网络分布。介质的示例包括被配置为存储程序指令的磁介质(诸如硬盘、软盘和磁带)、光学记录介质(诸如CD-ROM和DVD)、磁光介质(诸如光软盘)以及ROM、RAM和闪存。介质的其他示例包括提供或分发其他各种类型的软件的由分发应用的应用商店或网站管理的记录媒介和存储媒介、服务器等。
与上述DNN相关的模型可以被实现为软件模块。当DNN模型被实现为软件模块(例如,包括指令的程序模块)时,DNN模型可以存储在计算机可读记录介质中。
此外,DNN模型通过集成为硬件芯片可以是上述图像解码设备、图像编码设备、服务器或终端中的至少一个的一部分。例如,DNN模型可以被制造为用于AI的专用硬件芯片,或者可以被制造为现有通用处理器(例如,CPU或AP)或图形专用处理器(例如,GPU)的一部分。
此外,DNN模型可以被提供为可下载的软件。计算机程序产品可以包括作为通过制造商或电子市场电子分发的软件程序的产品(例如,可下载的应用)。对于电子分发,软件程序的至少一部分可以存储在存储介质中或者可以临时生成。在这种情况下,存储介质可以是制造商或电子市场的服务器,或者是转发服务器的存储媒介。
根据本公开的实施例的用于流传输数据的方法和设备可以基于网络的状态收发通过使用DNN进行AI编码的图像数据,并且因此可以在可变的网络的状态下始终保持图像数据的再现的QoS。
可以通过根据本公开的实施例的用于流传输数据的方法和设备实现的效果不限于上述特征,并且鉴于下面的描述,本领域普通技术人员将清楚地理解其他未陈述的效果。
虽然已经参照附图描述了本公开的一个或更多个实施例,但是本领域普通技术人员将理解,在不脱离由所附权利要求限定的精神和范围的情况下,可以在其中进行形式和细节上的各种改变。

Claims (15)

1.一种流传输数据的方法,所述方法包括:
接收不同质量的多个图像数据的信息;
基于所述信息,请求服务器向终端发送不同质量的所述多个图像数据中的图像数据;
接收与所述请求相应的图像数据和人工智能AI数据;
基于所述AI数据确定是否对所接收到的图像数据执行AI放大;
基于所述确定是否执行AI放大的结果,通过与所述服务器的缩小深度神经网络DNN联合训练的放大DNN对所接收到的图像数据执行AI放大;
确认所述终端和所述服务器之间的网络的状态;以及
根据不同质量的所述多个图像数据的信息和所述网络的状态,请求所述服务器发送不同质量的所述多个图像数据中的不同质量的图像数据。
2.如要求1所述的方法,还包括:基于所述AI数据,确定是否已经通过所述服务器的缩小DNN对所接收到的图像数据执行了AI缩小,以及
其中,当确认已经对所接收到的图像数据执行了AI缩小时,确定是否已经执行了AI缩小的步骤包括:确定对所接收到的图像数据执行AI放大。
3.如权利要求1所述的方法,其中,所述多个图像数据的信息包括所述多个图像数据的质量信息和AI缩放转换信息,以及
其中,请求所述服务器发送不同质量的图像数据的步骤包括:基于所述质量信息和所述AI缩放转换信息中的一个或两个,请求与所述网络的状态相应的图像数据。
4.如权利要求1所述的方法,还包括:基于包括指示所述终端是否支持AI放大的信息和关于所述终端能够支持的AI放大等级的信息的能力信息来确定与所述网络的状态相应的图像数据。
5.如权利要求1所述的方法,其中,所述服务器是内容提供商服务器,
其中,所述方法还包括向服务服务器请求所述多个图像数据的信息,以及
其中,接收所述多个图像数据的信息的步骤包括:从所述服务服务器接收所述多个图像数据的信息和所述内容提供商服务器的标识符。
6.一种流传输数据的方法,所述方法包括:
从终端接收对服务器的不同质量的多个图像数据中的图像数据的请求;
响应于所述请求,向所述终端发送人工智能AI数据和已经通过所述服务器的与所述终端的放大DNN联合训练的缩小DNN进行了AI编码的图像数据;以及
根据所述终端和所述服务器之间的网络的状态,从所述终端接收对不同质量的所述多个图像数据中的不同质量的图像数据的请求。
7.一种用于流传输数据的终端,所述终端包括:
存储器,存储一个或更多个指令;以及
至少一个处理器,被配置为执行所述一个或更多个指令以:
接收不同质量的多个图像数据的信息;
基于所述信息,请求服务器向终端发送不同质量的所述多个图像数据中的图像数据;
接收请求的图像数据和与请求的图像数据相应的人工智能AI数据;
基于所述AI数据确定是否对所接收到的图像数据执行AI放大;
基于所述确定是否执行AI放大的结果,通过终端的与所述服务器的缩小深度神经网络DNN联合训练的放大DNN对接收到的图像数据执行AI放大;
确认所述终端和所述服务器之间的网络的状态;以及
根据不同质量的所述多个图像数据的信息和所述网络的状态,基于所述信息请求所述服务器发送不同质量的所述多个图像数据中的不同质量的图像数据。
8.如权利要求7所述的终端,其中,所述至少一个处理器还被配置为执行所述一个或更多个指令以:
基于所述AI数据,确定是否已经通过所述服务器的缩小DNN对所接收到的图像数据执行了AI缩小,以及
当确认已经对所接收到的图像数据执行了AI缩小时,确定对所接收到的图像数据执行AI放大。
9.如权利要求7所述的终端,其中,所述多个图像数据的信息包括所述多个图像数据的质量信息和AI缩放转换信息,并且
其中,所述至少一个处理器还被配置为执行所述一个或更多个指令,以基于所述质量信息和所述AI缩放转换信息中的一个或两个来请求与所述网络的状态相应的图像数据。
10.如权利要求7所述的终端,其中,所述至少一个处理器还被配置为执行所述一个或更多个指令以:
基于包括指示所述终端是否支持AI放大的信息和关于所述终端支持的AI放大等级的信息的能力信息来确定与所述网络的状态相应的图像数据。
11.如权利要求10所述的终端,其中,所述服务器是内容提供商服务器,并且
其中,所述至少一个处理器还被配置为执行所述一个或更多个指令以请求服务服务器向所述终端提供所述多个图像数据的信息,并且从所述服务服务器接收所述内容提供商服务器的标识符和所述多个图像数据的信息。
12.一种用于流传输数据的服务器,所述服务器包括:
存储器,存储一个或更多个指令;以及
至少一个处理器,被配置为执行所述一个或更多个指令以:
从终端接收对服务器的不同质量的多个图像数据中的图像数据的请求,
响应于所述请求,向所述终端发送人工智能AI数据和已经通过与所述终端的放大深度神经网络DNN联合训练的缩小DNN进行了AI编码的图像数据,以及
根据所述终端和所述服务器之间的网络的状态,从所述终端接收对不同质量的所述多个图像数据中的不同质量的图像数据的请求。
13.如权利要求12所述的服务器,其中,所述AI数据包括关于已经被应用于AI编码的图像数据的缩小DNN的信息。
14.如权利要求12所述的服务器,其中,所述至少一个处理器还被配置为执行所述一个或更多个指令以接收对第二版本的图像内容的请求,其中,第二版本的图像内容与所述网络的状态相应并且基于多个不同版本的图像内容中的每个版本的图像内容的AI缩放转换信息和质量信息中的一个或两个被确定。
15.如权利要求12所述的服务器,其中,不同质量的图像数据包括与所述网络的状态相应并且基于包括指示所述终端是否支持AI放大的信息和关于所述终端支持的AI放大等级的信息的能力信息被确定的图像数据。
CN201980068264.1A 2018-10-19 2019-10-18 用于流传输数据的方法和设备 Pending CN112868229A (zh)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
KR10-2018-0125406 2018-10-19
KR20180125406 2018-10-19
KR20190041110 2019-04-08
KR10-2019-0041110 2019-04-08
KR1020190077250A KR102525577B1 (ko) 2018-10-19 2019-06-27 데이터 스트리밍 방법 및 장치
KR10-2019-0077250 2019-06-27
PCT/KR2019/013733 WO2020080873A1 (en) 2018-10-19 2019-10-18 Method and apparatus for streaming data

Publications (1)

Publication Number Publication Date
CN112868229A true CN112868229A (zh) 2021-05-28

Family

ID=70466762

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980068264.1A Pending CN112868229A (zh) 2018-10-19 2019-10-18 用于流传输数据的方法和设备

Country Status (3)

Country Link
EP (1) EP3811618A4 (zh)
KR (1) KR102525577B1 (zh)
CN (1) CN112868229A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114548403A (zh) * 2022-02-22 2022-05-27 深圳市医未医疗科技有限公司 一种医学图像数据平台的数据处理方法与系统

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102421720B1 (ko) * 2020-05-29 2022-07-18 삼성전자주식회사 영상의 ai 부호화 및 ai 복호화를 위한 장치, 및 방법
US11223841B2 (en) * 2020-05-29 2022-01-11 Samsung Electronics Co., Ltd. Apparatus and method for performing artificial intelligence encoding and artificial intelligence decoding on image
EP4172944A4 (en) 2020-06-11 2023-12-06 Samsung Electronics Co., Ltd. METHOD AND DEVICE FOR PERFORMING CODING WITH ARTIFICIAL INTELLIGENCE AND DECODING WITH ARTIFICIAL INTELLIGENCE
KR102421719B1 (ko) * 2020-06-11 2022-07-18 삼성전자주식회사 저복잡도 신경망을 이용한 영상의 ai 부호화 장치 및 방법, ai 복호화 장치 및 방법
WO2021251611A1 (en) * 2020-06-11 2021-12-16 Samsung Electronics Co., Ltd. Apparatus and method for performing artificial intelligence encoding and decoding on image by using low-complexity neural network
KR102421718B1 (ko) * 2020-06-11 2022-07-18 삼성전자주식회사 인공지능 부호화 및 인공지능 복호화를 수행하기 위한 방법 및 장치
KR20230025279A (ko) * 2021-08-13 2023-02-21 삼성전자주식회사 Ai 기반의 영상 제공 장치 및 이에 의한 방법, 및 ai 기반의 디스플레이 장치 및 이에 의한 방법
KR20230030435A (ko) * 2021-08-25 2023-03-06 삼성전자주식회사 화상회의시 AI(artificial intelligence)를 이용한 다운스케일 및 업스케일 방법 및 장치
WO2024063168A1 (ko) * 2022-09-19 2024-03-28 삼성전자 주식회사 라이브 비디오 분석에 대한 네트워크 자원 및 연산 자원 조인트 스케줄링을 위한 방법 및 장치

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1787639A (zh) * 2004-12-07 2006-06-14 三星电子株式会社 双向无线通信的光网络
WO2010079790A1 (ja) * 2009-01-08 2010-07-15 日本電気株式会社 配信システムと方法並びに変換装置
WO2013118491A1 (ja) * 2012-02-06 2013-08-15 パナソニック株式会社 カメラ装置、サーバ装置、画像監視システム、画像監視システム制御方法及び画像監視システム制御プログラム
KR20160080929A (ko) * 2014-12-30 2016-07-08 한국전자통신연구원 클라우드 기반의 적응형 초고화질 멀티미디어 스트리밍 서비스 장치 및 방법
US20170347110A1 (en) * 2015-02-19 2017-11-30 Magic Pony Technology Limited Online Training of Hierarchical Algorithms
KR20180060873A (ko) * 2016-11-29 2018-06-07 에스케이텔레콤 주식회사 스트리밍 서비스 제공 방법 및 이를 위한 장치

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1989877A4 (en) * 2006-02-16 2010-08-18 Vidyo Inc SYSTEM AND METHOD FOR DILUTING SCALABLE VIDEO-CODING BITSTRAMS
US20140086319A1 (en) * 2012-09-25 2014-03-27 Sony Corporation Video coding system with adaptive upsampling and method of operation thereof
CN104685877B (zh) * 2012-09-28 2019-03-29 Vid拓展公司 用于多层视频编码的自适应上采样
WO2014077651A1 (ko) * 2012-11-19 2014-05-22 엘지전자 주식회사 신호 송수신 장치 및 신호 송수신 방법
KR102062764B1 (ko) * 2013-07-19 2020-02-21 삼성전자주식회사 모바일 단말 화면을 위한 3k해상도를 갖는 디스플레이 영상 생성 방법 및 장치
WO2016205733A1 (en) * 2015-06-19 2016-12-22 Huawei Technologies Co., Ltd. Template uniform resource locator signing
KR101885855B1 (ko) * 2017-03-30 2018-08-07 단국대학교 산학협력단 고해상도 추정 기법을 활용한 영상 신호 전송

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1787639A (zh) * 2004-12-07 2006-06-14 三星电子株式会社 双向无线通信的光网络
WO2010079790A1 (ja) * 2009-01-08 2010-07-15 日本電気株式会社 配信システムと方法並びに変換装置
WO2013118491A1 (ja) * 2012-02-06 2013-08-15 パナソニック株式会社 カメラ装置、サーバ装置、画像監視システム、画像監視システム制御方法及び画像監視システム制御プログラム
KR20160080929A (ko) * 2014-12-30 2016-07-08 한국전자통신연구원 클라우드 기반의 적응형 초고화질 멀티미디어 스트리밍 서비스 장치 및 방법
US20170347110A1 (en) * 2015-02-19 2017-11-30 Magic Pony Technology Limited Online Training of Hierarchical Algorithms
KR20180060873A (ko) * 2016-11-29 2018-06-07 에스케이텔레콤 주식회사 스트리밍 서비스 제공 방법 및 이를 위한 장치

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114548403A (zh) * 2022-02-22 2022-05-27 深圳市医未医疗科技有限公司 一种医学图像数据平台的数据处理方法与系统

Also Published As

Publication number Publication date
KR20200044666A (ko) 2020-04-29
EP3811618A4 (en) 2021-08-04
KR102525577B1 (ko) 2023-04-26
EP3811618A1 (en) 2021-04-28

Similar Documents

Publication Publication Date Title
US10817987B2 (en) Method and apparatus for streaming data
CN112868229A (zh) 用于流传输数据的方法和设备
US11695973B2 (en) Transmission of reconstruction data in a tiered signal quality hierarchy
US11610341B2 (en) Apparatus and method for performing artificial intelligence (AI) encoding and AI decoding on image
US10003626B2 (en) Adaptive real-time transcoding method and streaming server therefor
US10869048B2 (en) Method, device and system for transmitting and receiving pictures using a hybrid resolution encoding framework
KR102313136B1 (ko) 실시간 비디오 스트리밍에서의 초해상화 가속을 위한 장치 및 방법
KR20210113131A (ko) 영상의 ai 부호화 및 ai 복호화 방법, 및 장치
US20230344889A1 (en) Methods, systems, and apparatuses for adaptive bitrate ladder construction based on dynamically adjustable neural networks
US11436701B2 (en) Method and apparatus for streaming VR image
CN115398481A (zh) 对图像执行人工智能编码和人工智能解码的设备和方法
KR102436512B1 (ko) 부호화 방법 및 그 장치, 복호화 방법 및 그 장치
US11943487B2 (en) Delivery and playback of content
US10708667B1 (en) Combining fragments with different encodings
CN113630576A (zh) 自适应视频流式传输系统和方法
US20220405884A1 (en) Method and apparatus for adaptive artificial intelligence downscaling for upscaling during video telephone call
KR102421720B1 (ko) 영상의 ai 부호화 및 ai 복호화를 위한 장치, 및 방법
EP4164223A1 (en) Methods, systems, and apparatuses for content-adaptive multi-layer coding based on neural networks
US20230196505A1 (en) Artificial intelligence-based image providing apparatus and method, and artificial intelligence-based display apparatus and method
KR20210154700A (ko) 화상통화시 업스케일을 위한 적응적 인공지능 다운스케일 방법 및 장치
KR20210154061A (ko) 인공지능 부호화 및 인공지능 복호화를 수행하기 위한 방법 및 장치
KR20170120972A (ko) 네트워크 상에서 실시간 멀티미디어 서비스의 품질을 제어하는 방법 및 이를 위한 장치

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