KR102022648B1 - 전자 장치, 이의 제어 방법 및 서버의 제어 방법 - Google Patents

전자 장치, 이의 제어 방법 및 서버의 제어 방법 Download PDF

Info

Publication number
KR102022648B1
KR102022648B1 KR1020180093511A KR20180093511A KR102022648B1 KR 102022648 B1 KR102022648 B1 KR 102022648B1 KR 1020180093511 A KR1020180093511 A KR 1020180093511A KR 20180093511 A KR20180093511 A KR 20180093511A KR 102022648 B1 KR102022648 B1 KR 102022648B1
Authority
KR
South Korea
Prior art keywords
image data
artificial intelligence
information
model
electronic device
Prior art date
Application number
KR1020180093511A
Other languages
English (en)
Inventor
박태준
이상조
나상권
Original Assignee
삼성전자주식회사
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 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020180093511A priority Critical patent/KR102022648B1/ko
Priority to US16/535,784 priority patent/US11388465B2/en
Priority to TW108128335A priority patent/TWI821358B/zh
Priority to CN201910738429.3A priority patent/CN110830849A/zh
Priority to PCT/KR2019/010034 priority patent/WO2020032661A1/en
Priority to EP19762283.0A priority patent/EP3635964A1/en
Application granted granted Critical
Publication of KR102022648B1 publication Critical patent/KR102022648B1/ko
Priority to US17/496,507 priority patent/US11825033B2/en
Priority to US18/485,572 priority patent/US20240040179A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/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/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2662Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234363Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by altering the spatial resolution, e.g. for clients with a lower screen resolution
    • 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/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/440218Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4
    • 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/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/440263Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by altering the spatial resolution, e.g. for displaying on a connected PDA
    • 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
    • G06N3/0454
    • 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/4007Scaling of whole images or parts thereof, e.g. expanding or contracting based on interpolation, e.g. bilinear interpolation
    • 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
    • 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/115Selection of the code volume for a coding unit prior to 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/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/117Filters, e.g. for pre-processing or post-processing
    • 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/154Measured or subjectively estimated visual quality after decoding, e.g. measurement of distortion
    • 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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • 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
    • H04N19/172Methods 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 the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/33Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the spatial domain
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/439Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using cascaded computational arrangements for performing a single operation, e.g. filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/59Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234309Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4 or from Quicktime to Realvideo
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/01Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
    • H04N7/0117Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level involving conversion of the spatial resolution of the incoming video signal

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Molecular Biology (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Computer Graphics (AREA)
  • Image Processing (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Percussion Or Vibration Massage (AREA)
  • Electrotherapy Devices (AREA)

Abstract

본 개시는 기계 학습 알고리즘을 활용하는 인공지능(AI) 시스템 및 그 응용에 관련된 것이다. 특히, 본 개시에 전자 장치의 제어 방법은, 영상 데이터 및 영상 데이터를 업스케일링 하기 위한 인공지능 모델에 적용되는 필터 세트에 대한 정보를 외부 서버로부터 수신하는 단계, 영상 데이터를 디코딩하는 단계, 필터 세트에 대한 정보에 기초하여 획득된 제1 인공지능 모델에 디코딩된 영상 데이터를 입력하여 디코딩된 영상 데이터를 업스케일링하는 단계 및 업스케일링된 영상 데이터를 출력하는 단계를 포함한다.

Description

전자 장치, 이의 제어 방법 및 서버의 제어 방법 { ELECTRONIC APPARATUS, METHOD FOR CONTROLLING THEREOF AND METHOD FOR CONTROLLING SERVER }
본 개시는 전자 장치, 이의 제어 방법 및 서버의 제어 방법에 대한 것으로, 보다 상세하게는, 고화질 영상의 송수신을 통해 영상 스트리밍 환경을 개선하기 위한 전자 장치, 이의 제어 방법 및 서버의 제어 방법에 관한 것이다.
인공지능 시스템은 인간 수준의 지능을 구현하는 컴퓨터 시스템으로서 기계가 스스로 학습하고 판단하며, 사용할수록 인식률이 향상되는 시스템이다
인공지능 기술은 입력 데이터들의 특징을 스스로 분류/학습하는 알고리즘을 이용하는 기계학습(딥러닝) 기술 및 기계학습 알고리즘을 활용하여 인간 두뇌의 인지, 판단 등의 기능을 모사하는 요소 기술들로 구성된다.
요소기술들은, 예로, 인간의 언어/문자를 인식하는 언어적 이해 기술, 사물을 인간의 시각처럼 인식하는 시각적 이해 기술, 정보를 판단하여 논리적으로 추론하고 예측하는 추론/예측 기술, 인간의 경험 정보를 지식데이터로 처리하는 지식 표현 기술 및 차량의 자율 주행, 로봇의 움직임을 제어하는 동작 제어 기술 중 적어도 하나를 포함할 수 있다.
특히, 적응적으로 영상을 압축 및 복원하여 스트리밍을 수행하는 스트리밍 시스템 하에서 네트워크 상태는 화질에 결정적인 요인이 된다. 하지만, 네트워크 리소스는 한정되어, 많은 네트워크 리소스를 확보하지 않으면 사용자가 고화질 컨텐츠를 이용하기 어렵다.
또한, 영상의 화질 향상에 따라 비디오의 용량은 지속적으로 증가하고 있지만, 네트워크 대역폭은 이를 따라가지 못하고 있다. 이에 따라, 영상의 압축 및 복원 과정에서 영상의 화질 확보를 위한 코덱 성능의 중요성은 더 높아지고 있는 추세이다.
본 개시는 전자 장치, 이의 제어 방법 및 서버의 제어 방법에 대한 것으로, 보다 상세하게는, 복수의 필터 세트 중 최적의 필터 세트를 선택하여 다운스케일링된 영상을 업스케일링하는 전자 장치, 이의 제어 방법 및 서버의 제어 방법에 관한 것이다.
본 개시에 따른 전자 장치의 제어 방법은, 영상 데이터 및 상기 영상 데이터를 업스케일링 하기 위한 인공지능 모델에 적용되는 필터 세트에 대한 정보를 외부 서버로부터 수신하는 단계, 상기 영상 데이터를 디코딩하는 단계, 상기 필터 세트에 대한 정보에 기초하여 획득된 제1 인공지능 모델에 상기 디코딩된 영상 데이터를 입력하여 상기 디코딩된 영상 데이터를 업스케일링하는 단계 및 상기 업스케일링된 영상 데이터를 출력하는 단계를 포함한다.
이 경우, 상기 필터 세트에 대한 정보는, 필터 세트의 인덱스 정보를 포함하고, 상기 업스케일링하는 단계는, 상기 인덱스 정보에 기초하여 상기 전자 장치에 저장된 복수의 학습된 필터 세트 중 하나의 필터 세트가 적용된 상기 제1 인공지능 모델을 획득하는 단계 및 상기 획득된 제1 인공지능 모델에 상기 디코딩된 영상 데이터를 입력하여 상기 디코딩된 영상 데이터를 업스케일링하는 단계를 포함할 수 있다.
한편, 상기 영상 데이터는, 원본 영상 데이터를 다운스케일링하기 위한 제2 인공지능 모델에 상기 영상 데이터에 대응되는 원본 영상 데이터를 입력하여 획득된 다운스케일링된 영상 데이터를 인코딩하여 획득된 것일 수 있다.
이 경우, 상기 제1 인공지능 모델의 필터의 개수는, 상기 제2 인공지능 모델의 필터의 개수보다 적을 수 있다.
한편, 상기 필터 세트에 대한 정보는, 상기 제1 인공지능 모델에 의해 획득된 업스케일링된 영상 데이터와 상기 원본 영상 데이터의 차이가 최소가 되도록 상기 외부 서버에 의해 획득된 정보일 수 있다.
한편, 상기 제1 인공지능 모델은, CNN(Convolution Neural Network)일 수 있다.
한편, 상기 출력하는 단계는, 상기 업스케일링된 영상 데이터를 디스플레이할 수 있다.
한편, 본 개시의 일 실시 예에 따른 서버의 제어 방법은, 영상 데이터를 다운스케일링하기 위한 인공지능 다운스케일링 모델에 원본 영상 데이터를 입력하여 다운스케일링된 영상 데이터를 획득하는 단계, 상기 다운스케일링된 영상 데이터를 업스케일링하기 위해 학습된 복수의 필터 세트 각각이 적용된 복수의 인공지능 업스케일링 모델에 상기 다운스케일링된 영상 데이터를 각각 입력하여, 복수의 업스케일링된 영상 데이터를 획득하는 단계, 상기 복수의 업스케일링된 영상 데이터 중 상기 원본 영상 데이터와 차이가 최소인 영상 데이터를 출력한 인공지능 업스케일링 모델의 필터 세트에 대한 정보를 부가하여 상기 다운스케일링된 영상 데이터를 인코딩하는 단계 및 상기 인코딩된 영상 데이터를 외부 전자 장치로 전송하는 단계를 포함한다.
이 경우, 상기 복수의 업스케일링된 영상 데이터 및 상기 원본 영상 데이터의 차이가 감소하도록 상기 복수의 필터 세트의 파라미터를 학습하는 단계를 더 포함할 수 있다.
한편, 상기 인공지능 업스케일링 모델의 필터의 개수는, 상기 인공지능 다운스케일링 모델의 필터의 개수보다 적을 수 있다.
한편, 본 개시의 일 실시 예에 따른 전자 장치는, 통신부 및 상기 통신부를 통해 외부 서버로부터 영상 데이터 및 상기 영상 데이터를 업스케일링하기 위한 인공지능 모델에 적용되는 필터 세트에 대한 정보를 수신하고, 상기 수신된 영상 데이터를 디코딩하고, 상기 필터 세트에 대한 정보에 기초하여 획득된 제1 인공지능 모델에 상기 디코딩된 영상 데이터를 입력하여 상기 디코딩된 영상 데이터를 업스케일링하고, 상기 업스케일링된 영상 데이터를 출력하는 프로세서를 포함한다.
이 경우, 메모리를 더 포함하고, 상기 필터 세트에 대한 정보는, 필터 세트의 인덱스 정보를 포함하고, 상기 프로세서는, 상기 인덱스 정보에 기초하여 상기 메모리에 저장된 복수의 학습된 필터 세트 중 하나의 필터 세트가 적용된 상기 제1 인공지능 모델을 획득하고, 상기 획득된 제1 인공지능 모델에 상기 디코딩된 영상 데이터를 입력하여 상기 디코딩된 영상 데이터를 업스케일링할 수 있다.
한편, 상기 영상 데이터는, 원본 영상 데이터를 다운스케일링하기 위한 제2 인공지능 모델에 상기 영상 데이터에 대응되는 원본 영상 데이터를 입력하여 획득된 다운스케일링된 영상 데이터를 인코딩하여 획득된 것일 수 있다.
이 경우, 상기 제1 인공지능 모델의 필터의 개수는, 상기 제2 인공지능 모델의 필터의 개수보다 적을 수 있다.
한편, 상기 필터 세트에 대한 정보는, 상기 제1 인공지능 모델에 의해 획득된 업스케일링된 영상 데이터와 상기 원본 영상 데이터의 차이가 최소가 되도록 상기 외부 서버에 의해 획득된 정보일 수 있다.
한편, 상기 제1 인공지능 모델은, CNN(Convolution Neural Network)일 수 있다.
한편, 디스플레이를 더 포함하고, 상기 프로세서는, 상기 업스케일링된 영상 데이터를 디스플레이하도록 상기 디스플레이를 제어할 수 있다.
도 1 및 도 2는 본 개시의 일 실시 예에 따른 영상 스트리밍 시스템을 설명하기 위한 도면이다.
도 3은 본 개시의 일 실시 예에 따른 전자 장치의 간략한 구성을 설명하기 위한 블럭도,
도 4는 도 3에 개시된 전자 장치의 구체적인 구성을 설명하기 위한 블럭도,
도 5는 본 개시의 일 실시 예에 따른 서버의 구성을 설명하기 위한 블럭도,
도 6은 본 개시의 일 실시 예에 따른 서버의 영상 인코딩 동작을 설명하기 위한 흐름도,
도 7은 도 6에 개시된 서버의 영상 인코딩 동작을 보다 구체적으로 설명하기 위한 흐름도,
도 8은 본 개시의 일 실시 예에 따른 필터 세트를 설명하기 위한 도면,
도 9는 본 개시의 일 실시 예에 따른, 인공 지능 모델을 학습하고 이용하기 위한 전자 장치의 구성을 나타내는 블록도,
도 10은 본 개시의 일 실시 예에 따른, 학습부 및 획득부의 구체적인 구성을 나타내는 블록도,
도 11은 본 개시의 일 실시 예에 따른 필터 세트의 학습 방법을 설명하기 위한 도면,
도 12는 본 개시의 일 실시 예에 따른 스트리밍 데이터의 구조를 설명하기 위한 도면,
도 13은 본 개시의 일 실시 예에 따른 필터 세트의 학습 방법을 설명하기 위한 도면,
도 14는 본 개시의 일 실시 예에 따른 전자 장치의 영상 디코딩 동작을 설명하기 위한 흐름도,
도 15 및 도 16는 도 14에 개시된 전자 장치의 영상 디코딩 동작을 보다 구체적으로 설명하기 위한 도면, 그리고,
도 17은 본 개시의 일 실시 예에 따른 전자 장치의 영상 업스케일링 동작을 설명하기 위한 도면이다.
본 명세서에서 사용되는 용어에 대해 간략히 설명하고, 본 개시에 대해 구체적으로 설명하기로 한다.
본 개시의 실시 예에서 사용되는 용어는 본 개시에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 개시의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 발명에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 개시의 전반에 걸친 내용을 토대로 정의되어야 한다.
본 개시의 실시 예들은 다양한 변환을 가할 수 있고 여러 가지 실시 예를 가질 수 있는바, 특정 실시 예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나 이는 특정한 실시 형태에 대해 범위를 한정하려는 것이 아니며, 발명된 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 실시 예들을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 구성요소들은 용어들에 의해 한정되어서는 안 된다. 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "구성되다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
본 개시의 실시 예에서 '모듈' 혹은 '부'는 적어도 하나의 기능이나 동작을 수행하며, 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다. 또한, 복수의 '모듈' 혹은 복수의 '부'는 특정한 하드웨어로 구현될 필요가 있는 '모듈' 혹은 '부'를 제외하고는 적어도 하나의 모듈로 일체화되어 적어도 하나의 프로세서로 구현될 수 있다.
아래에서는 첨부한 도면을 참고하여 본 개시의 실시 예에 대하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 개시는 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다. 그리고 도면에서 본 개시를 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
이하에서는 도면을 참조하여 본 발명에 대해 더욱 상세히 설명하기로 한다.
도 1은 본 개시의 일 실시 예에 따른 영상 스트리밍 시스템을 설명하기 위한 도면이다.
도 1을 참조하면, 영상 스트리밍 시스템(1000)은 전자 장치(100) 및 서버(200)를 포함한다.
서버(200)는 인코딩된 영상 데이터를 생성할 수 있다. 구체적으로, 인코딩된 영상 데이터는 서버(200)에 의해 원본 영상 데이터가 다운스케일링된 후 인코딩된 영상 데이터일 수 있다.
여기서, 서버(200)는 영상 데이터를 다운스케일링하기 위한 인공지능 모델을 이용하여 원본 영상 데이터를 다운스케일링할 수 있다. 이때, 서버(200)는 영상 데이터를 픽셀 단위로 다운스케일링할 수 있다.
그리고, 서버(200)는 영상 데이터를 업스케일링하기 위한 인공지능 모델에 복수의 필터 세트를 각각 적용한 뒤 다운스케일링된 영상 데이터를 업스케일링한 복수의 영상 데이터를 획득할 수 있다. 이때, 서버(200)는 다운스케일링된 영상 데이터를 픽셀 단위로 업스케일링할 수 있다. 여기서, 필터 세트는 인공지능 모델에 적용되는 복수의 필터를 포함할 수 있다. 그리고, 업스케일링하기 위한 인공지능 모델에 적용되는 필터의 개수는 다운스케일링하기 위한 인공지능 모델에 적용되는 필터의 개수보다 적을 수 있다. 이는 디코더 단의 실시간성 때문에 디코더 단인 전자 장치(100)의 필터 레이어를 깊게 구성할 수 없기 때문이다.
한편, 복수의 필터 각각은 복수의 파라미터를 포함할 수 있다. 즉, 필터 세트는 인공지능 모델을 획득하기 위한 파라미터의 집합을 의미할 수 있다. 여기서, 파라미터는 가중치(weight), 계수 등으로 지칭될 수도 있다.
그리고, 복수의 필터 세트는 미리 학습되어 서버(200)에 저장된 것일 수 있다. 여기서, 복수의 필터 세트는 원본 영상 데이터와의 차이가 최소인 업스케일링된 영상을 획득하기 위한 최적의 압축률이 학습된 것일 수 있다. 구체적으로, 학습되는 데이터는 다운스케일링 모델에 적용된 복수의 파라미터 및 업스케일링 모델이 적용된 복수의 파라미터일 수 있다. 일 실시 예로, 복수의 필터 세트는 영상 데이터의 장르에 기초하여 학습된 것일 수 있다. 이러한 실시 예에 대해서는 이하 도 13을 참조하여 자세히 설명하기로 한다.
그리고, 서버(200)는 복수의 업스케일링된 영상 데이터 중 원본 영상 데이터와의 차이가 최소인 영상 데이터를 생성한 필터 세트를 식별할 수 있다. 여기서, 영상 데이터의 프레임 별로 최적의 필터 세트가 식별될 수 있다.
그리고, 서버(200)는 인코딩된 영상과 필터 세트에 대한 정보를 전자 장치(100)에 전송할 수 있다. 여기서, 필터 세트에 대한 정보는 식별된 필터 세트에 대한 인덱스 정보를 포함할 수 있다. 여기서 필터 세트의 인덱스 정보란 복수의 파라미터로 구성된 필터 세트 간 구별하기 위해 사용되는 것일 수 있다. 예를 들어, filter 1, filter 2, ..., filter x 와 같은 x 개의 필터 세트가 전자 장치(100) 및 서버(200)에 저장된 경우, 1, 2, ..., x를 인덱스 정보로 정의할 수 있다.
전자 장치(100)는 수신된 영상 데이터를 디코딩하고, 업스케일링을 수행할 수 있다. 이때, 수신된 영상 데이터는 서버(200)로부터 수신된 인코딩된 영상 데이터일 수 있다. 여기서, 전자 장치(100)는 인공지능 모델을 이용하여 디코딩된 영상 데이터의 업스케일링을 수행할 수 있다.
이때, 전자 장치(100)에는 영상 데이터를 업스케일링하기 위한 복수의 필터 세트가 저장될 수 있다. 여기서, 전자 장치(100)에 저장된 복수의 필터 세트는 서버(200)에 저장된 복수의 필터 세트와 동일한 것일 수 있다.
그리고, 전자 장치(100)는 서버(200)로부터 수신된 영상 데이터에 포함된 필터 세트에 대한 정보에 기초하여 획득된 인공지능 모델에 디코딩된 영상 데이터를 입력하여 업스케일링된 영상을 획득할 수 있다. 구체적으로, 전자 장치(100)는 전자 장치(100)에 저장된 복수의 필터 세트 중 서버(200)로부터 수신된 필터 세트에 대한 정보에 기초한 하나의 필터 세트를 이용하여 업스케일링을 위한 인공지능 모델을 획득할 수 있다.
그리고, 전자 장치(100)는 업스케일링된 영상 데이터를 출력할 수 있다.
구체적으로, 전자 장치(100)가 PC, TV, 모바일 장치 등과 같이 디스플레이를 구비한 디스플레이 장치 경우, 전자 장치(100)는 업스케일링된 영상 데이터를 디스플레이에 표시할 수 있다.
한편, 전자 장치(100)가 셋탑 박스 또는 서버 등과 같이 디스플레이가 구비되어 있지 않은 장치인 경우, 전자 장치(100)는 디스플레이가 구비된 외부 장치로 업스케일링된 영상 데이터를 전송하여, 외부 장치가 영상 데이터를 표시하게 할 수 있다.
상술한 바와 같이, 서버에 의한 인코딩 과정에서 미리 복수의 업스케일링 과정을 통해 최적의 업스케일링 필터 세트를 식별함으로써, 전자 장치에서의 복원 과정의 부담을 줄일 수 있다. 이로 인해 영상 스트리밍 환경에서 고압축률을 확보할 수 있으며, 이에 따라 고화질 영상을 전송할 수 있게 된다.
도 2는 도 1에 도시된 영상 스트리밍 시스템을 구체적으로 설명하기 위한 도면이다.
도 2를 참조하면, 서버(200)는 원본 영상 데이터(21)를 AI 인코더(22)에 입력할 수 있다. 여기서, 원본 영상 데이터(21)는 영상 컨텐츠 소스일 수 있다. 일 실시 예로, 원본 영상 데이터(21)의 크기는 2M x 2N 일 수 있다.
그리고, AI 인코더(22)는 2M x 2N 크기의 원본 영상 데이터(21)를 입력받아 M x N 크기의 압축 영상(23)을 획득할 수 있다. 이때, AI 인코더(22)는 인공지능 모델을 이용하여 원본 영상 데이터(21)를 다운스케일링할 수 있다. 그리고, AI 인코더(22)는 복수의 필터 세트를 각각 적용한 인공지능 모델을 이용하여 압축 영상(23)을 업스케일링한 복수의 업스케일링 영상 데이터를 획득할 수 있다. 그리고, AI 인코더(22)는 복수의 업스케일링 영상 데이터 중 원본 영상 데이터(21)와 가장 유사한 영상 데이터를 생성하는데 사용한 필터 세트를 식별할 수 있다. 필터 세트의 구성의 일 실시 예는 이하 도 8을 참조하여 자세히 설명하기로 한다.
여기서 필터는, 파라미터를 갖는 마스크로서 파라미터의 행렬로 정의된다. 필터는 윈도우(windows) 또는 커널(kernel)이라고도 한다. 필터에서 행렬을 구성하는 파라미터는 0(zero value) 또는 0으로 근사될 수 있는 제로 엘리먼트 및 0과 1 사이의 일정한 값을 갖는 논제로(non zero) 엘리먼트로 구성되며, 그 기능에 따라 다양한 패턴을 가질 수 있다.
인공지능 모델이 이미지를 인식하기 위한 컨벌루션 뉴럴 네트워크(Convolution Neural Network, 이하 CNN)로 구현되는 경우를 예로 들면, 전자 장치는 파라미터를 갖는 필터를 입력 영상에 씌우고, 영상과 필터의 파라미터를 각각 곱한 값에 대한 합(컨벌루션 연산)을 출력 영상의 픽셀 값으로 결정하여 특징 값을 추출할 수 있다.
입력 영상 데이터의 강인한 특징을 추출하기 위해 다중 필터를 통해 복수 개로 추출될 수 있으며, 필터의 개수에 따라 복수 개의 특징 값이 추출될 수 있다. 이와 같은 컨벌루션 영상 처리는 도 11에 도시된 바와 같이 다중 레이어에 의해 반복될 수 있다. 이때, 레이어 각각은 복수의 필터를 포함할 수 있다. 한편, CNN의 학습 대상에 따라 학습되는 필터들이 달라지며, 선정되는 필터들의 패턴 또한 달라지게 된다. 예를 들어, CNN의 학습 대상이 입력 영상의 다운스케일링인지 또는 업스케일링인지, 영상의 장르가 무엇인지 등에 따라, 학습되는 필터 및 선정되는 필터가 달라질 수 있다.
그리고, 서버(200)는 AI 인코더(22)로부터 획득된 N x M 크기의 압축 영상(23)과 최적의 업스케일링에 적용된 필터 세트에 대한 정보를 이용하여 인코딩 과정(24)을 수행할 수 있다.
여기서, 인코딩 과정(24)는 일반적인 인코딩 과정일 수 있다. 구체적으로, 영상 인코더는 N x M 크기의 압축 영상(23)에 대한 부호화를 수행하여 비트 스트림을 생성할 수 있다. 생성된 비트 스트림은 스트리밍 포맷에 따라 패킹(packing)될 수 있다. 패킹 과정에 대해서는 이하 도 12를 참조하여 보다 자세히 설명하기로 한다. 그리고, 패킹된 압축 스트리밍은 스트리밍 저장소에 저장될 수 있다.
그리고, 서버(200)는 저장된 스트리밍 소스(25)를 전자 장치(100)에 전송할 수 있다. 여기서, 전송된 압축 스트리밍에는 인코딩된 영상 데이터 및 최적의 업스케일링을 위한 필터 세트에 대한 정보가 포함될 수 있다.
전자 장치(100)는 수신된 스트리밍 소스(25)에 디코딩 과정(26)을 수행하여 N x M 크기의 압축 영상(27)을 획득할 수 있다. 여기서 획득된 N x M 크기의 압축 영상(27)은 인코딩 전 N x M 크기의 압축 영상(23)과 대응될 수 있다. 구체적으로, 전자 장치(100)는 스트리밍 소스(25)를 스트리밍 파서(parser)에 입력하여 비트스트림을 획득하고, 획득된 비트스트림을 영상 디코더에 입력하여 디코딩된 N x M 크기의 압축 영상(27)을 획득할 수 있다.
그리고, 전자 장치(100)는 디코딩된 N x M 크기의 압축 영상(27)을 AI 디코더(28)에 입력하여 업스케일링을 수행할 수 있다. 구체적으로, 전자 장치(100)는 저장된 복수의 필터 세트 중 하나의 필터 세트를 적용하여 업스케일링을 위한 인공지능 모델을 획득하고, 획득된 인공지능 모델을 이용하여 2N x 2M 크기의 원본 복원 영상(28)을 획득할 수 있다. 이때, 전자 장치(100)는 수신된 스트리밍 소스(25)에 저장된 필터 세트에 대한 정보에 기초하여 복수의 필터 세트 중 하나의 필터 세트를 선택할 수 있다.
그리고 전자 장치(100)는 원본 복원 영상(28)을 디스플레이하도록 디스플레이(30)를 제어할 수 있다. 한편, 전자 장치(100)에 디스플레이가 구비되지 않은 경우, 전자 장치(100)는 외부 디스플레이 장치에서 디스플레이되도록 원본 복원 영상(28)을 외부 디스플레이 장치로 전송할 수 있다.
한편, 설명의 편의를 위해 AI 인코더, 영상 인코더, 스트리밍 표준 포맷화가 별개의 구성인 것으로 도시되었으나, 실제 구현시에는 하나의 프로세서에 의해 구현될 수 있다. 마찬가지로, 스트리밍 파서, 영상 디코더, AI 디코더 또한 하나의 프로세서에 의해 구현될 수 있다.
상술한 바와 같이, 인공지능 모델을 이용하여 영상 데이터를 다운스케일링 및 업스케일링함으로써, 높은 수준의 영상 압축이 가능하고, 이로 인해 고화질 영상을 전송할 수 있다.
도 3은 본 개시의 일 실시 예에 따른 전자 장치의 간략한 구성을 설명하기 위한 블럭도이다.
도 3을 참조하면, 전자 장치(100)는 통신부(110) 및 프로세서(120)를 포함한다.
통신부(110)는 다양한 유형의 통신 방식에 따라 다양한 유형의 외부 기기와 통신을 수행하는 구성이다. 전자 장치(100)는 외부 장치로부터 유선 또는 무선 방식을 통해 통신을 수행할 수 있는데, 본 개시에서는 설명의 편의를 위하여 무선 방식으로 통신하는 경우 통신부(110)에 의해 통신하는 것으로 기재하고, 유선 방식으로 통신하는 경우에는 이하 도 4에 도시된 인터페이스(140)에 의해 통신하는 것으로 기재하기로 한다.
구체적으로, 통신부(110)는 외부 장치로부터 와이파이(Wi-Fi), 블루투스와 같은 무선 방식을 통하여 영상 데이터를 입력받을 수 있다. 한편, 실제 구현시에는, 전자 장치(100)는 전자 장치(100)에 구비된 메모리(130)에 저장된 복수의 영상 중 사용자가 선택한 영상을 입력받아 영상 처리할 수도 있다.
전자 장치(100)가 무선 통신이 가능한 경우, 통신부(110)는 와이파이칩, 블루투스 칩, 무선 통신 칩, NFC 칩을 포함할 수 있다. 구체적으로, 와이파이 칩, 블루투스 칩은 각각 WiFi 방식, 블루투스 방식으로 통신을 수행한다. 와이파이 칩이나 블루투스 칩을 이용하는 경우에는 SSID 및 세션 키 등과 같은 각종 연결 정보를 먼저 송수신하여, 이를 이용하여 통신 연결한 후 각종 정보들을 송수신할 수 있다. 무선 통신 칩은 IEEE, 지그비, 3G(3rd Generation), 3GPP(3rd Generation Partnership Project), LTE(Long Term Evoloution) 등과 같은 다양한 통신 규격에 따라 통신을 수행하는 칩을 의미한다. NFC 칩은 135kHz, 13.56MHz, 433MHz, 860~960MHz, 2.45GHz 등과 같은 다양한 RF-ID 주파수 대역들 중에서 13.56MHz 대역을 사용하는 NFC(Near Field Communication) 방식으로 동작하는 칩을 의미한다.
구체적으로, 전자 장치(100)는 통신부(110)를 통해 외부 서버로부터 영상 데이터 및 영상 데이터를 업스케일링하기 위한 인공지능 모델에 적용되는 필터 세트에 대한 정보를 수신할 수 있다.
여기서, 외부 서버로부터 영상 데이터는 외부 서버에 의해 인코딩된 영상 데이터일 수 있다. 그리고, 인코딩된 영상 데이터는 원본 영상 데이터를 다운스케일링하기 위한인공지능 모델에 입력하여 획득된 다운스케일링 영상 데이터가 인코딩된 것일 수 있다.
그리고, 필터 세트에 대한 정보는 영상 데이터에 첨부된 것일 수 있다. 여기서, 필터 세트에 대한 정보는, 영상 데이터의 업스케일링을 위한 인공지능 모델에 의해 획득된 업스케일링된 영상 데이터와 원본 영상 데이터의 차이가 최소가 되도록 외부 서버에 의해 획득된 것일 수 있다. 여기서 필트 세트에 대한 정보는 영상 데이터의 프레입 별로 획득된 것일 수 있다. 한편, 외부 서버에 의해 필터 세트에 대한 정보가 획득되는 과정은 이하 도 7을 참조하여 자세히 설명하기로 한다.
프로세서(120)는 전자 장치(100)의 동작을 전반적으로 제어한다.
일 실시 예에 따라 프로세서(120)는 디지털 시그널 프로세서(digital signal processor(DSP), 마이크로 프로세서(microprocessor), TCON(Time controller)으로 구현될 수 있다. 다만, 이에 한정되는 것은 아니며, 중앙처리장치(central processing unit(CPU)), MCU(Micro Controller Unit), MPU(micro processing unit), 컨트롤러(controller), 어플리케이션 프로세서(application processor(AP)), 또는 커뮤니케이션 프로세서(communication processor(CP)), ARM 프로세서 중 하나 또는 그 이상을 포함하거나, 해당 용어로 정의될 수 있다. 또한, 프로세서(120)는 프로세싱 알고리즘이 내장된 SoC(System on Chip), LSI(large scale integration)로 구현될 수도 있고, FPGA(Field Programmable gate array) 형태로 구현될 수도 있다.
프로세서(120)는 통신부(110)에 의해 수신된 영상 데이터를 디코딩할 수 있다. 구체적으로, 프로세서(120)는 외부 서버로부터 수신된 인코딩된 영상 데이터를 디코딩하여 압축 영상 데이터를 생성할 수 있다.
그리고, 프로세서(120)는 수신된 필터 세트에 대한 정보에 기초하여 획득된 업스케일링을 위한 인공지능 모델에 디코딩된 영상 데이터를 입력하여 디코딩된 영상 데이터를 업스케일링할 수 있다. 여기서, 업스케일링은 압축 풀기, 영상 복원 등 다양한 용어로 대체될 수 있다. 한편, 프로세서(120)는 수신된 필터 세트에 대한 정보를 인공지능 모델을 구성하는 복수의 필터의 일부 또는 전부의 필터를 획득하는데 적용할 수 있다. 여기서 복수의 필터의 일부 필터를 획득한다는 것은, 인공지능 모델을 구성하는 복수의 필터 중 일부 필터는 디폴트이고, 나머지 일부 필터만이 수신된 필터 세트에 대한 정보에 기초하여 획득됨을 의미할 수 있다.
한편, 다른 실시 예로 메모리(130)에 복수의 필터 세트가 저장되지 않은 경우, 프로세서(120)는 수신된 필터 세트에 대한 정보를 제2 외부 서버로 전송하도록 통신부(110)를 제어할 수 있다. 그리고, 통신부(110)를 통해 제2 외부 서버로부터 전송한 필터 세트에 대응되는 파라미터 정보를 수신하면, 프로세서(120)는 수신된 파라미터 정보를 이용하여 업스케일링을 위한 인공지능 모델을 획득하고, 획득된 인공지능 모델을 이용하여 디코딩된 영상 데이터를 업스케일링할 수도 있다.
그리고, 프로세서(120)는 업스케일링된 영상 데이터를 출력할 수 있다. 구체적으로, 프로세서(120)는 업스케일링된 영상 데이터를 외부 디스플레이 장치로 전송하도록 통신부(110)를 제어할 수 있다. 한편, 도 4에 도시된 바와 같이 전자 장치(100)에 디스플레이(150)가 구비되어 있으면, 프로세서(120)는 업스케일링된 영상 데이터를 표시하도록 디스플레이(150)를 제어할 수 있다.
상술한 바와 같이, 본원의 전자 장치는 외부 서버로부터 인코딩된 영상 데이터 및 최적의 필터 세트에 대한 정보를 수신함으로써, 영상 데이터의 최적의 복원에 소모되는 시간 및 리소스가 감소된다. 이로 인해, 영상의 고압축률을 구현할 수 있으며, 고화질 영상을 보다 작은 크기의 영상 데이터로 압축하여 송수신할 수 있다.
도 4는 도 3에 개시된 전자 장치의 구체적인 구성을 설명하기 위한 블럭도이다.
도 4를 참조하면, 전자 장치(100)는 통신부(110), 프로세서(120), 메모리(130), 인터페이스(140), 디스플레이부(150), 비디오 프로세서(160), 오디오 프로세서(170), 오디오 출력부(180) 등을 포함할 수 있다.
여기서, 통신부(110) 및 프로세서(120)는 도 3에 도시된 구성과 동일한 바, 중복된 기재는 생략한다.
메모리(130)는 전자 장치(100)의 동작에 필요한 각종 프로그램 및 데이터를 저장할 수 있다. 구체적으로, 메모리(130)에는 적어도 하나의 명령어가 저장될 수 있다. 프로세서(120)는 메모리(130)에 저장된 명령어를 실행함으로써 상술한 동작을 수행할 수 있다. 메모리(130)는 비휘발성 메모리, 휘발성 메모리, 플래시메모리(flash-memory), 하드디스크 드라이브(HDD) 또는 솔리드 스테이트 드라이브(SSD) 등으로 구현될 수 있다.
그리고, 메모리(130)에는 학습된 인공지능 모델이 저장될 수 있다. 여기서, 학습된 인공지능 모델은 영상 데이터를 업스케일링하기 위한 복수의 레이어를 포함할 수 있다. 그리고, 복수의 레이어 각각은 복수의 필터를 포함할 수 있다. 여기서, 복수의 필터 각각은 복수의 파라미터를 포함할 수 있다. 예를 들어, 학습된 인공지능 모델은 CNN(convolution neural network)일 수 있다.
이때, 복수의 필터는 영상 데이터의 프레임 전체에 대하여 각각 적용될 수 있다. 구체적으로, 본 개시에 따르면, 영상 데이터의 프레임마다 동일한 파라미터를 적용한 필터를 사용할 수도 있지만, 프레임마다 다른 파라미터를 적용한 필터를 이용하여 영상 데이터의 업스케일링을 수행할 수 있다.
그리고, 메모리(130)에는 복수의 학습된 필터 세트가 저장될 수 있다. 구체적으로, 각 필터 세트는 복수의 파라미터를 포함하고, 메모리(130)에는 복수의 학습된 파라미터가 저장될 수 있다. 한편, 복수의 필터 세트는 개별적으로 부여된 인덱스 정보에 기초하여 구별될 수 있다. 여기서, 메모리(130)에 저장된 필터 세트는, 입력된 영상 데이터를 다운스케일링 후 업스케일링한 영상 데이터가 원본 영상 데이터와 가장 유사하도록 미리 학습된 것일 수 있다. 이때, 입력된 영상 데이터는 다양한 장르 별 영상 데이터일 수 있다. 필터 세트의 학습의 일 실시 예에 대해서는 이하 도 13을 참조하여 설명하기로 한다.
본 개시에서의 인공지능 모델의 동작은 프로세서(120)의 제어에 의해 수행되는 것일 수 있다.
구체적으로, 프로세서(120)는 수신된 필터 세트에 대한 정보에 포함된 인덱스 정보에 기초하여 메모리(130)에 저장된 복수의 필터 세트 중 하나의 필터 세트가 적용된 인공지능 모델을 획득할수 있다. 구체적으로, 프로세서(120)는 수신된 인덱스 정보에 대응되는 필터 세트가 적용된 인공지능 모델에 디코딩된 영상 데이터를 입력하여 디코딩된 영상 데이터를 업스케일링할 수 있다.
그리고, 프로세서(120)는 메모리(130)에 저장된 인공지능 모델의 목적에 따라 다양한 동작을 수행할 수 있다.
구체적으로, 인공지능 모델이 영상 인식과 관련된다면, 시각적 이해는 사물을 인간의 시각처럼 인식하여 처리하는 기술로서, 프로세서(120)는 인공지능 모델을 통해 입력 영상의 객체 인식, 객체 추적, 영상 검색, 사람 인식, 장면 이해, 공간 이해, 영상 개선 등을 수행할 수 있다.
그리고, 인공지능 모델이 정보 추천과 관련된다면, 추론 예측은 정보를 판단하여 논리적으로 추론하고 예측하는 기술로서, 프로세서(120)는 지식/확률 기반 추론, 최적화 예측, 선호 기반 계획, 추천 등을 수행할 수 있다.
그리고, 인공지능 모델이 쿼리 처리와 관련된다면, 지식 표현은 인간의 경험정보를 지식데이터로 자동화 처리하는 기술로서, 프로세서(120)는 지식 구축(데이터 생성/분류), 지식 관리(데이터 활용) 등을 수행할 수 있다.
상술한 바와 같이, 수신된 영상 데이터 및 필터 세트의 정보에 기초하여 영상 데이터의 업스케일링을 위한 인공지능 모델을 획득하고, 획득된 인공지능 모델에 디코딩된 영상 데이터를 입력하여 업스케일링된 영상 데이터를 획득함으로써, 적은 양의 시간 및 리소스를 사용하여도 최적의 복원 영상을 획득할 수 있게 된다.
인터페이스(140)는 유선 방식을 통해 전자 장치(100)와 외부 장치를 연결하기 위한 구성이다. 구체적으로, 인터페이스(140)는 케이블 또는 포트와 같은 유선 방식을 통해 오디오 신호 및 비디오 신호 중 적어도 하나를 입출력할 수 있다.
이때, 인터페이스(140)는 DP(Display Port), HDMI(High Definition Multimedia Interface), DVI(Digital Visual Interface), RGB(Red Green Blue), DSUB, S-Video(Super Video), Component Video, Composite Video, USB, 썬더볼트(Thunderbolt) 방식의 포트 중 적어도 하나일 수 있다.
디스플레이(150)는 업스케일링된 영상 데이터를 표시할 수 있다. 이때, 디스플레이(150)에 의해 표시되는 영상은 학습된 인공 지능 모델에 의해 업스케일링된 영상일 수 있다. 한편, 인공 지능 모델의 목적에 따라, 디스플레이(150)에는 영상에 포함된 오브젝트가 함께 표시될 수 있으며, 오브젝트의 종류 또한 함께 표시될 수도 있다.
디스플레이(150)는 LCD(Liquid Crystal Display), OLED(Organic Light Emitting Diodes) 디스플레이, PDP(Plasma Display Panel) 등과 같은 다양한 형태의 디스플레이로 구현될 수 있다. 디스플레이(150) 내에는 a-si TFT, LTPS(low temperature poly silicon) TFT, OTFT(organic TFT) 등과 같은 형태로 구현될 수 있는 구동 회로, 백라이트 유닛 등도 함께 포함될 수 있다. 또한, 디스플레이(150)은 플렉서블 디스플레이로 구현될 수도 있다.
그리고, 디스플레이(150)는 사용자의 터치 제스처를 감지하기 위한 터치 센서를 포함할 수 있다. 터치 센서는 정전식이나, 감압식, 압전식 등과 같은 다양한 유형의 센서로 구현될 수 있다. 이 밖에도, 전자 장치(100)가 펜 입력 기능도 지원하는 경우, 디스플레이(150)는 사용자의 손가락 이외에도 펜과 같은 입력 수단을 이용한 사용자 제스처도 감지할 수 있다. 입력 수단이 내부에 코일을 포함하는 스타일러스 펜일 경우, 전자 장치(100)는 스타일러스 펜 내부의 코일에 의해 변화되는 자기장을 감지할 수 있는 자기장 감지 센서를 포함할 수도 있다. 이에 따라, 터치 제스처뿐만 아니라 근접 제스처, 즉, 호버링(hovering)도 감지할 수 있게 된다.
한편, 이상에서는 표시 기능과 제스처 감지 기능이 동일한 구성에서 수행되는 것으로 설명하였지만, 서로 다른 구성에서 수행될 수도 있다. 그리고, 다양한 실시 형태에 따라, 전자 장치(100)에 디스플레이(150)는 구비되지 않을 수도 있다. 예를 들어, 전자 장치(100)가 셋탑 박스 또는 서버인 경우에는, 디스플레이(150)는 구비되지 않을 수도 있다. 이 경우에는, 업스케일링된 영상 데이터는, 통신부(110) 또는 인터페이스(140)를 통해 외부 디스플레이 장치로 송수신될 수 있다.
프로세서(120)는 RAM(121), ROM(122), CPU(123), GPU(Graphic Processing Unit)(124), 버스(125)를 포함할 수 있다. RAM(121), ROM(122), CPU(123), GPU(Graphic Processing Unit)(124) 등은 버스(125)를 통해 서로 연결될 수 있다.
CPU(123)는 메모리(130)에 액세스하여, 메모리(130)에 저장된 O/S를 이용하여 부팅을 수행한다. 그리고 메모리(130)에 저장된 각종 프로그램, 컨텐츠, 데이터 등을 이용하여 다양한 동작을 수행한다.
ROM(122)에는 시스템 부팅을 위한 명령어 세트 등이 저장된다. 턴-온 명령이 입력되어 전원이 공급되면, CPU(123)는 ROM(122)에 저장된 명령어에 따라 메모리(130)에 저장된 O/S를 RAM(121)에 복사하고, O/S를 실행시켜 시스템을 부팅시킨다. 부팅이 완료되면, CPU(123)는 메모리(130)에 저장된 각종 프로그램을 RAM(121)에 복사하고, RAM(121)에 복사된 프로그램을 실행시켜 각종 동작을 수행한다.
GPU(124)는 전자 장치(100)의 부팅이 완료되면, 디스플레이(150)에 UI를 디스플레이한다. 구체적으로는, GPU(124)는 연산부(미도시) 및 렌더링부(미도시)를 이용하여 아이콘, 이미지, 텍스트 등과 같은 다양한 객체를 포함하는 화면을 생성할 수 있다. 연산부는 화면의 레이아웃에 따라 각 객체들이 표시될 좌표값, 형태, 크기, 컬러 등과 같은 속성값을 연산한다. 렌더링부는 연산부에서 연산한 속성값에 기초하여 객체를 포함하는 다양한 레이아웃의 화면을 생성한다. 렌더링부에서 생성된 화면(또는 사용자 인터페이스 창)은 디스플레이(150)로 제공되어, 메인 표시 영역 및 서브 표시 영역에 각각 표시된다.
비디오 프로세서(160)는 통신부(110) 또는 인터페이스(140)를 통해 수신된 컨텐츠 또는, 메모리(130)에 저장된 컨텐츠에 포함된 비디오 데이터를 처리하기 위한 구성요소이다. 비디오 프로세서(160)에서는 비디오 데이터에 대한 디코딩, 스케일링, 노이즈 필터링, 프레임 레이트 변환, 해상도 변환 등과 같은 다양한 이미지 처리를 수행할 수 있다.
오디오 프로세서(170)는 통신부(110) 또는 인터페이스(140)를 통해 수신된 컨텐츠 또는, 메모리(130)에 저장된 컨텐츠에 포함된 오디오 데이터를 처리하기 위한 구성요소이다. 오디오 프로세서(170)에서는 오디오 데이터에 대한 디코딩이나 증폭, 노이즈 필터링 등과 같은 다양한 처리가 수행될 수 있다.
프로세서(120)는 멀티미디어 컨텐츠에 대한 재생 애플리케이션이 실행되면 비디오 프로세서(160) 및 오디오 프로세서(170)를 구동시켜, 해당 컨텐츠를 재생할 수 있다. 이때, 디스플레이(150)는 비디오 프로세서(160)에서 생성한 이미지 프레임을 메인 표시 영역, 서브 표시 영역 중 적어도 하나의 영역에 디스플레이할 수 있다.
한편, 이상에서는 프로세서(120), 비디오 프로세서(160) 및 오디오 프로세서(170)가 별개의 구성인 것으로 기재되어 있으나, 실시 예에 따라 하나의 칩(chip)으로 구현될 수 있다. 예를 들어, 프로세서(120)가 비디오 프로세서(160) 및 오디오 프로세서(170)의 동작을 모두 수행 가능할 수 있다.
오디오 출력부(190)는 오디오 프로세서(170)에서 생성한 오디오 데이터를 출력한다.
그 밖에, 도 4에 도시하지는 않았으나, 실시 예에 따라서는, 전자 장치(100) 내에 헤드셋, 마우스 등과 같은 다양한 외부 단자와 연결하기 위한 다양한 외부 입력 포트, DMB(Digital Multimedia Broadcasting) 신호를 수신하여 처리하는 DMB 칩, 사용자의 조작을 입력받기 위한 버튼, 사용자의 음성 및 소리르 입력받아 오디오 데이터로 변환하는 마이크, 사용자의 제어에 따라 정지 영상 또는 동영상을 촬상하기 위한 촬상부, 다양한 센서 등을 더 포함할 수 있음은 물론이다.
도 5는 본 개시의 일 실시 예에 따른 서버의 구성을 설명하기 위한 블럭도이다.
도 5를 참조하면, 서버(200)는 통신부(210), 메모리(220) 및 프로세서(230)를 포함한다.
통신부(210)는 유선 또는 무선 방식으로 외부 장치와 통신할 수 있다.
구체적으로, 통신부(210)는 무선랜, 블루투스 등과 같은 무선 방식으로 외부 장치와 연결될 수 있다. 이외에도 통신부(210)는 와이파이, 지그비, 적외선(IrDA)을 이용하여 외부 장치와 연결될 수 있다. 한편, 통신부(210)는 유선 방식인 연결 포트를 포함할 수 있다.
구체적으로, 서버(200)는 통신부(210)를 통해 인코딩된 영상 데이터를 전자 장치에 전송할 수 있다. 여기서, 전자 장치에 전송되는 영상 데이터에는 최적의 영상 복원을 위한 필터 세트에 대한 정보가 포함될 수 있다. 필터 세트에 대한 정보는 아래 기재될 프로세서(230)에 의해 획득될 수 있다.
메모리(220)는 서버(200)의 동작에 필요한 각종 프로그램 및 데이터를 저장할 수 있다. 구체적으로, 메모리(220)에는 적어도 하나의 명령어가 저장될 수 있다. 프로세서(230)는 메모리(220)에 저장된 명령어를 실행함으로써 상술한 동작을 수행할 수 있다.
그리고, 메모리(220)에는 학습된 인공지능 모델이 저장될 수 있다. 구체적으로, 영상 데이터를 다운스케일링하기 위해 학습된 인공지능 모델은 복수의 레이어를 포함할 수 있다. 그리고, 복수의 레이어 각각은 복수의 필터를 포함할 수 있다. 여기서, 복수의 필터 각각은 복수의 파라미터를 포함할 수 있다.
그리고, 메모리(220)에는 영상 데이터를 업스케일링하기 위해 학습된 인공지능 모델이 저장될 수 있다. 영상 데이터를 업스케일링하기 위해 학습된 인공지능 모델은 영상 데이터를 업스케일링하기 위한 복수의 레이어를 포함할 수 있다. 그리고, 복수의 레이어 각각은 복수의 필터를 포함할 수 있다. 여기서, 복수의 필터 각각은 복수의 파라미터를 포함할 수 있다.
이때, 다운스케일링 또는 업스케일링을 위해 사용되는 인공지능 모델은 CNN(convolution neural network)일 수 있다. 그리고, 업스케일링을 위한 인공지능 모델의 필터의 개수는 다운스케일링을 위한 인공지능 모델의 필터의 개수보다 적을 수 있다.
이때, 복수의 필터는 영상 데이터의 프레임 전체에 대하여 각각 적용될 수 있다. 구체적으로, 본 개시에 따르면, 영상 데이터의 프레임마다 동일한 파라미터를 적용한 필터를 사용할 수도 있지만, 프레임마다 다른 파라미터를 적용한 필터를 이용하여 영상 데이터의 업스케일링을 수행할 수 있다.
그리고, 메모리(220)에는 복수의 학습된 필터 세트가 저장될 수 있다. 여기서, 메모리(220)에 저장된 복수의 필터 세트는 영상 데이터를 업스케일링하기 위한 인공지능 모델에 적용되는 필터 세트일 수 있다. 구체적으로, 각 필터 세트는 복수의 파라미터를 포함하고, 메모리(220)에는 복수의 학습된 파라미터가 저장될 수 있다. 한편, 복수의 필터 세트는 개별적으로 부여된 인덱스 정보에 기초하여 구별될 수 있다. 여기서, 메모리(220)에 저장된 필터 세트는, 입력된 영상 데이터를 다운스케일링 후 업스케일링한 영상 데이터와 원본 영상 데이터의 차이가 감소하도록 미리 학습된 것일 수 있다. 이때, 일반적인 유사도 분석 방법(PSNR, SSIM 등)이 사용될 수 있다. 이때, 입력된 영상 데이터는 다양한 장르 별 영상 데이터일 수 있다. 필터 세트의 학습의 일 실시 예에 대해서는 이하 도 13을 참조하여 설명하기로 한다.
본 개시에서의 인공지능 모델의 동작은 프로세서(230)의 제어에 의해 수행되는 것일 수 있다.
구체적으로, 프로세서(230)는 다운스케일링된 영상 데이터를 복수의 필터 세트가 각각 적용된 인공지능 모델에 각각 입력하여 복수의 업스케일링된 영상 데이터를 획득할 수 있다. 이때, 프로세서(230)는 복수의 인공지능 모델을 획득하여 복수의 업스케일링된 영상 데이터를 동시에 획득할 수 있다. 한편, 복수의 필터 세트 중 하나를 적용한 인공지능 모델을 이용하여 하나의 업스케일링된 영상 데이터를 획득하고, 적용되는 필터 세트를 변경하여 업스케일링된 영상 데이터를 순차적으로 획득할 수 있다.
그리고, 프로세서(230)는 획득된 복수의 업스케일링된 영상 데이터 중 원본 영상 데이터에 비해 가장 손실(loss)가 적은 업스케일링된 영상 데이터를 식별할 수 있다. 이때, 프로세서(230)는 일반적인 유사도 분석 방법(PSNR, SSIM 등)을 이용할 수 있다.
그리고, 프로세서(230)는 식별된 영상 데이터에 적용된 필터 세트에 대한 정보를 첨부하여 다운스케일링된 영상을 인코딩할 수 있다. 여기서, 첨부된 필터 세트에 대한 정보는 필터 세트의 인덱스 정보일 수 있다. 구체적으로, 프로세서(230)는 다운스케일링된 영상을 인코딩하여 생성된 비트스트림에 첨부되는 SEI 데이터에 필터 세트에 대한 정보를 포함할 수 있다. 여기서, SEI 데이터는 영상 데이터의 해상도, 비트율, 프레임율 정보 등을 제공하는 것일 수 있다.
그리고, 프로세서(230)는 인코딩된 영상 데이터를 통신부(210)를 통해 외부 전자 장치로 전송할 수 있다. 이때, 전송되는 영상 데이터에는 최적의 복원을 위한 필터 세트에 대한 정보가 첨부된 것일 수 있다.
상술한 바와 같이, 서버에 의한 인코딩 과정에서 미리 복수의 업스케일링 과정을 통해 최적의 업스케일링 필터 세트를 식별함으로써, 전자 장치에서의 복원 과정의 부담을 줄일 수 있다. 이로 인해 영상 스트리밍 환경에서 고압축률을 확보할 수 있으며, 이에 따라 고화질 영상을 전송할 수 있게 된다.
도 6은 본 개시의 일 실시 예에 따른 서버의 영상 인코딩 동작을 설명하기 위한 흐름도이다.
도 6을 참조하면, 서버는 영상 데이터를 다운스케일링하기 위한 인공지능 다운스케일링 모델에 원본 영상 데이터를 입력하여 다운스케일링된 영상 데이터를 획득할 수 있다(S610). 여기서, 다운스케일링의 압축률은 미리 학습된 것일 수 있다. 일 실시 예로, 도 2에 도시된 바와 같이 2M x 2N 크기의 영상을 1/4의 압축률로 압축하여 M x N 크기의 영상으로 다운스케일링할 수도 있지만, 압축률은 이에 한정되지 않으며, 1/4, 1/9, 1/16, 1/25 등 다양한 압축률이 가능하다.
그리고, 서버는 다운스케일링된 영상 데이터를 업스케일링하기 위해 학습된 복수의 필터 세트 각각이 적용된 복수의 인공지능 업스케일링 모델에, 다운스케일링된 영상 데이터를 각각 입력하여, 복수의 업스케일링된 영상 데이터를 획득할 수 있다(S620).
구체적으로, 복수의 필터 세트는 영상 데이터의 업스케일링을 위해 미리 학습된 것으로, 서버에 저장된 것일 수 있다. 또한, 서버에 저장된 복수의 필터 세트와 동일한 필터 세트가 외부 전자 장치에 저장될 수도 있다.
서버는 복수의 필터 세트 각각이 적용된 복수의 인공지능 업스케일링 모델을 이용하여 복수의 업스케일링된 영상 데이터를 동시에 획득할 수 있다. 한편, 복수의 필터 세트 중 하나가 적용된 인공지능 업스케일링 모델을 이용하여 하나의 업스케일링된 영상 데이터를 획득하고, 인공지능 업스케일링 모델에 적용된 필터 세트를 변경하여 다른 업스케일링된 영상 데이터를 획득하는 방식과 같이, 순차적으로 복수의 업스케일링된 영상 데이터를 획득할 수도 있다.
그 다음, 서버는 복수의 업스케일링된 영상 데이터 중 원본 영상 데이터와 차이가 최소인 영상 데이터를 출력한 인공지능 업스케일링 모델의 필터 세트에 대한 정보를 부가하여 다운스케일링된 영상 데이터를 인코딩할 수 있다(S630).
구체적으로, 서버는 복수의 업스케일링된 영상 데이터 각각과 원본 영상 데이터를 유사도 분석 방법을 이용하여 비교하고, 원본 영상 데이터에 비해 손실이 가장 적은 업스케일링된 영상 데이터를 식별할 수 있다. 그리고, 서버는 식별된 업스케일링된 영상 데이터를 출력한 인공지능 업스케일링 모델에 적용된 필터 세트에 대한 정보를 식별할 수 있다. 그리고, 서버는 식별된 필터 세트에 대한 정보를 부가하여 다운스케일링된 영상 데이터를 인코딩할 수 있다. 여기서 필터 세트에 대한 정보는 SEI 정보에 포함되며, 필터 세트의 인덱스 정보를 포함할 수 있다. 한편, 인코딩된 영상 데이터는 크기를 압축한 다운스케일링된 영상 데이터를 인코딩한 것으로, 원본 영상 데이터의 크기보다 작을 수 있다.
그리고, 서버는 인코딩된 영상 데이터를 외부 전자 장치로 전송할 수 있다(S640). 구체적으로, 서버는 필터 세트에 대한 정보가 첨부된 인코딩된 영상 데이터를 외부 전자 장치로 전송함으로써, 최적의 필터 세트를 이용하여 디코딩 및 업스케일링을 수행할 수 있게 한다. 이로 인해, 스트리밍 환경에서 고화질의 영상을 전송할 수 있게 된다.
도 7은 도 6에 개시된 서버의 영상 인코딩 동작을 보다 구체적으로 설명하기 위한 흐름도이다. 구체적으로, 도 7의 710 내지 740은 도 2에 도시된 AI 인코더(22)에 대응되는 동작일 수 있다. 다만 이하에서는 설명의 편의를 위하여 서버의 동작인 것으로 기재하기로 한다.
도 7을 참조하면, 서버는 영상 컨텐츠 소스(71)을 AI 다운스케일러(AI downscaler, 710)에 입력할 수 있다. 일 실시 예로, 영상 컨텐츠 소스(71)는 2M x 2N의 크기인 원본 영상 데이터일 수 있다. 그리고, AI 다운스케일러(710)는 복수의 컨벌루션 필터로 구성되고, 학습이 이미 완료된 것일 수 있다.
서버는 영상 컨텐츠 소스(71)를 AI 다운스케일러(710)에 통과시켜 다운스케일(downscale) 영상(72)을 획득할 수 있다. 여기서 다운스케일 영상(72)는 원본 대비 1/4 크기인 M x N의 크기일 수 있다. 여기서, 영상의 크기는 해상도에 대응될 수 있다. 다만, 1/4인 압축률은 일 실시 예에 불과하며, 학습에 의해 최적의 압축률이 획득될 수 있다.
그리고, 서버는 M x N의 크기의 1/4 다운스케일된 비디오 raw 영상 및 AI 플래그(73)를 표준 인코더(750)에 전달할 수 있다. 여기서 x N의 크기의 1/4 다운스케일된 비디오 raw 영상은 다운 스케일 영상(72)과 동일하다. 그리고 AI 플래그(flag)는 AI 다운스케일링 여부를 나타내는 것으로 AI 플래그가 1이면 AI 다운스케일링이 수행되었음을 나타내는 것이다.
그리고, 서버는 멀티 AI 필터 옵션이 사용 여부를 판단할 수 있다(720). 여기서, 멀티 AI 필터 옵션이 사용되지 않으면(720-N), 서버는 필터 인덱스가 없음(filter index=NULL)을 표준 인코더(850)에 전달할 수 있다.
한편, 멀티 AI 필터 옵션이 사용되면(720-Y), 서버는 다운스케일 영상을 저장된 복수의 AI 업스케일링 모델(AI up scaler)에 입력할 수 있다(730). 여기서, 복수의 AI 업스케일링 모델은 복수의 필터 세트가 각각 적용되어 획득된 것일 수 있다. 복수의 AI 업스케일링 모델은 복수의 컨벌루션 필터로 구성되고, 학습이 이미 완료된 것일 수 있다.
도 7에서는 설명의 편의를 위해 인덱스가 각각 0, 1, 2, 3인 필터 세트가 적용된 4개의 AI 업스케일링 모델을 이용하는 것으로 도시하였으나, 실제 구현시에는 AI 업스케일링 모델의 개수 및 인덱스 정보는 다를 수 있다. 이와 같은 멀티 AI 필터 기능을 통해 미리 복원을 해 봄으로써 보다 높은 압축률을 추구할 수 있다.
그리고, 서버는 원본 대비 손실(loss)가 가장 적은 필터 인덱스(filter index)를 선택할 수 있다(740). 그리고, 서버는 선택된 필터 인덱스 정보(74)를 표준 인코더(750)에 전달할 수 있다.
그리고, 서버는 표준 인코더(750)에 전달된 M x N의 크기의 1/4 다운스케일된 비디오 raw 영상 및 AI 플래그(73)와 필터 인덱스 정보(74)를 이용하여 인코딩을 수행할 수 있다. 구체적으로, 서버는 영상 데이터를 인코딩하여 비트스트림을 획득하고, 정보를 SEI 헤더에 첨부할 수 있다.
그리고, 서버는 인코딩 동작을 통해 획득된 비트스트림과 SEI 헤더에 첨부된 정보(75)를 전자 장치(100)에 전송할 수 있다.
도 8은 본 개시의 일 실시 예에 따른 필터 세트를 설명하기 위한 도면이다.
도 8을 참조하면, 복수의 필터 세트(filter set) 각각은 복수의 레이어를 포함할 수 있다. 이러한 복수의 필터 세트는 서버 및 전자 장치에 동일하게 저장될 수 있다.
예를 들어, 필터 세트 1(810)는 x 개의 레이어(811, 812, ..., 81x)를 포함할 수 있다. 여기서, 복수의 레이어 각각은 복수의 컨벌루션 필터를 포함할 수 있다. 여기서, 각 컨벌루션 필터는 width x height x channel(M x N x C)의 3차원 컨벌루션 필터일 수 있으며, 각 필터들 사이에는 활성함수(bias 1, 2, ..., x)가 포함될 수 있다.
한편, 도 8에서는 설명의 편의를 위하여 복수의 레이어의 필터가 모두 동일한 N x M x C인 것으로 도시되었으나, 실제 구현시에는 각 레이어마다 필터 사이즈(N x M), 채널(C)이 달라질 수 있다. 또한, 각 필터 세트마다 레이어의 개수(x) 또한 달라질 수 있다.
도 9는 본 개시의 일 실시 예에 따른, 인공 지능 모델을 학습하고 이용하기 위한 전자 장치의 구성을 나타내는 블록도이다.
도 9를 참조하면, 프로세서(900)는 학습부(910) 및 획득부(920) 중 적어도 하나를 포함할 수 있다. 도 9의 프로세서(900)는 도 3의 프로세서(120) 및 도 5의 프로세서(230)에 대응될 수 있다.
학습부(910)는 다운스케일링 필터 및 업스케일링 필터를 생성하기 위한 모델을 생성 또는 학습시킬 수 있다. 학습부(910)는 수집된 학습 데이터를 이용하여 영상 데이터의 다운스케일링 및 업스케일링 필터를 생성하기 위한 인공 지능 모델을 생성할 수 있다. 학습부(910)는 수집된 학습 데이터를 이용하여 영상 데이터의 다운스케일링 및 업스케일링 필터의 생성을 위한 기준을 갖는 학습된 모델을 생성할 수 있다. 이러한 학습부(910)는 인공 지능 모델의 트레이닝 셋(training set)에 대응될 수 있다.
일 예로, 학습부(910)는 원본 영상 데이터 및 원본 영상 데이터를 다운스케일링한 후 업스케일링한 영상 데이터를 입력 데이터로 사용하여 필터 생성을 예측하기 위한 모델을 생성, 학습 또는 갱신시킬 수 있다. 구체적으로, 학습부(910)는 모델의 목적에 따라, 목적이 화질 개선이라면, 원본 영상 데이터 및 원본 영상 데이터를 다운스케일링한 후 업스케일링한 영상 데이터를 원본 영상 데이터를 다운스케일링 또는 업스케일링하기 위한 필터를 생성하기 위한 모델을 생성, 학습 또는 갱신시킬 수 있다.
획득부(920)는 소정의 데이터를 학습된 모델의 입력 데이터로 사용하여, 다양한 정보를 획득할 수 있다.
일 예로, 획득부(920)는 이후 영상이 입력되면, 입력된 영상 및 학습된 필터를 이용하여 입력 영상에 대한 정보를 획득(또는, 인식, 추정, 추론)할 수 있다.
학습부(910)의 적어도 일부 및 획득부(920)의 적어도 일부는, 소프트웨어 모듈로 구현되거나 적어도 하나의 하드웨어 칩 형태로 제작되어 전자 장치에 탑재될 수 있다. 예를 들어, 학습부(910) 및 획득부(920) 중 적어도 하나는 인공 지능(AI; artificial intelligence)을 위한 전용 하드웨어 칩 형태로 제작될 수도 있고, 또는 기존의 범용 프로세서(예: CPU 또는 application processor) 또는 그래픽 전용 프로세서(예: GPU)의 일부로 제작되어 전술한 각종 전자 장치에 탑재될 수도 있다. 이때, 인공 지능을 위한 전용 하드웨어 칩은 확률 연산에 특화된 전용 프로세서로서, 기존의 범용 프로세서보다 병렬처리 성능이 높아 기계 학습과 같은 인공 지능 분야의 연산 작업을 빠르게 처리할 수 있다. 학습부(910) 및 획득부(920)가 소프트웨어 모듈(또는, 인스트럭션(instruction) 포함하는 프로그램 모듈)로 구현되는 경우, 소프트웨어 모듈은 컴퓨터로 읽을 수 있는 판독 가능한 비일시적 판독 가능 기록매체(non-transitory computer readable media)에 저장될 수 있다. 이 경우, 소프트웨어 모듈은 OS(Operating System)에 의해 제공되거나, 소정의 애플리케이션에 의해 제공될 수 있다. 또는, 소프트웨어 모듈 중 일부는 OS(Operating System)에 의해 제공되고, 나머지 일부는 소정의 애플리케이션에 의해 제공될 수 있다.
이 경우, 학습부(910) 및 획득부(920)는 서버와 같은 하나의 전자 장치에 탑재될 수도 있으며, 또는 별개의 전자 장치들에 각각 탑재될 수도 있다. 예를 들어, 학습부(910) 및 획득부(920) 중 하나는 TV와 같은 전자 장치에 포함되고, 나머지 하나는 외부의 서버에 포함될 수 있다. 또한, 학습부(910) 및 획득부(920)는 유선 또는 무선으로 통하여, 학습부(910)가 구축한 모델 정보를 획득부(920)로 제공할 수도 있고, 학습부(910)로 입력된 데이터가 추가 학습 데이터로서 학습부(910)로 제공될 수도 있다.
도 10은 본 개시의 일 실시 예에 따른, 학습부 및 획득부의 구체적인 구성을 나타내는 블록도이다.
도 10의 (a)를 참조하면, 일부 실시 예에 따른 학습부(910)는 학습 데이터 획득부(910-1) 및 모델 학습부(910-4)를 포함할 수 있다. 또한, 학습부(910)는 학습 데이터 전처리부(910-2), 학습 데이터 선택부(910-3) 및 모델 평가부(910-5) 중 적어도 하나를 선택적으로 더 포함할 수 있다.
학습 데이터 획득부(910-1)는 모델에 필요한 학습 데이터를 획득할 수 있다. 본 개시의 실시 예로, 학습 데이터 획득부(910-1)는 입력 영상에 대한 데이터 등을 학습 데이터로서 획득할 수 있다. 구체적으로, 학습 데이터 획득부(910-1)는 입력 영상인 원본 영상 데이터 및 원본 영상 데이터를 다운스케일링한 후 업스케일링한 영상 데이터 등을 학습 데이터로 획득할 수 있다.
모델 학습부(910-4)는 학습 데이터를 이용하여 획득된 영상 처리 결과와 실제 입력 영상에 대한 정보의 차이를 어떻게 보정할지에 관해 학습시킬 수 있다. 예로, 모델 학습부(910-4)는 학습 데이터 중 적어도 일부를 판단 기준으로 이용하는 지도 학습(supervised learning)을 통하여, 인공 지능 모델을 학습시킬 수 있다. 또는, 모델 학습부(910-4)는, 예를 들어, 별다른 지도 없이 학습 데이터를 이용하여 스스로 학습함으로써, 상황의 판단을 위한 판단 기준을 발견하는 비지도 학습(unsupervised learning)을 통하여, 인공 지능 모델을 학습시킬 수 있다. 또한, 모델 학습부(910-4)는, 예를 들어, 학습에 따른 상황 판단의 결과가 올바른 지에 대한 피드백을 이용하는 강화 학습(reinforcement learning)을 통하여, 인공 지능 모델을 학습시킬 수 있다. 또한, 모델 학습부(910-4)는, 예를 들어, 오류 역전파법(error back-propagation) 또는 경사 하강법(gradient descent)을 포함하는 학습 알고리즘 등을 이용하여 인공 지능 모델을 학습시킬 수 있다
인공 지능 모델이 학습되면, 모델 학습부(910-4)는 학습된 인공 지능 모델을 저장할 수 있다. 이 경우, 모델 학습부(910-4)는 학습된 인공 지능 모델을 서버(예를 들어, 인공 지능 서버)에 저장할 수 있다. 또는, 모델 학습부(910-4)는 학습된 인공 지능 모델을 서버와 유선 또는 무선 네트워크로 연결되는 전자 장치의 메모리에 저장할 수도 있다.
학습 데이터 전처리부(910-2)는 복수의 특징 맵에 적용될 필터의 생성을 위한 학습에 획득된 데이터가 이용될 수 있도록, 획득된 데이터를 전처리할 수 있다. 학습 데이터 전처리부(910-2)는 모델 학습부(910-4)가 특징 맵에 적용될 필터를 생성하기 위한 학습을 위하여 획득된 데이터를 이용할 수 있도록, 획득된 데이터를 기설정된 포맷으로 가공할 수 있다.
학습 데이터 선택부(910-3)는 학습 데이터 획득부(910-1)에서 획득된 데이터 또는 학습 데이터 전처리부(910-2)에서 전처리된 데이터 중에서 학습에 필요한 데이터를 선택할 수 있다. 선택된 학습 데이터는 모델 학습부(910-4)에 제공될 수 있다. 학습 데이터 선택부(910-3)는 기 설정된 선별 기준에 따라, 획득되거나 전처리된 데이터 중에서 학습에 필요한 학습 데이터를 선택할 수 있다. 또한, 학습 데이터 선택부(910-3)는 모델 학습부(910-4)에 의한 학습에 의해 기 설정된 선별 기준에 따라 학습 데이터를 선택할 수도 있다.
학습부(910)는 인공 지능 모델의 인식 결과를 향상시키기 위하여, 모델 평가부(910-5)를 더 포함할 수도 있다.
모델 평가부(910-5)는 인공 지능 모델에 평가 데이터를 입력하고, 평가 데이터로부터 출력되는 인식 결과가 소정 기준을 만족하지 못하는 경우, 모델 학습부(910-4)로 하여금 다시 학습하도록 할 수 있다. 이 경우, 평가 데이터는 인공 지능 모델을 평가하기 위한 기 정의된 데이터일 수 있다.
예를 들어, 모델 평가부(910-5)는 평가 데이터에 대한 학습된 인공 지능 모델의 인식 결과 중에서, 인식 결과가 정확하지 않은 평가 데이터의 개수 또는 비율이 미리 설정된 임계치를 초과하는 경우 소정 기준을 만족하지 못한 것으로 평가할 수 있다.
한편, 학습된 인공 지능 모델이 복수 개가 존재하는 경우, 모델 평가부(910-5)는 각각의 학습된 인공 지능 모델에 대하여 소정 기준을 만족하는지를 평가하고, 소정 기준을 만족하는 모델을 최종 인공 지능 모델로서 결정할 수 있다. 이 경우, 소정 기준을 만족하는 모델이 복수 개인 경우, 모델 평가부(910-5)는 평가 점수가 높은 순으로 미리 설정된 어느 하나 또는 소정 개수의 모델을 최종 인공 지능 모델로서 결정할 수 있다.
도 10의 (b)를 참조하면, 일부 실시 예에 따른 획득부(920)는 입력 데이터 획득부(920-1) 및 제공부(920-4)를 포함할 수 있다.
또한, 획득부(920)는 입력 데이터 전처리부(920-2), 입력 데이터 선택부(920-3) 및 모델 갱신부(920-5) 중 적어도 하나를 선택적으로 더 포함할 수 있다.
입력 데이터 획득부(920-1)는 입력된 원본 영상 데이터를 획득하고, 영상 처리의 목적에 따른 복수의 필터를 획득할 수 있다. 여기서 복수의 필터는 영상 데이터를 다운스케일링하기 위한 복수의 필터 및 다운스케일링된 영상 데이터를 업스케일링하기 위한 복수의 필터일 수 있다. 제공부(920-4)는 입력 데이터 획득부(920-1)에서 획득된 입력 데이터를 입력 값으로 학습된 인공 지능 모델에 적용하여 입력 영상을 처리한 결과를 획득할 수 있다. 제공부(920-4)는 후술할 입력 데이터 전처리부(920-2) 또는 입력 데이터 선택부(920-3)에 의해 선택된 데이터를 입력 값으로 인공 지능 모델에 적용하여 입력 영상을 처리한 결과를 획득할 수 있다.
일 실시 예로, 제공부(920-4)는 입력 데이터 획득부(920-1)에서 획득한 입력된 원본 영상 데이터, 원본 영상 데이터를 다운스케일링하기 위한 필터 및 다운스케일링된 영상 데이터를 업스케일링하기 위한 필터를 학습된 모델에 적용하여 입력 영상을 처리한 결과를 획득(또는, 추정)할 수 있다.
획득부(920)는 인공 지능 모델의 인식 결과를 향상시키거나, 인식 결과의 제공을 위한 자원 또는 시간을 절약하기 위하여, 입력 데이터 전처리부(920-2) 및 입력 데이터 선택부(920-3)를 더 포함할 수도 있다.
입력 데이터 전처리부(920-2)는 제1 및 제2 모델에 입력되기 위해 획득된 데이터가 이용될 수 있도록, 획득된 데이터를 전처리할 수 있다. 입력 데이터 전처리부(920-2)는 제공부(920-4)가 최적의 압축률을 획득하기 위해 획득된 데이터를 이용할 수 있도록, 획득된 데이터를 기 정의된 포맷으로 가공할 수 있다.
입력 데이터 선택부(920-3)는 입력 데이터 획득부(920-1)에서 획득된 데이터 또는 입력 데이터 전처리부(920-2)에서 전처리된 데이터 중에서 상황 판단에 필요한 데이터를 선택할 수 있다. 선택된 데이터는 제공부(920-4)에게 제공될 수 있다. 입력 데이터 선택부(920-3)는 상황 판단을 위한 기 설정된 선별 기준에 따라, 획득되거나 전처리된 데이터 중에서 일부 또는 전부를 선택할 수 있다. 또한, 입력 데이터 선택부(920-3)는 모델 학습부(910-4)에 의한 학습에 의해 기 설정된 선별 기준에 따라 데이터를 선택할 수도 있다.
모델 갱신부(920-5)는 제공부(920-4)에 의해 제공되는 인식 결과에 대한 평가에 기초하여, 인공 지능 모델이 갱신되도록 제어할 수 있다. 예를 들어, 모델 갱신부(920-5)는 제공부(920-4)에 의해 제공되는 영상 처리 결과를 모델 학습부(910-4)에게 제공함으로써, 모델 학습부(910-4)가 인공 지능 모델을 추가 학습 또는 갱신하도록 요청할 수 있다.
도 11은 본 개시의 일 실시 예에 따른 필터 세트의 학습 방법을 설명하기 위한 도면이다.
일 실시 예로, CNN 기반의 모델은 일반적으로 width x height x channel의 3차원 컨벌루션 필터들과 활성함수의 레이어로 구성될 수 있다.
컨벌루션 필터의 파라미터는 학습의 대상이 되며 트레이닝을 통해서 목적에 맞는 최적의 파라미터를 갖게 된다. 본 개시의 인공지능 다운스케일링 모델 및 인공지능 업스케일링 모델의 목적은 원본 영상 데이터를 다운스케일링 및 업스케일링을 수행한 영상데이터가 원본 영상 데이터와 가장 유사하도록 최적의 압축률을 제공하는 것이다.
이러한 학습은 주로 서버 또는 전자 장치에서 수행될 수 있으며, 이하에서는 설명의 편의를 위하여 서버에서 학습이 수행되는 것으로 설명하기로 한다.
도 11을 참조하면, 본 개시에 따른 학습 방법에 따르면, 서버는 우선 원본 영상 데이터(1110)를 x 개의 컨벌루션 필터(1120)를 이용하여 다운스케일링하여 압축 영상 데이터(1130)를 획득할 수 있다. 도 11에서는 2M x 2N의 원본 영상 데이터를 M x N의 압축 영상 데이터로 다운스케일링하는 것으로 도시되었으나, 실제 구현시에는 이에 한정되지 않는다.
그리고, 서버는 획득된 압축 영상 데이터(1130)를 y 개의 컨벌루션 필터(1140)를 이용하여 업스케일링하여 복원 영상 데이터(1150)를 획득할 수 있다. 이때, y는 x보다 작을 수 있다.
그리고, 서버는 복원 영상 데이터(1150)와 원본 영상 데이터(1110)를 비교하여 손실이 감소되도록 각 필터(1120, 1140)의 파라미터를 트레이닝할 수 있다. 이때, 서버는 유사도 분석 방법(PSNR, SSIM등)을 이용하여 손실을 구할 수 있다.
한편, 트레이닝이 끝난 파라미터가 적용되는 인공지능 다운스케일링 모델 및 인공지능 업스케일링 모델은 최적의 스케일링 동작으로 영상 데이터를 압축 및 복원할 수 있다.
도 12는 본 개시의 일 실시 예에 따른 스트리밍 데이터의 구조를 설명하기 위한 도면이다. 구체적으로, 도 12의 동작은 도 2의 인코딩 동작(24)에서 필터 세트에 대한 정보를 저장하는 실시 예를 보다 구체적으로 도시한 것이다.
도 12를 참조하면, 표준 인코더(1202)에 1/4로 다운스케일링된 비디오 raw 데이터, AI 플래그 및 필터 인덱스 정보(1201)가 입력될 수 있다. 서버는 입력된 1/4로 다운스케일링된 비디오 raw 데이터를 인코딩하여 비디오 스트림(1204)을 획득할 수 있다. 여기서 비디오 스트림은 비디오 비트 스트림을 지칭하는 것이다.
그리고, 서버는 입력된 AI 플래그 및 필터 인덱스 정보(1203)를 비디오 스트림(1204)에 첨부된 SEI 정보(1205)에 포함할 수 있다. 그리고, 서버는 비디오 스트림(1204)을 N개의 비디오 청크(1206)으로 나누고, SEI 정보(1205)를 복사하여 N 개의 SEI 정보(1207)로 복사할 수 있다.
그리고, 서버는 나눠진 각 비디오 청크에 복사한 SEI 정보를 각각 부가할 수 있으며, SEI 정보가 개별적으로 부가된 복수의 비디오 청크(1208)를 스트리밍 저장소(1209)에 저장할 수 있다.
그리고, 도시되지는 않았지만, 저장된 복수의 비디오 청크(1208)를 전자 장치에 전송할 수 있다.
도 13은 본 개시의 일 실시 예에 따른 필터 세트의 학습 방법을 설명하기 위한 도면이다.
도 13을 참조하면, 복수의 필터 세트가 각각 다른 장르의 영상 데이터로 학습될 수 있다. 구체적으로, 첫번째 필터 세트(filter 1)는 학습을 위한 학습 데이터 세트의 모든 영상(글로벌 데이터 세트)으로 학습될 수 있다.
그리고 각각의 필터 세트를 학습 데이터 세트의 영화, 스포츠, 뮤직 비디오, 다큐멘터리, 뉴스와 같이 하나의 장르의 영상 데이터로만 학습시킬 수 있다.
이와 같이 영상 데이터의 장르에 기초하여 필터 세트 각각의 학습이 완료된 경우, 입력된 원본 영상 데이터의 장르에 기초하여 필터 세트가 선택될 수 있다.
다만, 이에 한정되지 않으며, 입력된 원본 영상 데이터의 장르에 무관하게 복수의 필터 세트를 모두 적용해본 뒤 가장 최적의 필터 세트를 선택할 수도 있다.
한편, 도 13에서는 영상 데이터의 장르에 기초하여 분류된 학습 데이터 세트를 이용하여 각 필터 세트를 학습하였으나, 이에 한정되지 않으며, 다양한 기준에 따라 학습 데이터 세트를 분류할 수 있다.
도 14는 본 개시의 일 실시 예에 따른 전자 장치의 영상 디코딩 동작을 설명하기 위한 흐름도이다.
도 14를 참조하면, 우선 전자 장치는 영상 데이터 및 영상 데이터를 업스케일링하기 위한 인공지능 모델에 적용되는 필터 세트에 대한 정보를 수신한다(S1410). 구체적으로, 필터 세트에 대한 정보는 영상 데이터에 첨부된 것일 수 있다. 이때, 전자 장치는 외부 서버로부터 영상 데이터 및 필터 세트에 대한 정보를 수신할 수 있다.
그리고, 전자 장치는 수신된 영상 데이터를 디코딩할 수 있다(S1420). 구체적으로, 수신된 영상 데이터는 서버에 의해 인코딩된 영상 데이터이며, 인코딩된 영상 데이터는 원본 영상 데이터를 다운스케일링한 영상 데이터를 인코딩한 것일 수 있다.
그리고, 전자 장치는 필터 세트에 대한 정보에 기초하여 획득된 제 1 인공지능 모델에, 디코딩된 영상 데이터를 입력하여 디코딩된 영상 데이터를 업스케일링할 수 있다(S1430). 구체적으로, 전자 장치에는 복수의 필터 세트가 기저장되어 있을 수 있다. 그리고, 전자 장치는 복수의 필터 세트 중 수신된 정보에 대응되는 필터 세트를 이용하여 영상 데이터를 업스케일링하기 위한 제1 인공지능 모델을 획득할 수 있다. 그리고, 전자 장치는 획득된 제1 인공지능 모델을 이용하여 디코딩된 영상 데이터를 업스케일링할 수 있다.
한편, 전자 장치에 복수의 필터 세트가 저장되지 않은 경우, 전자 장치는 수신된 필터 세트에 대한 정보를 제2 외부 서버에 전송할 수 있다. 여기서 제2 외부 서버는 복수의 필터 세트에 대한 파라미터 정보가 저장된 것일 수 있으며, 전자 장치에 영상 데이터를 전송한 외부 서버와 같을 수도 있고 다를 수도 있다.
그리고, 전자 장치는 전송된 정보에 대응되는 필터 세트의 파라미터 정보를 제2 외부 서버로부터 수신하면, 수신된 파라미터 정보를 적용하여 제1 인공지능 모델을 획득할 수 있다.
그리고, 전자 장치는 업스케일링된 영상 데이터를 출력할 수 있다(S1440). 구체적으로, 전자 장치가 디스플레이를 구비한 디스플레이 장치라면, 전자 장치는 업스케일링된 영상 데이터를 디스플레이하도록 디스플레이를 제어할 수 있다. 한편, 전자 장치가 디스플레이를 구비하지 않은 장치라면, 외부 디스플레이 장치에서 디스플레이 되도록 외부 디스플레이 장치에 업스케일링된 영상 데이터를 전송할 수 있다.
상술한 바와 같이, 본원의 전자 장치는 외부 서버로부터 인코딩된 영상 데이터 및 최적의 필터 세트에 대한 정보를 수신함으로써, 영상 데이터의 최적의 복원에 소모되는 시간 및 리소스가 감소된다. 이로 인해, 영상의 고압축률을 구현할 수 있으며, 고화질 영상을 보다 작은 크기의 영상 데이터로 압축하여 송수신할 수 있다.
도 15 및 도 16는 도 14에 개시된 전자 장치의 영상 디코딩 동작을 보다 구체적으로 설명하기 위한 도면이다.
구체적으로, 도 15는 인공지능 디코딩 동작을 구현하기 위한 장치의 구성을 설명하고 있다. 도 15의 1501은 도 2의 26에 대응되며, 도 15의 1503, 1504, 1505, 1507의 동작은 도 2의 28에 대응될 수 있다.
도 15를 참조하면, 우선, 전자 장치는 표준 디코더(1501)를 이용하여 인코딩된 영상을 디코딩하여 압축된 raw data, AI 플래그 및 필터 인덱스 정보(1502)를 획득할 수 있다. 그리고, 전자 장치는 획득된 raw data 및 정보를 AI 정보 컨트롤러(1503)에 전달하여 AI 인코딩이 수행되었는지 여부와 인덱스 정보가 있는지 판단할 수 있다.
만약 AI 플래그가 없으면(AI Flag==NULL), AI 인코딩이 수행되지 않은 것으로, 업스케일링 과정 없이 N x M 의 raw data를 표시하도록 디스플레이(1509)로 전달할 수 있다.
한편, AI 플래그가 1이면(AI Flag==1), AI 정보 컨트롤러(1503)는 N x M 의 raw data(1510)를 인공지능(AI) 업스케일링 모델(1507)에 전달할 수 있다.
그리고, 인덱스 정보가 없지 않으면(Index info !==NULL), AI 인코딩 및 멀티 AI 필터 옵션이 사용된 것이므로, AI 정보 컨트롤러(1503)는 인덱스 정보를 인덱스 컨트롤러(1504)로 전달할 수 있다. 인덱스 정보를 전달받은 인덱스 컨트롤러(1504)는 메모리(1505)에 인덱스 정보와 매칭되는 필터의 파라미터를 인공지능 업스케일링 모델(1507)에 로드할 것을 요청(1511)할 수 있다. 인덱스 정보와 매칭되는 파라미터의 로드(1506)가 완료되면, 인공지능 업스케일링 모듈(1507)은 로딩된 인덱스 정보와 매칭되는 파라미터를 이용하여 전달받은 N x M 의 raw data(1510)를 업스케일링하여 2N x 2M 의 raw data(1508)을 획득할 수 있다.
한편, 인덱스 정보가 없으면(Index info==NULL), 인공지능 업스케일링 모델(1507)은 디폴트 업스케일 파라미터를 이용하여 N x M 의 raw data(1510)를 업스케일링하여 2N x 2M 의 raw data(1508)을 획득할 수 있다.
그리고, 전자 장치는 획득된 2N x 2M 의 raw data(1508)를 디스플레이하도록 디스플레이(1509)에 전달할 수 있다.
한편, 도 15에서는 설명의 편의를 위하여 표준 디코더(1501), AI 정보 컨트롤러(1503), 인덱스 컨트롤러(1504), 인공지능 업스케일링 모델(1507)이 각각 개별적인 장치인 것으로 도시되었으나, 실제 구현시에는 각 장치의 동작이 하나 이상의 프로세서에 의해 수행될 수도 있다.
한편, 도 16은 인공지능 디코딩 동작을 보다 자세히 설명하고 있다. 구체적으로 도 16의 S1601은 도 2의 26에 대응되며, 도 16의 S1620 내지 S1640 동작은 도 2의 28에 대응될 수 있다.
도 16을 참조하면, 전자 장치는 서버(200)로부터 비트스트림 및 SEI 헤더에 첨부된 필터 인덱스와 AI 플래그(1601)를 수신할 수 있다. 그리고, 전자 장치는 표준 디코더(S1610)에 입력된 수신된 비트스트림 및 SEI 헤더에 첨부된 필터 인덱스와 AI 플래그(1601)를 디코딩하여 N x M 비디오 raw 데이터와 SEI 정보(1602)를 획득할 수 있다.
그 다음, 전자 장치는 SEI 정보에 저장된 AI 플래그가 1(AI Flag==1)인지 판단할 수 있다(S1620). 여기서, AI 플래그가 1이 아니면(S1620-N), 전자 장치는 N x M 비디오 raw 데이터를 그대로 디스플레이할 수 있다(S1650).
한편, AI 플래그가 1이면(S1620-Y), 전자 장치는 필터 인덱스가 NULL이 아닌지(filter index!==NULL) 판단할 수 있다(S1630). 여기서, 필터 인덱스가 NULL이 아니면(S1630-Y), AI 인코더 단에서 멀티 AI 필터 옵션이 사용된 것으로, 전자 장치는 필터 인덱스 정보에 맞는 필터 세트를 선택할 수 있다. 그리고, 전자 장치는 선택된 필터 세트를 적용하여 획득된 인공지능 업스케일링 모듈을 이용하여 N x M 비디오 raw 데이터를 업스케일링할 수 있다(S1640). 그리고, 전자 장치는 최적의 손실(loss)로 업스케일링된 2N x 2M 비디오 raw 데이터를 디스플레이할 수 있다(S1650).
도 16에서는 설명의 편의를 위하여 인덱스가 0, 1, 2, 3인 네개의 필터 세트가 전자 장치에 기저장된 것으로 도시되었으나, 인덱스 정보 및 필터 세트의 개수는 이에 한정되지 않는다.
한편, 필터 인덱스가 NULL 이면(S1630-N), AI 인코더 단에서 멀티 AI 필터 옵션이 사용되지 않은 것으로, 전자 장치는 필터 세트 0을 적용한 인공지능 업스케일링을 수행할 수 있다(S1660). 여기서, 필터 세트 0은 디폴트 필터 세트일 수 있다. 그리고, 전자 장치는 업스케일링된 2N x 2M 비디오 raw 데이터를 디스플레이할 수 있다(S1650).
상술한 바와 같이, 본원의 전자 장치는 외부 서버로부터 인코딩된 영상 데이터 및 최적의 필터 세트에 대한 정보를 수신함으로써, 영상 데이터의 최적의 복원에 소모되는 시간 및 리소스가 감소된다. 이로 인해, 영상의 고압축률을 구현할 수 있으며, 고화질 영상을 보다 작은 크기의 영상 데이터로 압축하여 송수신할 수 있다.
도 17은 본 개시의 일 실시 예에 따른 전자 장치의 영상 업스케일링 동작을 설명하기 위한 도면이다. 우선 전자 장치는 서버로부터 입력 영상 데이터(1705) 및 필터 인덱스 정보(1701)를 수신한 상태일 수 있다.
전자 장치는 메모리(1702)에 저장된 복수의 필터 세트 중에서 필터 인덱스 정보(1701)에 매칭되는 필터 세트를 선택할 수 있다(1703). 이때, 메모리(1702)에 저장된 복수의 필터 세트는 서로 다른 학습 데이터를 통해 학습된 필터들의 묶음일 수 있다. 여기서 각 필터 세트는 CNN 모델에 적용되는 필터 세트일 수 있다. 그리고, 각 필터 세트는 복수의 레이어 및 바이어스(bias)(1704)에 적용되는 복수의 파라미터를 포함할 수 있다. 여기서, 복수의 레이어 각각은 복수의 필터를 포함할 수 있다.
그리고, 전자 장치는 선택된 필터 세트의 파라미터를 각각 대입하여 업스케일링 모델을 획득할 수 있다. 도 17에서는 y개의 컨벌루션 필터(1706)를 포함하는 업스케일링 모델이 획득되었으며, 컨벌루션 필터의 개수는 선택된 필터 세트에 따라 다를 수 있다. 그리고, 전자 장치는 획득된 업스케일링 모델에 입력 영상 데이터(1705)를 입력하여 복원된 출력 영상(1707)을 획득할 수 있다. 복원된 출력 영상(1707)은 입력 영상 데이터(1705)를 업스케일링한 것일 수 있다.
본 개시와 같이 복수의 필터 세트를 구비하는 이유는 다음과 같다.
첫째, CNN 모델이 블랙박스적 특성이 있기 때문이다. 블랙박스 특성 때문에 학습 과정에서 학습되는 내부를 살펴보기 어렵다. 따라서 영상의 장르와 같은 영상 성분에 특화, 최적화된 필터 세트를 얻기 위해서는 학습 데이터 세트의 입력을 달리하여야 한다. 특정한 영상 성분의 입력 데이터로 구해진, 특화된 필터 세트는 전체 데이터 세트로 학습된 필터 세트에 비해 평균적으로 손실이 크고 업스케일링 성능이 떨어질 수는 있으나, 특정 영상에서는 최적의 결과가 도출될 수 있다.
두번째 이유는 디코더 단의 실시간성 때문에 디코더 단의 업스케일링 모델의 필터 레이어를 깊게 구성하는데 제약이 있기 때문이다. 컨벌루션 연산은 많은 컴퓨팅/하드웨어 파워를 요구하기 때문에 너무 깊은 CNN 모델은 실시간성을 저해할 수 있다. 이에 다양하게 학습된 여러 업스케일링 필터 세트를 구비하여 인코더 단에서 모두 적용해보면 결과적으로 레이어의 폭이 넓어지므로 업스케일링 성능이 개선될 수 있다.
마지막으로 멀티 필터링은 저장된 복수의 필터 세트 내에서 언제나 최적의 압축률을 보장할 수 있다. 영상 스트리밍 인코딩의 비실시간성을 이용하여 별도의 영상 분석 없이 복수의 필터 세트를 모두 이용하여 업스케일링을 수행해보고 최적의 필터 세트를 선택하므로 최적의 결과를 보장할 수 있게 된다.
이상에 기재한 다양한 실시 예에 따라, 서버에 의한 인코딩 과정에서 미리 복수의 업스케일링 과정을 통해 최적의 업스케일링 필터 세트를 식별함으로써, 전자 장치에서의 복원 과정의 부담을 줄일 수 있다. 이로 인해 영상 스트리밍 환경에서 고압축률을 확보할 수 있으며, 이에 따라 고화질 영상을 전송할 수 있게 된다.
한편, 이상에서 설명된 다양한 실시 예들은 소프트웨어(software), 하드웨어(hardware) 또는 이들의 조합된 것을 이용하여 컴퓨터(computer) 또는 이와 유사한 장치로 읽을 수 있는 기록 매체 내에서 구현될 수 있다. 하드웨어적인 구현에 의하면, 본 개시에서 설명되는 실시 예들은 ASICs(Application Specific Integrated Circuits), DSPs(digital signal processors), DSPDs(digital signal processing devices), PLDs(programmable logic devices), FPGAs(field programmable gate arrays), 프로세서(processors), 제어기(controllers), 마이크로 컨트롤러(micro-controllers), 마이크로 프로세서(microprocessors), 기타 기능 수행을 위한 전기적인 유닛(unit) 중 적어도 하나를 이용하여 구현될 수 있다. 일부의 경우에 본 명세서에서 설명되는 실시 예들이 프로세서 자체로 구현될 수 있다. 소프트웨어적인 구현에 의하면, 본 명세서에서 설명되는 절차 및 기능과 같은 실시 예들은 별도의 소프트웨어 모듈들로 구현될 수 있다. 상기 소프트웨어 모듈들 각각은 본 명세서에서 설명되는 하나 이상의 기능 및 작동을 수행할 수 있다.
한편, 상술한 본 개시의 다양한 실시 예들에 따른 방법은 비일시적 판독 가능 매체(non-transitory readable medium) 에 저장될 수 있다. 이러한 비일시적 판독 가능 매체는 다양한 장치에 탑재되어 사용될 수 있다.
비일시적 판독 가능 매체란 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 구체적으로는, 상술한 다양한 방법을 수행하기 위한 프로그램들은 CD, DVD, 하드 디스크, 블루레이 디스크, USB, 메모리카드, ROM 등과 같은 비일시적 판독 가능 매체에 저장되어 제공될 수 있다.
일 실시 예에 따르면, 본 문서에 개시된 다양한 실시 예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 온라인으로 배포될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
또한, 이상에서는 본 개시의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 개시는 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 개시의 요지를 벗어남이 없이 당해 개시가 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 개시의 기술적 사상이나 전망으로부터 개별적으로 이해되어서는 안될 것이다.
1000 : 영상 스트리밍 시스템 100 : 전자 장치
110 : 통신부 120 : 프로세서
200 : 서버 210 : 통신부
220 : 메모리 230 : 프로세서

Claims (17)

  1. 전자 장치의 제어 방법에 있어서,
    영상 데이터 및 상기 영상 데이터를 업스케일링 하기 위한 인공지능 모델에 적용되는 복수의 파라미터에 대한 정보를 외부 서버로부터 수신하는 단계;
    상기 영상 데이터를 디코딩하는 단계;
    상기 복수의 파라미터에 대한 정보에 기초하여 획득된 제1 인공지능 모델에 상기 디코딩된 영상 데이터를 입력하여 상기 디코딩된 영상 데이터를 업스케일링하는 단계; 및
    상기 업스케일링된 영상 데이터를 출력하는 단계;를 포함하는 방법.
  2. 제1항에 있어서,
    상기 복수의 파라미터에 대한 정보는,
    상기 복수의 파라미터를 포함하는 필터 세트의 인덱스 정보를 포함하고,
    상기 업스케일링하는 단계는,
    상기 인덱스 정보에 기초하여 상기 전자 장치에 저장된 복수의 학습된 필터 세트 중 하나의 필터 세트에 포함된 복수의 파라미터가 적용된 상기 제1 인공지능 모델을 획득하는 단계; 및
    상기 획득된 제1 인공지능 모델에 상기 디코딩된 영상 데이터를 입력하여 상기 디코딩된 영상 데이터를 업스케일링하는 단계;를 포함하는 방법.
  3. 제1항에 있어서,
    상기 영상 데이터는,
    원본 영상 데이터를 다운스케일링하기 위한 제2 인공지능 모델에 상기 영상 데이터에 대응되는 원본 영상 데이터를 입력하여 획득된 다운스케일링된 영상 데이터를 인코딩하여 획득된 것인 방법.
  4. 제3항에 있어서,
    상기 제1 인공지능 모델의 필터의 개수는, 상기 제2 인공지능 모델의 필터의 개수보다 적은 방법.
  5. 제3항에 있어서,
    상기 복수의 파라미터에 대한 정보는,
    상기 제1 인공지능 모델에 의해 획득된 업스케일링된 영상 데이터와 상기 원본 영상 데이터의 차이가 최소가 되도록 상기 외부 서버에 의해 획득된 정보인 방법.
  6. 제1항에 있어서,
    상기 제1 인공지능 모델은,
    CNN(Convolution Neural Network)인 방법.
  7. 제1항에 있어서,
    상기 출력하는 단계는,
    상기 업스케일링된 영상 데이터를 디스플레이하는 것인 방법.
  8. 서버의 제어 방법에 있어서,
    영상 데이터를 다운스케일링하기 위한 인공지능 다운스케일링 모델에 원본 영상 데이터를 입력하여 다운스케일링된 영상 데이터를 획득하는 단계;
    상기 다운스케일링된 영상 데이터를 업스케일링하기 위해 학습된 복수의 파라미터를 포함하는 복수의 필터 세트가 각각 적용된 복수의 인공지능 업스케일링 모델에 상기 다운스케일링된 영상 데이터를 각각 입력하여, 복수의 업스케일링된 영상 데이터를 획득하는 단계;
    상기 복수의 업스케일링된 영상 데이터 중 상기 원본 영상 데이터와 차이가 최소인 영상 데이터를 출력한 인공지능 업스케일링 모델의 복수의 파라미터에 대한 정보를 부가하여 상기 다운스케일링된 영상 데이터를 인코딩하는 단계; 및
    상기 인코딩된 영상 데이터를 외부 전자 장치로 전송하는 단계;를 포함하는 방법.
  9. 제8항에 있어서,
    상기 복수의 업스케일링된 영상 데이터 및 상기 원본 영상 데이터의 차이가 감소하도록 상기 복수의 파라미터를 학습하는 단계;를 더 포함하는 방법.
  10. 제8항에 있어서,
    상기 인공지능 업스케일링 모델의 필터의 개수는, 상기 인공지능 다운스케일링 모델의 필터의 개수보다 적은 방법.
  11. 전자 장치에 있어서,
    통신부; 및
    상기 통신부를 통해 외부 서버로부터 영상 데이터 및 상기 영상 데이터를 업스케일링하기 위한 인공지능 모델에 적용되는 복수의 파라미터에 대한 정보를 수신하고, 상기 수신된 영상 데이터를 디코딩하고, 상기 복수의 파라미터에 대한 정보에 기초하여 획득된 제1 인공지능 모델에 상기 디코딩된 영상 데이터를 입력하여 상기 디코딩된 영상 데이터를 업스케일링하고, 상기 업스케일링된 영상 데이터를 출력하는 프로세서;를 포함하는 전자 장치.
  12. 제11항에 있어서,
    메모리;를 더 포함하고,
    상기 복수의 파라미터에 대한 정보는,
    상기 복수의 파라미터를 포함하는 필터 세트의 인덱스 정보를 포함하고,
    상기 프로세서는,
    상기 인덱스 정보에 기초하여 상기 메모리에 저장된 복수의 필터 세트 중 하나의 필터 세트에 포함된 복수의 파라미터가 적용된 상기 제1 인공지능 모델을 획득하고,
    상기 획득된 제1 인공지능 모델에 상기 디코딩된 영상 데이터를 입력하여 상기 디코딩된 영상 데이터를 업스케일링하는 전자 장치.
  13. 제11항에 있어서,
    상기 영상 데이터는,
    원본 영상 데이터를 다운스케일링하기 위한 제2 인공지능 모델에 상기 영상 데이터에 대응되는 원본 영상 데이터를 입력하여 획득된 다운스케일링된 영상 데이터를 인코딩하여 획득된 것인 전자 장치.
  14. 제13항에 있어서,
    상기 제1 인공지능 모델의 필터의 개수는, 상기 제2 인공지능 모델의 필터의 개수보다 적은 전자 장치.
  15. 제13항에 있어서,
    상기 복수의 파라미터에 대한 정보는,
    상기 제1 인공지능 모델에 의해 획득된 업스케일링된 영상 데이터와 상기 원본 영상 데이터의 차이가 최소가 되도록 상기 외부 서버에 의해 획득된 정보인 전자 장치.
  16. 제11항에 있어서,
    상기 제1 인공지능 모델은,
    CNN(Convolution Neural Network)인 전자 장치.
  17. 제11항에 있어서,
    디스플레이;를 더 포함하고,
    상기 프로세서는,
    상기 업스케일링된 영상 데이터를 디스플레이하도록 상기 디스플레이를 제어하는 전자 장치.
KR1020180093511A 2018-08-10 2018-08-10 전자 장치, 이의 제어 방법 및 서버의 제어 방법 KR102022648B1 (ko)

Priority Applications (8)

Application Number Priority Date Filing Date Title
KR1020180093511A KR102022648B1 (ko) 2018-08-10 2018-08-10 전자 장치, 이의 제어 방법 및 서버의 제어 방법
US16/535,784 US11388465B2 (en) 2018-08-10 2019-08-08 Electronic apparatus and method for upscaling a down-scaled image by selecting an improved filter set for an artificial intelligence model
TW108128335A TWI821358B (zh) 2018-08-10 2019-08-08 電子裝置、控制其的方法以及控制伺服器的方法
CN201910738429.3A CN110830849A (zh) 2018-08-10 2019-08-09 电子装置、控制电子装置的方法和用于控制服务器的方法
PCT/KR2019/010034 WO2020032661A1 (en) 2018-08-10 2019-08-09 Electronic apparatus, method for controlling thereof, and method for controlling a server
EP19762283.0A EP3635964A1 (en) 2018-08-10 2019-08-09 Electronic apparatus, method for controlling thereof, and method for controlling a server
US17/496,507 US11825033B2 (en) 2018-08-10 2021-10-07 Apparatus and method with artificial intelligence for scaling image data
US18/485,572 US20240040179A1 (en) 2018-08-10 2023-10-12 Apparatus and method with artificial intelligence for scaling image data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180093511A KR102022648B1 (ko) 2018-08-10 2018-08-10 전자 장치, 이의 제어 방법 및 서버의 제어 방법

Publications (1)

Publication Number Publication Date
KR102022648B1 true KR102022648B1 (ko) 2019-09-19

Family

ID=68067739

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180093511A KR102022648B1 (ko) 2018-08-10 2018-08-10 전자 장치, 이의 제어 방법 및 서버의 제어 방법

Country Status (6)

Country Link
US (3) US11388465B2 (ko)
EP (1) EP3635964A1 (ko)
KR (1) KR102022648B1 (ko)
CN (1) CN110830849A (ko)
TW (1) TWI821358B (ko)
WO (1) WO2020032661A1 (ko)

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102166337B1 (ko) * 2019-09-17 2020-10-15 삼성전자주식회사 영상의 ai 부호화 방법 및 장치, 영상의 ai 복호화 방법 및 장치
US10937197B2 (en) 2018-10-19 2021-03-02 Samsung Electronics Co., Ltd. Methods and apparatuses for performing artificial intelligence encoding and artificial intelligence decoding on image
US10950009B2 (en) 2018-10-19 2021-03-16 Samsung Electronics Co., Ltd. AI encoding apparatus and operation method of the same, and AI decoding apparatus and operation method of the same
KR102245682B1 (ko) * 2019-11-11 2021-04-27 연세대학교 산학협력단 영상 압축 장치, 이의 학습 장치 및 방법
WO2021086032A1 (en) 2019-10-29 2021-05-06 Samsung Electronics Co., Ltd. Image encoding method and apparatus and image decoding method and apparatus
WO2021096063A1 (ko) * 2019-11-11 2021-05-20 삼성전자 주식회사 스트리밍 데이터를 제공하는 전자 장치 및 그 작동 방법
CN112887739A (zh) * 2019-11-29 2021-06-01 三星电子株式会社 电子设备、系统及其控制方法
CN112887728A (zh) * 2019-11-29 2021-06-01 三星电子株式会社 电子装置、电子装置的控制方法以及系统
WO2021086016A3 (en) * 2019-10-28 2021-07-01 Samsung Electronics Co., Ltd. Apparatus and method for performing artificial intelligence (ai) encoding and ai decoding on image
WO2021149997A1 (en) * 2020-01-20 2021-07-29 Samsung Electronics Co., Ltd. Display apparatus and operating method thereof
KR102287942B1 (ko) * 2020-02-24 2021-08-09 삼성전자주식회사 전처리를 이용한 영상의 ai 부호화 및 ai 복호화 방법, 및 장치
KR20210115710A (ko) * 2020-03-16 2021-09-27 주식회사 카이 영상 처리 방법, 영상 재생 방법 및 그 장치들
US11190782B2 (en) 2018-10-19 2021-11-30 Samsung Electronics Co., Ltd. Methods and apparatuses for performing encoding and decoding on image
US11190784B2 (en) 2017-07-06 2021-11-30 Samsung Electronics Co., Ltd. Method for encoding/decoding image and device therefor
KR20220027436A (ko) * 2020-08-27 2022-03-08 한국전자기술연구원 송신, 수신 장치 및 방법
US11288770B2 (en) 2018-10-19 2022-03-29 Samsung Electronics Co., Ltd. Apparatuses and methods for performing artificial intelligence encoding and artificial intelligence decoding on image
KR20220077872A (ko) * 2020-12-02 2022-06-09 주식회사 텔레칩스 다양한 영상 모드를 지원하는 이미지 스케일링 시스템 및 그 방법
US11455706B2 (en) 2020-09-15 2022-09-27 Samsung Electronics Co., Ltd. Electronic apparatus, control method thereof and electronic system
WO2024085381A1 (ko) * 2022-10-21 2024-04-25 삼성전자주식회사 이미지에서 관심 영역을 식별하기 위한 전자 장치 및 그 제어 방법

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10789675B2 (en) * 2018-12-28 2020-09-29 Intel Corporation Apparatus and method for correcting image regions following upsampling or frame interpolation
US11265580B2 (en) * 2019-03-22 2022-03-01 Tencent America LLC Supplemental enhancement information messages for neural network based video post processing
CN110889411B (zh) * 2019-09-27 2023-12-08 武汉创想外码科技有限公司 基于ai芯片的通用图像识别模型
US11595847B2 (en) * 2019-12-19 2023-02-28 Qualcomm Incorporated Configuration of artificial intelligence (AI) modules and compression ratios for user-equipment (UE) feedback
KR20210103867A (ko) 2020-02-14 2021-08-24 삼성전자주식회사 Vr 영상을 스트리밍하는 방법 및 장치
KR20220140706A (ko) * 2020-02-17 2022-10-18 인텔 코포레이션 컨볼루션 신경망(cnn) 기반 필터를 사용한 360도 비디오의 향상
US11670011B2 (en) * 2021-01-11 2023-06-06 Industry-Academic Cooperation Foundation Yonsei University Image compression apparatus and learning apparatus and method for the same
JPWO2022210661A1 (ko) * 2021-03-30 2022-10-06
JP2022174948A (ja) * 2021-05-12 2022-11-25 横河電機株式会社 装置、監視システム、方法およびプログラム
US11917142B2 (en) * 2021-07-13 2024-02-27 WaveOne Inc. System for training and deploying filters for encoding and decoding
WO2023086795A1 (en) * 2021-11-09 2023-05-19 Netflix, Inc. Techniques for reconstructing downscaled video content

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180050832A (ko) * 2016-11-07 2018-05-16 한국과학기술원 Cnn을 이용한 이미지 디헤이징 방법 및 그 시스템

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2646575A1 (fr) 1989-04-26 1990-11-02 Labo Electronique Physique Procede et structure pour la compression de donnees
JPH06197227A (ja) 1992-07-30 1994-07-15 Ricoh Co Ltd 画像処理装置
US9064364B2 (en) * 2003-10-22 2015-06-23 International Business Machines Corporation Confidential fraud detection system and method
TWI266536B (en) * 2004-09-24 2006-11-11 Service & Quality Technology C Intelligent image-processing device for closed-circuit TV camera and it operating method
US7956930B2 (en) 2006-01-06 2011-06-07 Microsoft Corporation Resampling and picture resizing operations for multi-resolution video coding and decoding
CA2638465A1 (en) * 2007-08-01 2009-02-01 Jean-Yves Chouinard Learning filters for enhancing the quality of block coded still and video images
JP2013110518A (ja) * 2011-11-18 2013-06-06 Canon Inc 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム
CN103369313B (zh) 2012-03-31 2017-10-10 百度在线网络技术(北京)有限公司 一种进行图像压缩的方法、装置和设备
MY172999A (en) 2012-07-09 2019-12-18 Vid Scale Inc Codec architecture for multiple layer video coding
GB2539845B (en) 2015-02-19 2017-07-12 Magic Pony Tech Ltd Offline training of hierarchical algorithms
US10009622B1 (en) * 2015-12-15 2018-06-26 Google Llc Video coding with degradation of residuals
CN105611303B (zh) 2016-03-07 2019-04-09 京东方科技集团股份有限公司 图像压缩系统、解压缩系统、训练方法和装置、显示装置
KR101910446B1 (ko) 2016-07-12 2018-10-30 광운대학교 산학협력단 도메인 변환 및 2d 비디오 압축 기반 디지털 홀로그램 비디오 압축 방법
US20180183998A1 (en) 2016-12-22 2018-06-28 Qualcomm Incorporated Power reduction and performance improvement through selective sensor image downscaling
WO2018112514A1 (en) 2016-12-23 2018-06-28 Queensland University Of Technology Deep learning systems and methods for use in computer vision
WO2018120082A1 (en) * 2016-12-30 2018-07-05 Nokia Technologies Oy Apparatus, method and computer program product for deep learning
CN107194347A (zh) 2017-05-19 2017-09-22 深圳市唯特视科技有限公司 一种基于面部动作编码系统进行微表情检测的方法
KR102535361B1 (ko) * 2017-10-19 2023-05-24 삼성전자주식회사 머신 러닝을 사용하는 영상 부호화기 및 그것의 데이터 처리 방법
CN108305214B (zh) 2017-12-28 2019-09-17 腾讯科技(深圳)有限公司 图像数据处理方法、装置、存储介质和计算机设备
US10645409B2 (en) * 2018-06-26 2020-05-05 Google Llc Super-resolution loop restoration

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180050832A (ko) * 2016-11-07 2018-05-16 한국과학기술원 Cnn을 이용한 이미지 디헤이징 방법 및 그 시스템

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
S.Kim et al. A real-time convolutional neural network for SR on FPGA with applications to 4K UHD 60 fps video service. IEEE trans. on Circuits and Systems for Video Technology. 8.8.2018* *

Cited By (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11190784B2 (en) 2017-07-06 2021-11-30 Samsung Electronics Co., Ltd. Method for encoding/decoding image and device therefor
US11288770B2 (en) 2018-10-19 2022-03-29 Samsung Electronics Co., Ltd. Apparatuses and methods for performing artificial intelligence encoding and artificial intelligence decoding on image
US10950009B2 (en) 2018-10-19 2021-03-16 Samsung Electronics Co., Ltd. AI encoding apparatus and operation method of the same, and AI decoding apparatus and operation method of the same
US11688038B2 (en) 2018-10-19 2023-06-27 Samsung Electronics Co., Ltd. Apparatuses and methods for performing artificial intelligence encoding and artificial intelligence decoding on image
US11663747B2 (en) 2018-10-19 2023-05-30 Samsung Electronics Co., Ltd. Methods and apparatuses for performing artificial intelligence encoding and artificial intelligence decoding on image
US11647210B2 (en) 2018-10-19 2023-05-09 Samsung Electronics Co., Ltd. Methods and apparatuses for performing encoding and decoding on image
US10937197B2 (en) 2018-10-19 2021-03-02 Samsung Electronics Co., Ltd. Methods and apparatuses for performing artificial intelligence encoding and artificial intelligence decoding on image
US11190782B2 (en) 2018-10-19 2021-11-30 Samsung Electronics Co., Ltd. Methods and apparatuses for performing encoding and decoding on image
US11170534B2 (en) 2018-10-19 2021-11-09 Samsung Electronics Co., Ltd. Methods and apparatuses for performing artificial intelligence encoding and artificial intelligence decoding on image
KR102166337B1 (ko) * 2019-09-17 2020-10-15 삼성전자주식회사 영상의 ai 부호화 방법 및 장치, 영상의 ai 복호화 방법 및 장치
US11810332B2 (en) 2019-10-28 2023-11-07 Samsung Electronics Co., Ltd. Apparatus and method for performing artificial intelligence (AI) encoding and AI decoding on image
US11610341B2 (en) 2019-10-28 2023-03-21 Samsung Electronics Co., Ltd. Apparatus and method for performing artificial intelligence (AI) encoding and AI decoding on image
US11164340B2 (en) 2019-10-28 2021-11-02 Samsung Electronics Co., Ltd. Apparatus and method for performing artificial intelligence (AI) encoding and AI decoding on image
WO2021086016A3 (en) * 2019-10-28 2021-07-01 Samsung Electronics Co., Ltd. Apparatus and method for performing artificial intelligence (ai) encoding and ai decoding on image
EP4011074A4 (en) * 2019-10-29 2022-09-28 Samsung Electronics Co., Ltd. IMAGE CODING METHOD AND APPARATUS AND IMAGE DECODING METHOD AND APPARATUS
US11405637B2 (en) 2019-10-29 2022-08-02 Samsung Electronics Co., Ltd. Image encoding method and apparatus and image decoding method and apparatus
WO2021086032A1 (en) 2019-10-29 2021-05-06 Samsung Electronics Co., Ltd. Image encoding method and apparatus and image decoding method and apparatus
KR20210050962A (ko) * 2019-10-29 2021-05-10 삼성전자주식회사 부호화 방법 및 그 장치, 복호화 방법 및 그 장치
KR102436512B1 (ko) * 2019-10-29 2022-08-25 삼성전자주식회사 부호화 방법 및 그 장치, 복호화 방법 및 그 장치
KR102245682B1 (ko) * 2019-11-11 2021-04-27 연세대학교 산학협력단 영상 압축 장치, 이의 학습 장치 및 방법
WO2021096063A1 (ko) * 2019-11-11 2021-05-20 삼성전자 주식회사 스트리밍 데이터를 제공하는 전자 장치 및 그 작동 방법
CN112887728A (zh) * 2019-11-29 2021-06-01 三星电子株式会社 电子装置、电子装置的控制方法以及系统
US11475540B2 (en) 2019-11-29 2022-10-18 Samsung Electronics Co., Ltd. Electronic device, control method thereof, and system
US11978178B2 (en) 2019-11-29 2024-05-07 Samsung Electronics Co., Ltd. Electronic device, control method thereof, and system
WO2021107406A1 (en) * 2019-11-29 2021-06-03 Samsung Electronics Co., Ltd. Electronic device, control method thereof, and system
CN112887739A (zh) * 2019-11-29 2021-06-01 三星电子株式会社 电子设备、系统及其控制方法
US11825157B2 (en) 2020-01-20 2023-11-21 Samsung Electronics Co., Ltd. Display apparatus and operating method thereof
WO2021149997A1 (en) * 2020-01-20 2021-07-29 Samsung Electronics Co., Ltd. Display apparatus and operating method thereof
US11182876B2 (en) 2020-02-24 2021-11-23 Samsung Electronics Co., Ltd. Apparatus and method for performing artificial intelligence encoding and artificial intelligence decoding on image by using pre-processing
KR102287942B1 (ko) * 2020-02-24 2021-08-09 삼성전자주식회사 전처리를 이용한 영상의 ai 부호화 및 ai 복호화 방법, 및 장치
WO2021172834A1 (en) * 2020-02-24 2021-09-02 Samsung Electronics Co., Ltd. Apparatus and method for performing artificial intelligence encoding and artificial intelligence decoding on image by using pre-processing
KR20210115710A (ko) * 2020-03-16 2021-09-27 주식회사 카이 영상 처리 방법, 영상 재생 방법 및 그 장치들
KR102391615B1 (ko) * 2020-03-16 2022-04-29 주식회사 카이 영상 처리 방법, 영상 재생 방법 및 그 장치들
KR102471288B1 (ko) * 2020-08-27 2022-11-28 한국전자기술연구원 송신, 수신 장치 및 방법
KR20220027436A (ko) * 2020-08-27 2022-03-08 한국전자기술연구원 송신, 수신 장치 및 방법
US11455706B2 (en) 2020-09-15 2022-09-27 Samsung Electronics Co., Ltd. Electronic apparatus, control method thereof and electronic system
KR102548993B1 (ko) * 2020-12-02 2023-06-27 주식회사 텔레칩스 다양한 영상 모드를 지원하는 이미지 스케일링 시스템 및 그 방법
KR20220077872A (ko) * 2020-12-02 2022-06-09 주식회사 텔레칩스 다양한 영상 모드를 지원하는 이미지 스케일링 시스템 및 그 방법
WO2024085381A1 (ko) * 2022-10-21 2024-04-25 삼성전자주식회사 이미지에서 관심 영역을 식별하기 위한 전자 장치 및 그 제어 방법

Also Published As

Publication number Publication date
US11388465B2 (en) 2022-07-12
US20240040179A1 (en) 2024-02-01
WO2020032661A1 (en) 2020-02-13
TW202012885A (zh) 2020-04-01
EP3635964A4 (en) 2020-04-15
EP3635964A1 (en) 2020-04-15
US20200053408A1 (en) 2020-02-13
TWI821358B (zh) 2023-11-11
US11825033B2 (en) 2023-11-21
CN110830849A (zh) 2020-02-21
US20220030291A1 (en) 2022-01-27

Similar Documents

Publication Publication Date Title
KR102022648B1 (ko) 전자 장치, 이의 제어 방법 및 서버의 제어 방법
CN110088799B (zh) 图像处理设备和图像处理方法
EP3742388B1 (en) Electronic device, image processing method thereof, and computer-readable recording medium
US11153575B2 (en) Electronic apparatus and control method thereof
US11347962B2 (en) Electronic apparatus, method for processing image and computer-readable recording medium
US11481586B2 (en) Electronic apparatus and controlling method thereof
US11568254B2 (en) Electronic apparatus and control method thereof
US11934953B2 (en) Image detection apparatus and operation method thereof
EP3671486B1 (en) Display apparatus and control method thereof
US20190163702A1 (en) Image display apparatus and method of operating the same
US20210279589A1 (en) Electronic device and control method thereof
US11257186B2 (en) Image processing apparatus, image processing method, and computer-readable recording medium
CN112514410B (zh) 电子设备及其控制方法
EP3738305B1 (en) Electronic device and control method thereof
US10997947B2 (en) Electronic device and control method thereof
KR102494591B1 (ko) 전자 장치, 그 제어 방법 및 전자 시스템

Legal Events

Date Code Title Description
GRNT Written decision to grant