KR20220161108A - 스트림 재처리 시스템과 그 동작 방법 - Google Patents

스트림 재처리 시스템과 그 동작 방법 Download PDF

Info

Publication number
KR20220161108A
KR20220161108A KR1020210084631A KR20210084631A KR20220161108A KR 20220161108 A KR20220161108 A KR 20220161108A KR 1020210084631 A KR1020210084631 A KR 1020210084631A KR 20210084631 A KR20210084631 A KR 20210084631A KR 20220161108 A KR20220161108 A KR 20220161108A
Authority
KR
South Korea
Prior art keywords
stream
reprocessing
algorithm
unit
processor
Prior art date
Application number
KR1020210084631A
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 US17/570,863 priority Critical patent/US11726949B2/en
Priority to EP22151085.2A priority patent/EP4096229A1/en
Priority to CN202210208444.9A priority patent/CN115408331A/zh
Priority to TW111107991A priority patent/TW202246978A/zh
Publication of KR20220161108A publication Critical patent/KR20220161108A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3055Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • 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/41Structure of client; Structure of client peripherals
    • H04N21/426Internal components of the client ; Characteristics thereof
    • 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/443OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Quality & Reliability (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Security & Cryptography (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

몇몇 실시예들에 따른 스트림 재처리 시스템과 그 동작 방법이 제공된다. 더 자세히는, 몇몇 실시예들에 따른 스트림 재처리 프로세서와 이를 포함하는 시스템 온 칩(SoC: System On Chip)이 제공된다. 몇몇 실시예들에 따른 스트림 재처리 시스템 온 칩은, 중앙 처리 장치(CPU: Central Processing Unit)를 포함하는 복수의 프로세서들, 외부로부터 스트림을 수신하는 메모리 컨트롤러, 및 스트림을 재처리하는 스트림 재처리 프로세서를 포함하되, 스트림 재처리 프로세서는, 스트림을 수신 받은 입력부, 스트림 재처리의 수행 여부를 판단하는 제어부, 제어부로부터 스트림 재처리의 수행 명령을 수신 받으면, 스트림을 재처리하는 재처리부와, 재처리된 스트림을 메모리로 전송하는 출력부를 포함한다.

Description

스트림 재처리 시스템과 그 동작 방법{Stream reprocessing system and method for operating the same}
본 발명은 스트림 재처리 시스템과 그 동작 방법에 관한 것이다. 더 자세히는, 스트림 재처리 프로세서와 이를 포함하는 시스템 온 칩(SoC: System On Chip)에 관한 것이다.
하드웨어 또는 소프트웨어로 구현된 비디오 프로세서가 처리해야 할 비디오 데이터의 양은 점점 증가하는 반면, 상기 비디오 데이터를 처리할 만큼 충분한 자원을 비디오 프로세서가 갖지 못하는 경우, 비디오 데이터 처리의 효율성이 악화될 수 있다.
예를 들어, 스마트폰과 같은 휴대용 장치의 자원은 매우 제한적이기 때문에 카메라로 촬영된 비디오 데이터를 충분히 효과적으로 압축할 수 없으므로, 압축된 비디오 스트림을 저장하기 위한 공간이 부족하거나 또는 화질이 열화되는 등 문제가 발생할 수 있다. 따라서, 상술된 바와 같이 제한된 자원을 통해 처리된 비디오 데이터를 보다 효율적인 비디오 데이터 재처리를 통해 데이터 처리의 효율성을 높이거나 품질을 제고할 필요성이 대두된다.
본 발명이 해결하고자 하는 기술적 과제는 충분한 자원을 통해 처리(예를 들어, 비디오 데이터를 압축, 공간적 및/또는 시간적 해상도 변경, 노이즈 제거 등의 비디오 데이터 처리 알고리즘을 적용해 목적에 따라 획득된 또는 입력된 비디오 데이터를 가공하는 동작들)되지 못한 비디오 데이터를 재처리하여 주관적 및/또는 객관적 품질을 향상시키는 스트림 재처리 시스템 온 칩(SoC: System on Chip) 및 이를 포함하는 스트림 재처리 시스템 그리고 그 동작 방법을 제공하는 것이다.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
상기 기술적 과제를 달성하기 위한 본 발명의 몇몇 실시예에 따른 스트림 재처리 시스템 온 칩은, 중앙 처리 장치(CPU: Central Processing Unit)를 포함하는 복수의 프로세서들, 외부로부터 스트림을 수신하는 메모리 컨트롤러, 및 스트림을 재처리하는 스트림 재처리 프로세서를 포함하되, 스트림 재처리 프로세서는, 스트림을 수신 받은 입력부, 스트림 재처리의 수행 여부를 판단하는 제어부, 제어부로부터 스트림 재처리의 수행 명령을 수신 받으면, 스트림을 재처리하는 재처리부와, 재처리된 스트림을 메모리로 전송하는 출력부를 포함한다.
상기 기술적 과제를 달성하기 위한 본 발명의 몇몇 실시예에 따른 스트림 재처리 시스템은, 카메라, 카메라를 통해 수신된 프레임을 압축하여 스트림을 생성하는 코덱, 코덱을 제어하는 중앙 처리 장치를 포함하는 복수의 프로세서들, 복수의 프로세서들 중 적어도 일부를 통해 제어되며, 코덱을 통해 압축된 스트림을 출력하는 디스플레이, 스트림을 저장하는 메모리, 및 스트림을 재처리하는 스트림 재처리 프로세서를 포함하되, 스트림 재처리 프로세서는, 스트림을 수신 받은 입력부, 스트림 재처리의 수행 여부를 판단하는 제어부, 제어부로부터 스트림 재처리의 수행 명령을 수신 받으면, 스트림을 재처리하는 재처리부와, 재처리된 스트림을 메모리로 전송하는 출력부를 포함한다.
상기 기술적 과제를 달성하기 위한 본 발명의 몇몇 실시예에 따른 스트림 재처리 시스템은, 스트림의 입출력을 제어하는 프로세서, 및 스트림이 저장되는 메모리를 포함하되, 스트림은, 비-실시간(non-realtime)으로 동작하는 코덱 알고리즘, 초해상화, 프레임 레이트 변환, 영상 신호 처리, 및/또는 잡음 제거 알고리즘을 통해 재처리된다.
상기 기술적 과제를 달성하기 위한 본 발명의 몇몇 실시예에 따른 스트림 재처리 시스템의 동작 방법은, 입력부를 통해, 외부로부터 스트림을 수신 받고, 제어부를 통해, 스트림에 대한 재처리의 수행 여부를 판단하고, 제어부로부터 스트림에 대한 재처리의 수행 명령을 수신 받으면, 재처리부를 통해, 스트림을 재처리하고, 출력부를 통해, 재처리된 스트림을 외부로 전송하는 것을 포함한다.
상기 기술적 과제를 달성하기 위한 본 발명의 몇몇 실시예에 따른 스트림 재처리 시스템은, 외부로부터 스트림을 수신받고, 스트림 재처리의 수행 여부를 판단하여, 스트림 재처리의 수행 명령을 수신받으면, 스트림에 대한 재처리를 수행하는 스트림 재처리 프로세서. 재처리된 스트림의 업데이트 방식을 디스플레이하는 디스플레이 장치, 사용자가 업데이트 방식을 선택하는 인터페이스를 제공하는 사용자 인터페이스, 및 사용자가 선택한 업데이트 방식으로 재처리된 스트림의 업데이트를 수행하는 중앙 처리 장치를 포함한다.
상기 기술적 과제를 달성하기 위한 본 발명의 몇몇 실시예에 따른 스트림 재처리 시스템은, 외부로부터 사용자가 생성한 스트림을 수신받고, 상기 스트림 재처리의 수행 여부를 판단하여, 상기 스트림 재처리의 수행 명령을 수신받으면, 상기 스트림에 대한 재처리를 수행하는 스트림 재처리 프로세서, 상기 스트림에 대해, 상기 스트림 재처리 프로세서가 상기 스트림에 대한 재처리를 자동으로 수행할 지 여부를 디스플레이 하는 디스플레이 장치. 및 상기 스트림에 대한 재처리를 자동으로 수행할 지 여부를 선택하는 인터페이스를 제공하는 사용자 인터페이스를 포함하되, 상기 스트림 재처리 프로세서는, 상기 사용자 인터페이스로부터 상기 스트림에 대한 재처리를 자동으로 수행하라는 명령을 수신받으면, 상기 사용자가 생성한 상기 스트림들에 대해, 자동으로 상기 재처리를 수행하고, 상기 사용자 인터페이스로부터 상기 스트림에 대한 재처리를 자동으로 수행하라는 명령을 수신받지 못하면, 상기 사용자가 생성한 상기 스트림들에 대해, 상기 재처리 수행 여부 메시지를 상기 사용자 인터페이스를 통해, 상기 사용자에게 전송한다.
상기 기술적 과제를 달성하기 위한 본 발명의 몇몇 실시예에 따른 사용자 인터페이스 동작 방법은, 스트림 재처리 프로세서를 통해, 외부로부터 스트림을 수신받고, 상기 스트림 재처리의 수행 여부를 판단하여, 상기 스트림 재처리의 수행 명령을 수신받으면, 상기 스트림에 대한 재처리를 수행하고, 디스플레이 장치를 통해, 상기 재처리된 스트림의 업데이트 방식을 디스플레이하고, 사용자 인터페이스를 통해, 사용자가 상기 업데이트 방식을 선택하는 인터페이스를 제공하고, 중앙 처리 장치를 통해, 상기 사용자가 선택한 업데이트 방식으로 상기 재처리된 스트림의 업데이트를 수행하는 것을 포함한다.
상기 기술적 과제를 달성하기 위한 본 발명의 몇몇 실시예에 따른 사용자 인터페이스 동작 방법은, 스트림 재처리 프로세서를 통해, 외부로부터 사용자가 생성한 스트림을 수신받고, 상기 스트림 재처리의 수행 여부를 판단하여, 상기 스트림 재처리의 수행 명령을 수신받으면, 상기 스트림에 대한 재처리를 수행하고, 디스플레이 장치를 통해, 상기 스트림에 대해, 상기 스트림 재처리 프로세서가 상기 스트림에 대한 재처리를 자동으로 수행할 지 여부를 디스플레이 하고, 사용자 인터페이스를 통해, 상기 스트림에 대한 재처리를 자동으로 수행할 지 여부를 선택하는 인터페이스를 제공하는 것을 포함하되, 상기 스트림 재처리 프로세서는, 상기 사용자 인터페이스로부터 상기 스트림에 대한 재처리를 자동으로 수행하라는 명령을 수신받으면, 상기 사용자가 생성한 상기 스트림들에 대해, 자동으로 상기 재처리를 수행하고, 상기 사용자 인터페이스로부터 상기 스트림에 대한 재처리를 자동으로 수행하라는 명령을 수신받지 못하면, 상기 사용자가 생성한 상기 스트림들에 대해, 상기 재처리 수행 여부 메시지를 상기 사용자 인터페이스를 통해, 상기 사용자에게 전송한다.
기타 실시예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
도 1은 몇몇 실시예들에 따른 스트림 재처리 시스템을 포함하는 전자 장치를 설명하기 위한 예시적인 도면이다.
도 2은 몇몇 실시예들에 따른 스트림 재처리 시스템을 설명하기 위한 예시적인 블록도이다.
도 3는 몇몇 실시예들에 따른 스트림 재처리 프로세서를 설명하기 위한 예시적인 블록도이다.
도 4은 몇몇 실시예들에 따른 스트림 재처리 프로세서 내의 제어부를 설명하기 위한 예시적인 블록도이다.
도 5는 몇몇 실시예들에 따른 스트림 재처리 프로세서 내의 재처리부를 설명하기 위한 예시적인 블록도이다.
도 6는 몇몇 실시예들에 따른 스트림 재처리 프로세서의 동작 방법을 설명하기 위한 예시적인 흐름도이다.
도 7은 몇몇 실시예들에 따른 스트림 재처리 프로세서 내의 제어부의 동작을 설명하기 위한 예시적인 흐름도이다.
도 8은 몇몇 실시예들에 따른 스트림 재처리 프로세서 내의 제어부의 동작을 설명하기 위한 다른 예시적인 흐름도이다.
도 9은 몇몇 실시예들에 따른 스트림 재처리 프로세서 내의 재처리부를 설명하기 위한 예시적인 흐름도이다.
도 10은 몇몇 실시예들에 따른 스트림 재처리 시스템을 통한 스트림 데이터 사이즈와 질(quality) 변화를 설명하기 위한 예시적인 그래프들이다.
도 11는 몇몇 실시예들에 따른 다른 스트림 재처리 시스템을 설명하기 위한 예시적인 블록도이다.
도 12 내지 도 14는 몇몇 실시예들에 따른 스트림 재처리 시스템의 다른 동작을 설명하기 위한 예시적인 흐름도들이다.
도 15은 몇몇 실시예들에 따른 다른 스트림 재처리 프로세서를 설명하기 위한 예시적인 블록도이다.
도 16는 몇몇 실시예들에 따른 다른 스트림 재처리 프로세서의 동작을 설명하기 위한 예시적인 흐름도이다.
도 17는 몇몇 실시예들에 따른 다른 스트림 재처리 시스템을 설명하기 위한 예시적인 블록도이다.
도 18 내지 도 22은 몇몇 실시예들에 따른 스트림 재처리 시스템의 다른 동작을 설명하기 위한 예시적인 흐름도들이다.
도 1은 몇몇 실시예들에 따른 스트림 재처리 시스템을 포함하는 전자 장치를 설명하기 위한 예시적인 도면이다.
도 1을 참조하면, 몇몇 실시예들에 따른 스트림 재처리 시스템을 포함하는 전자 장치(1)는 스마트 폰일 수 있으나, 전자 장치(1)는 이에 제한되지 않는다.
예를 들어, 몇몇 실시예들에 따른 스트림 재처리 시스템을 포함하는 전자 장치(1)는 TV, DTV(digital TV), IPTV(internet protocol TV), PC(personal computer), 데스크 탑 컴퓨터, 랩-탑(lap-top) 컴퓨터, 컴퓨터 워크스테이션(computer workstation), 태블릿(tablet) PC, 비디오 게임 플랫폼(또는 비디오 게임 콘솔), 서버, 또는 휴대용 전자 장치로 구현될 수 있다.
상기 휴대용 전자 장치는 이동 전화기, 스마트 폰(smart phone), PDA (personal digital assistant), EDA(enterprise digital assistant), 디지털 스틸 카메라(digital still camera), 디지털 비디오 카메라(digital video camera), PMP (portable multimedia player), PND(personal navigation device 또는 portable navigation device), 모바일 인터넷 장치(mobile internet device(MID)), 웨어러블 컴퓨터, 사물 인터넷(internet of things(IoT)) 장치, 만물 인터넷(internet of everything(IoE)) 장치, 또는 e-북(e-book)으로 구현될 수도 있다.
스트림 재처리 시스템(10)은 2D(dimensional) 또는 3D 그래픽스 데이터를 처리하고, 처리된 데이터를 디스플레이할 수 있는 다양한 디스플레이 장치를 의미할 수 있다.
이하에서, 몇몇 실시예들에 따른 스트림 재처리 시스템을 자세히 살펴본다.
도 2은 몇몇 실시예들에 따른 스트림 재처리 시스템을 설명하기 위한 예시적인 블록도이다.
도 2을 참조하면, 몇몇 실시예들에 따른 스트림 재처리 시스템(10)은 스트림 재처리 시스템 온 칩(SoC: System On Chip)(1000)(이하에서는, 설명의 간략화를 위해 시스템 온 칩으로 칭한다.), 카메라(2000), 디스플레이(3000), 및 메모리(4000)를 포함할 수 있다. 몇몇 실시예들에 따른 스트림 재처리 시스템(10)에서 메모리(4000)는 시스템 온 칩(1000)의 외부에 배치되어 있으나, 이에 제한되지 않고, 메모리(4000)는 시스템 온 칩(1000)의 내부에 구현될 수도 있다.
시스템 온 칩(1000)은 스트림 재처리 시스템(10)의 작동을 전반적으로 제어할 수 있다. 예를 들어, 시스템 온 칩(1000, 도 11의 1002, 및 도 17의 1004)은 이하에서 설명할 몇몇 실시예들에 따른 스트림 재처리 시스템(10, 도 11의 20, 및 도 17의 30)의 작동을 수행할 수 있는 집적 회로(IC: Integrated Circuit), 마더 보드, 어플리케이션 프로세서(AP: Application Processor), 또는 모바일(mobile AP)를 의미할 수 있다.
이하에서, 도 2에서 설명되는 스트림 재처리 시스템(10)에 대한 설명은 도 11의 스트림 재처리 시스템(20), 및 도 17의 스트림 재처리 시스템(30)에도 적용될 수 있다. 또한, 도 2에서 설명되는 시스템 온 칩(1000)에 대한 설명은 도 11의 시스템 온 칩(1002), 및 도 17의 시스템 온 칩(1004)에 대한 설명에도 적용될 수 있다.
시스템 온 칩(1000)은 카메라(2000)로부터 출력된 이미지 데이터, 예컨대 프레임을 처리하여 스트림을 생성하고, 처리된 스트림을 디스플레이(3000)를 통해 디스플레이 하거나 메모리(4000)에 저장할 수 있다.
시스템 온 칩(1000)은 코덱(1100), 중앙 처리 장치(CPU: Central Processing Unit)(1200), 신경망 처리 장치(NPU: Neural Processing Unit)(1300), 그래픽 처리 장치(GPU: Graphics Processing Unit)(1400), 디지털 신호 처리 프로세서(DSP: Digital Signal Processor)(7000), 디스플레이 컨트롤러(1500), 메모리 컨트롤러(1600), 및 스트림 재처리 프로세서(1700)를 포함한다.
코덱(1100), 중앙 처리 장치(1200), 신경망 처리 장치(1300), 그래픽 처리 장치(1400), 디지털 신호 처리 프로세서(7000), 디스플레이 컨트롤러(1500), 메모리 컨트롤러(1600), 및 스트림 재처리 프로세서(1700)는 버스(1800)를 통해 서로 데이터를 주고받을 수 있다. 예를 들어, 버스(1800)는 PCI 버스(Peripheral Component Interconnect Bus), PCI 익스프레스(PCI Express) 버스, AMBA(Advanced High Performance Bus), AHB(Advanced High Performance Bus), APB(Advanced Peripheral Bus), 또는 AXI 버스, 또는 이들의 결합으로 구현될 수 있다.
코덱(1100)은 카메라(2000)로부터 획득된 프레임들 또는 메모리(4000)에 저장된 프레임들을 인코딩하거나, 메모리(4000)에 저장된 스트림들을 디코딩할 수 있다. 카메라(2000)는 CMOS 이미지 센서로 구현될 수 있다.
중앙 처리 장치(1200), 신경망 처리 장치(1300), ,그래픽 처리 장치(1400), 및 디지털 신호 처리 프로세서(7000)는 시스템 온 칩(1000)의 작동을 제어할 수 있다. 이하의 시스템 온 칩에서, 범용 하드웨어로 도시된 구성은 중앙 처리 장치(1200), 신경망 처리 장치(1300), 그래픽 처리 장치(1400), 및 디지털 신호 처리 프로세서(7000)에 제한되지 않는다.
사용자는, CPU(1200)가 하나 또는 그 이상의 어플리케이션들(예컨대, 어플리케이션 소프트웨어들)을 실행할 수 있도록, 입력을 시스템 온 칩(1000)으로 제공할 수 있다.
중앙 처리 장치(1200), 신경망 처리 장치(1300), 그래픽 처리 장치(1400), 및 디지털 신호 처리 프로세서(7000)에 의해 실행되는 어플리케이션들은 운영 체제(operating system (OS)), 워드프로세서 어플리케이션, 미디어 플레이어 어플리케이션, 비디오 게임 어플리케이션, 및/또는 그래픽 사용자 인터페이스(graphical user interface(GUI)) 어플리케이션을 포함할 수 있다
디스플레이 컨트롤러(1500)는 코덱(1100), 중앙 처리 장치(1200), 신경망 처리 장치(1300), 그래픽 처리 장치(1400), 및 디지털 신호 처리 프로세서(7000) 로부터 출력된 이미지 데이터를 디스플레이(3000)에 디스플레이할 수 있다. 디스플레이(3000)는 모니터, TV 모니터, 프로젝션 장치(projection device), TFT-LCD(thin film transistor-liquid crystal display), LED(light emitting diode) 디스플레이, OLED(organic LED) 디스플레이, AMOLED(active-matrix OLED) 디스플레이, 또는 플렉시블(flexible) 디스플레이로 구현될 수 있으나, 이에 제한되는 것은 아니다.
예컨대, 디스플레이 컨트롤러(1500)는 디스플레이 시리얼 인터페이스(display serial interface(DSI))를 통해 이미지 데이터를 디스플레이(3000)로 전송할 수 있다.
메모리 컨트롤러(1600)는 코덱(1100), 중앙 처리 장치(1200), 신경망 처리 장치(1300), 및/또는 그래픽 처리 장치(1400)로부터 출력된 명령에 기초하여, 메모리(4000)에 저장된 데이터를 리드하고, 리드된 데이터를 코덱(1100), 중앙 처리 장치(1200), 신경망 처리 장치(1300), 및/또는 그래픽 처리 장치(1400)로 전송할 수 있다. 또한, 메모리 컨트롤러(1600)는, 코덱(1100), 중앙 처리 장치(1200), 신경망 처리 장치(1300), 및/또는 그래픽 처리 장치(1400)로부터 출력된 명령에 기초하여, 코덱(120), 중앙 처리 장치(1200), 신경망 처리 장치(1300), 및/또는 그래픽 처리 장치(1400)로부터 출력된 데이터를 메모리(400)에 라이트할 수 있다.
몇몇 실시 예들에 따라, 메모리(4000)는 휘발성 메모리 또는 비휘발성 메모리로 구현될 수 있다. 휘발성 메모리는 RAM(random access memory), SRAM(static RAM), DRAM(dynamic RAM), SDRAM(synchronous DRAM), T-RAM(thyristor RAM), Z-RAM(zero capacitor RAM), 또는 TTRAM(Twin Transistor RAM)으로 구현될 수 있으나, 이에 제한되는 것은 아니다.
비휘발성 메모리는 EEPROM(electrically erasable programmable read-only memory), 플래시(flash) 메모리, MRAM(magnetic RAM), 스핀전달토크 MRAM (spin-transfer torque MRAM), FeRAM(ferroelectric RAM), PRAM(phase change RAM), 또는 RRAM(resistive RAM)으로 구현될 수 있다. 또한, 상기 비휘발성 메모리는 MMC(multimedia card), eMMC(embedded MMC), UFS(universal flash storage), SSD (solid state drive), USB 플래시 드라이브, 또는 하드디스크 드라이브(hard disk drive(HDD))로 구현될 수 있으나, 이에 제한되는 것은 아니다.
스트림 재처리 프로세서(1700)는 버스(1800)를 통해, 다른 구성들(예를 들어, 디스플레이 컨트롤러(1500), 메모리 컨트롤러(1600), 코덱(1100), 중앙 처리 장치(1200), 신경망 처리 장치(1300), 및/또는 그래픽 처리 장치(1400))와 스트림을 주고받을 수 있다.
스트림 재처리 프로세서(1700)는 전용 하드웨어(예를 들어, 코덱(1100)과 같이 제작자의 설계 의도대로만 동작할 수 있는 하드웨어) 로 구성될 수 있다.
또는, 스트림 재처리 프로세서(1700)는 범용 하드웨어들(예를 들어, 중앙 처리 장치(1200), 신경망 처리 장치(1300), 그래픽 처리 장치(1400)), 및/또는 디지털 신호 처리 프로세서(7000))의 자원을 사용할 수 있는 소프트웨어로 구성될 수도 있다. 예를 들어, 스트림 재처리 프로세서(1700)는 시스템 온 칩(1000)이 제조될 때, 이미 시스템 온 칩(1000)에 포함된 어플리케이션이 될 수도 있다. 다른 예를 들어, 스트림 재처리 프로세서(1700)는 사용자가 스트림 재처리 시스템(10)의 외부(예를 들어, 도 17의 서버(6000))로부터 다운로드할 수 있는 어플리케이션 형태로 구성될 수도 있다.
스트림 재처리 프로세서(1700)를 도 3를 통해 더 자세히 살펴본다.
도 3는 몇몇 실시예들에 따른 스트림 재처리 프로세서를 설명하기 위한 예시적인 블록도이다.
도 2 및 도 3를 참조하면, 스트림 재처리 프로세서(1700)는 입력부(1710), 제어부(1720), 재처리부(1730), 및 출력부(1740)를 포함한다. 스트림 재처리 프로세서(1700)에 대한 설명은 이후의 도 15의 스트림 재처리 프로세서(1702)에 대한 설명에도 적용될 수 있다.
입력부(1710)는 스트림 재처리 프로세서(1700) 외의 구성(예를 들어, 디스플레이 컨트롤러(1500), 메모리 컨트롤러(1600), 코덱(1100), 중앙 처리 장치(1200), 신경망 처리 장치(1300), 및/또는 그래픽 처리 장치(1400))으로부터 스트림을 수신 받을 수 있다.
입력부(1710)는 스트림을 제어부(1720)로 전송할 수 있다. 이때, 제어부(1720)는 스트림에 대한 재처리를 수행할 지 여부를 판단할 수 있다. 제어부(1720)에 대해 도 4을 통해 좀 더 자세히 살펴본다.
도 4은 몇몇 실시예들에 따른 스트림 재처리 프로세서 내의 제어부를 설명하기 위한 예시적인 블록도이다.
도 2 내지 도 4을 참조하면, 제어부(1720)는 자원 검사기(1722), 유휴 상태 검사기(1724), 및 스트림 검사기(1726)를 포함한다.
자원 검사기(1722)는 입력부(1710)를 통해 전송받은 스트림을, 스트림 재처리 프로세서(1700)가 재처리하는데 충분한 자원(예를 들어, 배터리)를 스트림 재처리 시스템(10)이 전원 케이블을 통해 전원에 연결되어 있는지를 판단한다.
자원 검사기(1722)가 판단하는 자원은 배터리에 한정되지 않는다. 예를 들어, 자원 검사기(1722)는 스트림 재처리 시스템(10)이 전원 케이블을 통해 전원과 연결되어 스트림 재처리 프로세서(1700)가 재처리 동작을 수행하는데 안정적인 전력을 공급하는 지를 판단할 수 있다. 다른 예를 들어, 자원 검사기(1722)는 스트림 재처리 시스템(10)이 전원 케이블과 연결되어 있지 않다면, 스트림 재처리 프로세서(1700)가 재처리하는데 충분한 배터리를 확보하고 있는 지를 판단할 수 있다. 다른 예를 들어, 자원 검사기(1722)는 스트림 재처리 시스템(10)이 전원 케이블과 연결되어 있거나, 배터리가 충분하더라도, 시스템 재처리 시스템(10)의 자원을 소비하고 있는 백그라운드 어플리케이션들(Background Application)의 이용 자원을 주기적으로 점검하여, 스트림 재처리 프로세서(1700)가 재처리 동작을 수행하는데 충분한 자원이 확보되어 있는 지를 판단할 수도 있다.
유휴 상태 검사기(1724)는 스트림 재처리 시스템(10)을 포함하는 전자 장치가 사용자로부터 조작 가능한 상태에 있으나, 사용자가 전자 장치를 사용하지 않고 대기하고 있는 상태인지 여부를 판단할 수 있다.
예를 들어, 유휴 상태 검사기(1724)는 디스플레이(3000)가 꺼져 있는지를 판단하고, 만약, 디스플레이(3000)가 꺼져 있다면, 사용자가 스트림 재처리 시스템(10)을 포함하는 전자 장치를 사용하고 있지 않는 유휴 상태에 있다고 판단한다.
다른 예를 들어, 유휴 상태 검사기(1724)는 디스플레이(3000)가 켜져 있더라도, 스트림 재처리 시스템(10)을 포함하는 전자 장치에서 동작하는 어플리케이션이 없다고 판단되면, 사용자가 스트림 재처리 시스템(10)을 포함하는 전자 장치를 사용하고 있지 않는 유휴 상태에 있다고 판단할 수 있다.
스트림 검사기(1726)는 입력부(1710)를 통해 전송받은 스트림에 대한 재처리가 필요한 지 여부를 판단한다.
예를 들어, 스트림 검사기(1726)는 스트림 재처리 시스템(10)에 포함된 소정의 알고리즘을 통해 전송받은 스트림이 충분히 효율적으로 압축되어 있는지 여부를 확인하고, 만약, 충분히 효율적으로 압축되어 있다면 재처리가 필요하지 않다고 판단할 수 있다.
다른 예를 들어, 스트림 검사기(1726)는 스트림 재처리 시스템(10)에 포함된 소정의 알고리즘을 통해 전송받은 스트림의 주관적 화질(예를 들어, 사람이 인지하는 화질)이 충분히 우수한지 여부를 확인하고, 만약 충분히 주관적 화질이 우수하다면 재처리가 필요하지 않다고 판단할 수 있다.
제어부(1720)는 자원 검사기(1722)를 통해 배터리가 충분하다고 판단되고, 유휴 상태 검사기(1724)를 통해 전자 장치를 사용하지 않고 있다(예를 들어, 디스플레이(3000)가 꺼져 있다)고 판단되고, 스트림 검사기(1726)를 통해 스트림에 대한 재처리가 필요하다고 판단되는 경우, 재처리부(1730)에 스트림에 대한 재처리 명령을 전달한다.
자원 검사기(1722), 유휴 상태 검사기(1724), 그리고 스트림 검사기(1726) 각각의 동작 순서는 제한이 없다. 예를 들어, 자원 검사기(1722), 유휴 상태 검사기(1724), 그리고 스트림 검사기(1726)가 모두 동시에 동작 할 수도 있다. 또는, 자원 검사기(1722), 유휴 상태 검사기(1724), 그리고 스트림 검사기(1726) 순으로 순차적으로 동작 할 수도 있다.
제어부(1720)를 통해, 스트림 재처리부(1730)로 스트림에 대한 최초 재처리 명령을 전달한 후, 제어부(1720)는 주기적으로 전원 검사기(1722), 유휴 상태 검사기(1724), 그리고 스트림 검사기(1726) 모두 또는 일부를 동작시켜, 동작된 검사기의 조건을 만족하지 않는 경우, 재처리부(1730)에 재처리 동작 중지 또는 재처리 동작의 중간 단계를 메모리(4000)에 저장 또는 재처리 동작의 재시작 명령을 전달할 수 있다.
제어부(1720)의 구성은 예시적인 것으로, 제어부(1720) 내의 자원 검사기(1722), 유휴 상태 검사기(1724), 및 스트림 검사기(1726) 중 적어도 일부가 빠질 수도 있다. 또한, 제어부(1720)의 구성은 예시적인 것으로, 스트림에 대한 재처리를 수행할 지 여부를 판단하는 구성이면 이에 제한되지 않고 추가될 수 있다.
다시, 도 2 및 도 3를 참조하면, 제어부(1720)로부터 스트림에 대한 재처리 명령을 전달받은 재처리부(1730)는 스트림에 대한 재처리를 수행할 수 있다. 재처리부(1730)에 대해 도 5를 통해 좀 더 자세히 살펴본다.
도 5는 몇몇 실시예들에 따른 스트림 재처리 프로세서 내의 재처리부를 설명하기 위한 예시적인 블록도이다.
도 2, 도 3, 및 도 5를 참조하면, 재처리부(1730)는 알고리즘 저장부(1732)와 자원 이용부(1734)를 포함한다.
알고리즘 저장부(1732)는 재처리부(1730)가 스트림에 대한 재처리를 수행하는 데 이용하는 알고리즘을 저장한다.
예를 들어, 알고리즘 저장부(1732)는 입력부(1710)를 통해 입력된 스트림에 대해, 디코딩 및 인코딩을 수행할 수 있는 코덱(Codec) 알고리즘을 포함할 수 있다. 특히, 비-실시간(non-realtime)으로 재처리를 수행하여 고비용, 고압축, 및 고품질의 재처리된 스트림을 생성하는 코덱들을 저장할 수 있다. 예를 들어, 알고리즘 저장부(1732)는 멀티 패스 코딩(multi pass coding) 알고리즘, 율 왜곡 최적화(RDO: Rate Distortion Optimization) 알고리즘, 이미지 프레임 그룹(GOP: Group Of Pictures), 및/또는 표준(Standard) 변경 알고리즘을 포함하는 코덱일 수 있다.
다른 예를 들어, 알고리즘 저장부(1732)는 입력부(1710를 통해 입력된 비디오 스트림의 공간 해상도를 향상시키는 초해상화(SR: Super Resolution) 알고리즘, 시간 해상도 (FPS: Frame Per Second)를 향상시키는 프레임 레이트 변환(FRC: Frame Rate Conversion) 알고리즘, 복원된 영상의 주관적 화질을 개선하는 영상 신호 처리(ISP: Image Signal Processing) 알고리즘, 밝기(Brightness)/명암(Contrast) 보정 알고리즘 및/또는 잡음 제거(Denoising) 알고리즘을 포함할 수도 있다.
다른 예를 들어, 알고리즘 저장부(1732)는 비디오 스트림의 압축율 및/또는 주관적 화질을 개선하는 딥러닝(Deep Learning) 알고리즘을 포함할 수도 있다.
자원 이용부(1734)는 재처리부(1730)가 스트림을 재처리하는데 필요한 자원을 범용 하드웨어(예를 들어, 중앙 처리 장치(1200), 신경망 처리 장치(1300), 및/또는 그래픽 처리 장치(1400))로부터 이용해 올 수 있다.
예를 들어, 재처리부(1730)가 스트림을 재처리하는데, 알고리즘 저장부(1732)에 저장된 초해상화 알고리즘, 또는 프레임 레이트 변환 알고리즘을 딥러닝(deep learning)을 기반으로 재처리하고자 한다고 가정한다. 이때, 재처리부(1730)는 알고리즘 저장부(1732)의 초해상화 알고리즘, 또는 프레임 레이트 변환 알고리즘을 추출하고, 자원 이용부(1734)를 통해 신경망 처리 장치의 자원을 이용하여, 스트림에 대한 재처리를 수행할 수 있다.
재처리부(1730)를 통해 재처리된 스트림은 재처리되기 전의 스트림보다 크기가 작아질 수 있다. 또는, 재처리부(1730)를 통해 재처리된 스트림의 포맷은 재처리되기 전의 스트림의 포맷과 다를 수 있다. 또는 재처리부(1730)를 통해 재처리된 스트림은 재처리되기 전의 스트림보다 주관적 화질이 개선될 수 있다.
다시 도 2 및 도 3를 참조하면, 재처리부(1730)를 통해 재처리된 스트림은 출력부(1740)로 전송된다. 출력부(1740)로 전송된 스트림은 버스(1800)를 통해, 스트림 재처리 프로세서(1700) 외의 구성(예를 들어, 디스플레이 컨트롤러(1500), 메모리 컨트롤러(1600), 코덱(1100), 중앙 처리 장치(1200), 신경망 처리 장치(1300), 및/또는 그래픽 처리 장치(1400))으로 전송될 수 있다.
상술한 동작을 아래의 흐름도를 통해 살펴본다.
도 6는 몇몇 실시예들에 따른 스트림 재처리 프로세서의 동작 방법을 설명하기 위한 예시적인 흐름도이다.
도 3 및 도 6를 참조하면, 몇몇 실시예들에 따른 스트림 재처리 프로세서(1700)는 입력부(1710)를 통해 스트림을 수신 받는다(S100). 이후, 제어부(1720)를 통해 스트림에 대한 재처리의 수행 여부를 판단한다(S200). 스트림에 대한 재처리의 수행 여부 판단(S200)은 도 7을 통해 자세히 살펴본다.
도 7은 몇몇 실시예들에 따른 스트림 재처리 프로세서 내의 제어부의 동작을 설명하기 위한 예시적인 흐름도이다.
도 2, 도 3, 도 4, 및 도 7을 참조하면, 제어부(1720)는 자원 검사기(1722)를 통해, 입력부(1710)를 통해 전송받은 스트림을, 스트림 재처리 프로세서(1700)가 재처리하는데 충분한 자원을 스트림 재처리 시스템(10)이 확보하고 있는지를 판단한다(S210). 만약, 스트림 재처리 프로세서(1700)를 위한 충분한 자원이 존재하지 않는다고 판단되면(N), 스트림에 대한 재처리를 수행하지 않는다.
그렇지 않고, 스트림 재처리 프로세서(1700)를 위한 충분한 자원이 존재한다고 판단되면(Y), 스트림 검사기(1726)를 통해, 스트림에 대한 재처리가 필요한 지 여부를 판단한다(S220). 만약, 스트림에 대한 재처리가 필요하지 않다고 판단되면(N), 스트림에 대한 재처리를 수행하지 않는다.
그렇지 않고, 스트림에 대한 재처리가 필요하다고 판단되면(Y), 유휴 상태 검사기(1724)를 통해 스트림 재처리 시스템(10)을 포함하는 전자 장치가 유휴 상태인지를 판단한다(예를 들어, 디스플레이가 꺼져 있는 지를 판단한다)(S230). 만약, 스트림 재처리 시스템(10)을 포함하는 전자 장치가 유휴 상태가 아니라면(예를 들어, 디스플레이가 꺼져 있지 않다면)(N), 스트림에 대한 재처리를 수행하지 않는다.
그렇지 않고, 스트림 재처리 시스템(10)을 포함하는 전자 장치가 유휴 상태라면(예를 들어, 디스플레이가 꺼져 있다면)(Y), 재처리부(1730)에 스트림에 대한 재처리 명령을 전달하여(S240), 재처리부(1730)가 스트림에 대한 재처리를 수행하도록 한다.
도 7의 제어부(1720)의 동작은 예시적인 것으로, 자원 검사기(1722)의 동작(S210), 스트림 검사기(1726)의 동작(S220), 및 유휴 상태 검사기(1724)의 동작(S230) 순서는 이에 제한되지 않고, 서로 바뀔 수도 있으며, 세 개의 동작이 동시에 진행될 수도 있다. 또는 세 개의 동작 중 적어도 일부의 동작들만 동시에 진행될 수도 있다. 그 외에, 도 4에서 설명된 바와 같이, 추가적인 스트림에 대한 재처리를 수행할 지 여부를 판단하는 구성이 추가되는 경우, 도 7의 흐름도에 동작이 추가될 수도 있다.
다시, 도 2, 도 3 및 도 6를 참조하면, 제어부(1720)를 통해 스트림에 대한 재처리의 수행 여부를 판단 결과(S200), 스트림에 대한 재처리의 수행이 불가능하다면(N), 스트림에 대한 재처리를 수행하지 않는다(S300).
그렇지 않고, 스트림에 대한 재처리 명령을 제어부(1720)로부터 재처리부(1730)가 수신 받으면, 재처리부(1730)는 스트림에 대한 재처리를 수행한다(S400). 재처리부(1730)가 스트림에 대한 재처리를 수행하는 과정(S400)을 도 9을 통해 자세히 살펴본다.
도 8은 몇몇 실시예들에 따른 스트림 재처리 프로세서 내의 제어부의 동작을 설명하기 위한 다른 예시적인 흐름도이다.
도 2, 도 3, 도 4, 및 도 8을 참조하면, 몇몇 실시예들에 따른 도 7의 스트림 재처리 프로세서 내의 제어부의 동작과는 달리, 복수의 단계들(S210, S220, 및 S230)이 병렬적으로 동작할 수 있다.
더 자세히는, 제어부(1720)는 자원 검사기(1722)를 통해, 입력부(1710)를 통해 전송받은 스트림을, 스트림 재처리 프로세서(1700)가 재처리하는데 충분한 자원을 스트림 재처리 시스템(10)이 확보하고 있는지를 판단한다(S210). 만약, 스트림 재처리 프로세서(1700)를 위한 충분한 자원이 존재하지 않는다고 판단되면(N), 스트림에 대한 재처리를 수행하지 않는다.
그렇지 않고, 스트림 재처리 프로세서(1700)를 위한 충분한 자원이 존재한다고 판단되면(Y), 재처리부(1730)에 스트림에 대한 재처리 명령을 전달하여(S240), 재처리부(1730)가 스트림에 대한 재처리를 수행하도록 한다.
또한, 제어부(1720)는 스트림 검사기(1726)를 통해, 스트림에 대한 재처리가 필요한 지 여부를 판단한다(S220). 만약, 스트림에 대한 재처리가 필요하지 않다고 판단되면(N), 스트림에 대한 재처리를 수행하지 않는다.
그렇지 않고, 스트림에 대한 재처리가 필요하다고 판단되면(Y), 재처리부(1730)에 스트림에 대한 재처리 명령을 전달하여(S240), 재처리부(1730)가 스트림에 대한 재처리를 수행하도록 한다.
또한, 제어부(1720)는 유휴 상태 검사기(1724)를 통해 스트림 재처리 시스템(10)을 포함하는 전자 장치가 유휴 상태인지(예를 들어, 디스플레이가 꺼져 있는 지)를 판단한다(S230). 만약, 스트림 재처리 시스템(10)을 포함하는 전자 장치가 유휴 상태가 아니라면(예를 들어, 디스플레이가 꺼져 있지 않다면)(N), 스트림에 대한 재처리를 수행하지 않는다.
그렇지 않고, 스트림 재처리 시스템(10)을 포함하는 전자 장치가 유휴 상태라면(예를 들어, 디스플레이가 꺼져 있다면)(Y), 재처리부(1730)에 스트림에 대한 재처리 명령을 전달하여(S240), 재처리부(1730)가 스트림에 대한 재처리를 수행하도록 한다.
즉, 제어부(1720)는 복수의 단계들(S210, S220, 및 S230) 중 어느 하나의 단계만 만족하더라도, 재처리부(1730)에 스트림에 대한 재처리 명령을 전달하여(S240), 재처리부(1730)가 스트림에 대한 재처리를 수행하도록 할 수 있다.
도 9은 몇몇 실시예들에 따른 스트림 재처리 프로세서 내의 재처리부를 설명하기 위한 예시적인 흐름도이다.
도 2, 도 3, 도 5, 및 도 9을 참조하면, 재처리부(1730)는 스트림에 대한 재처리를 수행할 알고리즘을 알고리즘 저장부(1732) 내에 저장된 알고리즘으로부터 추출하여 이용한다(S410). 이때, 이용되는 알고리즘에 대한 자세한 설명은 도 5에서 설명한 바와 동일하므로 설명을 생략한다.
재처리부(1730)는 스트림에 대한 재처리를 수행할 알고리즘이 필요한 범용 하드웨어(예를 들어 중앙 처리 장치(1200), 신경망 처리 장치(1300), 및/또는 그래픽 처리 장치(1400)) 자원을 자원 이용부(1734)를 통해 이용해 올 수 있다(S420). 이에 대한 설명은 도 5에서 설명한 바와 동일하므로 설명을 생략한다.
재처리부(1730)가 알고리즘 저장부(1732)로부터 알고리즘을 추출하는 동작(S410)과, 재처리부(1730)가 자원 이용부(1734)를 통해 자원을 이용하는 동작(S420)의 순서는 이에 제한되지 않는다. 예를 들어, 알고리즘의 추출(S410)과 하드웨어 자원을 이용하는 동작(S420)이 동시에 일어날 수도 있다.
다시, 도 2, 도 3, 및 도 6를 참조하면, 재처리부(1730)를 통해 재처리된 스트림은 출력부(1740)를 통해, 스트림 재처리 프로세서(1700) 외의 구성(예를 들어, 디스플레이 컨트롤러(1500), 메모리 컨트롤러(1600), 코덱(1100), 중앙 처리 장치(1200), 신경망 처리 장치(1300), 및/또는 그래픽 처리 장치(1400))으로 전송될 수 있다.
도 10은 몇몇 실시예들에 따른 스트림 재처리 시스템을 통한 스트림 데이터 사이즈와 질(quality) 변화를 설명하기 위한 예시적인 그래프들이다.
도 2, 도 3, 및 도 10을 참조하면, 스트림을 재처리하는데, 범용 하드웨어(예를 들어 중앙 처리 장치(1200), 신경망 처리 장치(1300), 및/또는 그래픽 처리 장치(1400)) 자원을 이용하지 않고, 한정된 자원으로 스트림을 재처리하는 경우, 그래프 (a)와 그래프 (b)에 도시된 바와 같이, 스트림 압축 효율이 낮아 데이터의 크기는 커지며, 스트림의 품질 역시 저하될 수 있다. 반면, 몇몇 실시예들에 따른 스트림 재처리 프로세서(1700)와 같이, 범용 하드웨어(예를 들어 중앙 처리 장치(1200), 신경망 처리 장치(1300), 및/또는 그래픽 처리 장치(1400)) 자원을 충분히 이용하여, 스트림에 대한 재처리를 수행함으로써, 그래프 (c)와 그래프(d)와 같이, 스트림 압축 효율을 향상시켜, 데이터의 크기도 작게 재처리할 수 있으며, 스트림의 품질 역시 향상시킬 수 있다.
이하에서는 설명의 간략화를 위해, 상술된 설명과 중복되는 설명은 생략한다.
도 11는 몇몇 실시예들에 따른 다른 스트림 재처리 시스템을 설명하기 위한 예시적인 블록도이다.
도 11를 참조하면, 시스템 온 칩(1002)은 도 2의 시스템 온 칩(1000)에 사용자 인터페이스(5000)가 더 추가될 수 있다.
사용자 인터페이스(5000)는 스트림 재처리 시스템(20)의 사용자로부터 입력된 사용자 입력을 처리하고, 처리된 사용자 입력을 버스(1800)로 전송할 수 있다. 예컨대, 사용자 인터페이스(5000)는 음성 신호를 처리할 수 있는 인터페이스, 또는 사용자의 터치 입력을 처리할 수 있는 인터페이스로 구현될 수 있다. 예컨대, 사용자 인터페이스(5000)가 상기 터치 입력을 처리할 수 있는 인터페이스(예컨대, 터치 스크린 또는 터치 스크린 컨트롤러)일 때, 사용자 인터페이스(5000)는 디스플레이(3000)를 통해 입력된 터치 입력을 처리할 수 있다.
스트림 재처리 시스템(20)의 사용자는, 사용자 인터페이스(5000)를 통해, 몇몇 실시예들에 따른 스트림 재처리 프로세서(1700)의 동작에 관여할 수 있다. 이를, 도 12 내지 도 14를 통해 자세히 살펴본다.
도 12 내지 도 14는 몇몇 실시예들에 따른 스트림 재처리 시스템의 다른 동작을 설명하기 위한 예시적인 흐름도들이다.
먼저, 도 11 및 도 12을 참조하면, 스트림 재처리 시스템(20) 은 사용자 인터페이스(5000)를 통해, 사용자로부터 스트림 재처리 명령을 수신 받았는지 판단한다(S1100). 만약, 사용자로부터 스트림 재처리 명령을 수신 받지 않았다면(N), 스트림 재처리 동작을 수행하지 않는다(S1300).
그렇지 않고, 스트림 재처리 시스템(20)이 사용자 인터페이스(5000)를 통해, 사용자로부터 스트림 재처리 명령을 수신 받았다면(Y), 몇몇 실시예들에 따른 스트림 재처리 동작(S1200, S1300, S1400, S1500, 및 S1600)을 수행한다. 몇몇 실시예들에 따른 스트림 재처리 동작(S1200, S1300, S1400, S1500, 및 S1600)은 도 6를 통해 설명된 몇몇 실시예들에 따른 스트림 재처리 동작(S100, S200, S300, S400, 및 S500)과 유사하므로, 설명을 생략한다.
다른 예로, 도 11 및 도 13을 참조하면, 스트림 재처리 시스템(20)은 동작(S2100, S2200, 및 S2300)을 수행한다. 스트림 재처리 시스템(20)의 동작(S2100, S2200, 및 S2300)은 도 6의 동작(S100, S200, 및 S300)과 유사하므로, 설명을 생략한다.
스트림 재처리 프로세서(1700)의 제어부로부터 스트림에 대한 재처리 조건 만족된 것으로 판단되면, 스트림 재처리 프로세서(1700)는 스트림 재처리 시스템(20)의 사용자에게 사용자 인터페이스(5000)를 통해, 스트림 재처리 동작을 수행할 지에 대한 메시지를 전달할 수 있다(S2400).
이후, 스트림 재처리 프로세서(1700)는 사용자로부터 스트림 재처리 동작 수행 명령을 수신 받았는지를 확인한다(S2500).
만약, 스트림 재처리 시스템(20)이 사용자로부터 스트림 재처리 동작 수행 명령을 받지 못한다면(N), 스트림 재처리 시스템(20)은 스트림 재처리 동작을 수행하지 않는다(S2300).
그렇지 않고, 스트림 재처리 시스템(20)이 사용자로부터 스트림 재처리 동작 수행 명령을 수신 받는다면(Y), 스트림 재처리 시스템(20)은 스트림 재처리 동작(S2600, 및 S2700)을 수행한다. 스트림 재처리 시스템(20)의 스트림 재처리 동작(S2600, 및 S2700)은 도 6의 동작(S400, 및 S500)과 유사하므로, 설명을 생략한다.
다른 예로, 도 11 및 도 14를 참조하면, 스트림 재처리 시스템(20)은 동작(S3100)을 수행한다. 스트림 재처리 시스템(20)의 동작(S3100)은 도 6의 동작(S100)과 유사하므로, 설명을 생략한다.
스트림 재처리 프로세서(1700)는 스트림 재처리 시스템(20)의 사용자에게 사용자 인터페이스(5000)를 통해, 스트림 재처리 동작을 수행할 지에 대한 메시지를 전달할 수 있다(S3400).
이후, 스트림 재처리 프로세서(1700)는 사용자로부터 스트림 재처리 동작 수행 명령을 수신 받았는 지를 확인한다(S3500).
만약, 스트림 재처리 시스템(20)이 사용자로부터 스트림 재처리 동작 수행 명령을 받지 못한다면(N), 스트림 재처리 시스템(20)은 스트림 재처리 동작을 수행하지 않는다(S3300).
그렇지 않고, 스트림 재처리 시스템(20)이 사용자로부터 스트림 재처리 동작 수행 명령을 수신 받는다면(Y), 스트림 재처리 시스템(20)은 스트림 재처리 동작(S3200, S3300, S3600, 및 S3700)을 수행한다. 스트림 재처리 시스템(20)의 스트림 재처리 동작(S3200, S3300, S3600, 및 S3700)은 도 6의 동작(S200, S300, S400, 및 S500)과 유사하므로, 설명을 생략한다.
도 15은 몇몇 실시예들에 따른 다른 스트림 재처리 프로세서를 설명하기 위한 예시적인 블록도이다.
도 11 및 도 15을 참조하면, 몇몇 실시예들에 따른 스트림 재처리 프로세서(1702)는 소프트웨어로 구성될 수 있다.
이때, 스트림 재처리 프로세서(1702)는 도 3의 스트림 재처리 프로세서(1700)의 구성에 업데이트부(1750)를 더 포함할 수 있다.
업데이트부(1750)는 스트림 재처리 프로세서(1702)의 업데이트 여부를 확인하고, 스트림 재처리 프로세서(1702)의 업데이트 정보가 확인되면, 사용자 인터페이스(5000)를 통해, 스트림 재처리 시스템(20)의 사용자에게 업데이트 수행 여부를 확인받고, 스트림 재처리 프로세서(1702) 관련 소프트웨어(예를 들어, 어플리케이션 소프트웨어, 알고리즘 소프트웨어, 펌웨어 등)를 업데이트할 수 있다.
이에 대한, 동작을 도 16의 흐름도를 통해, 자세히 살펴본다.
도 16는 몇몇 실시예들에 따른 다른 스트림 재처리 프로세서의 동작을 설명하기 위한 예시적인 흐름도이다.
도 11, 도 15, 및 도 16를 참조하면, 스트림 프로세서(1702)의 소프트웨어 업데이트를 확인한 업데이트부(1750)는 사용자 인터페이스(5000)를 통해, 스트림 재처리 시스템(20)의 사용자에게 스트림 프로세서(1702)의 소프트웨어 업데이트 수행 여부 메시지를 전달한다.
이후, 스트림 프로세서(1702)는 사용자로부터 스트림 프로세서(1702)의 소프트웨어 업데이트 수행 명령을 수신 받았는 지를 확인한다.
이때, 스트림 프로세서(1702)는 사용자로부터 스트림 프로세서(1702)의 소프트웨어 업데이트 수행 명령을 수신 받지 못한 경우(N), 스트림 프로세서(1702)의 업데이트를 수행하지 않는다.
그렇지 않고, 스트림 프로세서(1702)는 사용자로부터 스트림 프로세서(1702)의 소프트웨어 업데이트 수행 명령을 수신 받은 경우(Y), 스트림 프로세서(1702)의 업데이트를 수행한다(S4400).
도 17는 몇몇 실시예들에 따른 다른 스트림 재처리 시스템을 설명하기 위한 예시적인 블록도이다.
도 17를 참조하면, 시스템 온 칩(1004)은 도 11의 시스템 온 칩(1002)에 네트워크 통신 인터페이스(1900)가 더 추가될 수 있다. 또한, 스트림 재처리 시스템(30)은 도 11의 시스템 재처리 시스템(20)에 서버(6000)가 더 추가될 수 있다.
네트워크 통신 인터페이스(1900)은 시스템 온 칩(1004)과 서버(6000) 사이에서 다이렉트(예를 들어, 유선) 통신 채널 혹은 무선 통신 채널을 설정하고 설정된 통신 채널을 통해 통신을 수행하는 것을 지원할 수 있다.
네트워크 통신 인터페이스(1900)은 중앙 처리 장치(1200)(예를 들어, AP)와 독립적으로 동작 가능하고 다이렉트(예를 들어, 유선)통신 또는 무선 통신을 지원하는 하나 이상의 통신 프로세서를 포함할 수 있다.
몇몇 실시예들에 따르면, 네트워크 통신 인터페이스(1900)은 무선 통신 모듈(예를 들어, 셀룰러 통신 모듈, 단거리 무선 통신 모듈, 또는 GNSS(Global Navigation Satellite System)) 또는 유선 통신 모듈(예를 들어, LAN(Local Area Network) 통신 모듈 또는 PLC(Power Line Communication) 모듈)을 포함할 수 있다.
이들 통신 모듈 중 대응하는 하나는 네트워크(예를 들어, 블루투스TM, Wi-Fi(Wireless-Fidelity) 다이렉트, 혹은 IrDA(Infrared Data Association)의 표준과 같은 단거리 통신 네트워크) 또는 다른 네트워크(예를 들어, 셀룰러 네트워크, 인터넷, 또는 컴퓨터 네트워크(예를 들어, LAN 또는 WAN(Wide Area Network))와 같은 장거리 통신 네트워크)를 통해 서버(6000)와 통신할 수 있다.
이러한 다양한 유형의 통신 모듈은 단일 컴포넌트(예를 들어, 싱글 IC)로써 구현될 수 있거나, 또는 서로 분리된 멀티 컴포넌트들(예를 들어, 멀티 IC들)로써 구현될 수 있다.
네트워크 통신 인터페이스(1900)는 가입자 식별 모듈에 저장된 가입자 정보(예를 들어, IMSI(International Mobile Subscriber Identity))를 사용하여, 통신 네트워크 내의 전자 장치를 식별하고 진짜임을 증명할 수 있다.
몇몇 실시예들에 따르면, 시스템 온 칩(1004)의 명령들 혹은 데이터는 네트워크 통신 인터페이스(1900)와 결합된 네트워크를 통해 서버(6000)에 전송 혹은 수신될 수 있다.
서버(6000)는 시스템 온 칩(1004)과 같은 혹은 다른 유형의 장치일 수 있다. 몇몇 실시예들에 따르면, 시스템 온 칩(1004)에서 실행될 모든 또는 일부 동작은 서버(6000)에서 실행될 수도 있다.
예를 들어, 시스템 온 칩(1004)이 서버(6000)로 기능 또는 서비스를 요청하는 경우, 기능 또는 요청이 서버(6000)에 의해 수행될 수 있고, 시스템 온 칩(1004)으로 수행 결과를 전송할 수 있다. 이를 위해, 예를 들어, 클라우드 컴퓨팅, 분산 컴퓨팅 또는 클라이언트-서버 컴퓨팅 기술이 사용될 수 있다. 즉, 서버(6000) 자체에 데이터의 입출력을 제어하는 프로세서와 상기 데이터가 저장되는 메모리가 포함될 수 있다.
예를 들어, 스트림 재처리 프로세서(1700)의 기능을 수행하는 스트림 재처리 시스템을 수행할 수 있는 어플리케이션 소프트웨어가 서버(6000)에 저장되어 있어, 사용자의 요청에 의해, 시스템 온 칩(1004)으로 다운 받을 수 있다. 또한, 예를 들어, 스트림 재처리 프로세서(1700)가 재처리할 스트림이 서버(6000)에 저장되어 있어, 스트림 재처리 프로세서(1700)가 서버(6000)로부터 스트림을 수신 받아 재처리를 수행할 수도 있다.
몇몇 실시예들에 따른 스트림 재처리 시스템(30)의 동작을 도 18 내지 도 22의 흐름도를 통해 자세히 살펴본다.
도 18 내지 도 22은 몇몇 실시예들에 따른 스트림 재처리 시스템의 다른 동작을 설명하기 위한 예시적인 흐름도들이다.
먼저, 도 17 및 도 18을 참조하면, 스트림 재처리 시스템(30)의 사용자가 서버(6000)를 통해 스트림 재처리 프로세서(1700)의 기능을 수행하는 스트림 재처리 어플리케이션 소프트웨어를 시스템 온 칩(1004)으로 다운 받을 수 있다(S5100).
이후의 스트림 재처리 시스템(30)의 동작(S5200, S5300, S5400, S5500, 및 S5600)은 도 6의 스트림 재처리 시스템(10)의 동작(S100, S200, S300, S400, 및 S500)과 유사하므로 중복된 설명을 생략한다.
다른 예로, 도 17 및 도 19을 참조하면, 스트림 재처리 시스템(30)의 스트림 재처리 프로세서(1700)는 재처리의 대상이 되는 스트림을 서버(6000)로부터 수신 받을 수 있다(S6100).
이후의 스트림 재처리 시스템(30)의 동작(S6200, S6300, S6400, 및 S6500은 도 6의 스트림 재처리 시스템(10)의 동작(S200, S300, S400, 및 S500)과 유사하므로 중복된 설명을 생략한다.
다른 예로, 도 17 및 도 20를 참조하면, 도 2 내지 도 19을 통해 상술된 내용들을 바탕으로, 스트림 재처리 프로세서(1700)를 통해 스트림의 재처리가 수행된다(S7000).
이후, 디스플레이 장치(4000)를 통해, 재처리된 스트림의 업데이트 방식을 디스플레이 한다(S7100).
이후, 몇몇 실시예들에 따른 스트림 재처리 시스템(30)의 사용자는 사용자 인터페이스(5000)를 통해, 디스플레이 장치(4000)에 디스플레이된 재처리된 스트림의 업데이트 방식을 선택할 수 있다(S7200).
예를 들어, 사용자는 사용자 인터페이스(5000)가 음성 신호를 처리할 수 있는 인터페이스라면, 음성 신호를 통해, 재처리된 스트림의 업데이트 방식을 선택할 수 있다. 또는, 사용자는 사용자 인터페이스(5000)가 사용자의 터치 입력을 처리할 수 있는 인터페이스로 구현된 경우, 디스플레이 장치(4000)에 대한 터치 동작을 통해, 재처리된 스트림의 업데이트 방식을 선택할 수 있다.
몇몇 실시예들에 따른 스트림 재처리 프로세서(1700)를 통해 재처리된 스트림의 업데이트 방식은 예를 들어, 외부(예를 들어, 메모리(4000), 및/또는 서버(6000))에 저장된, 재처리가 수행되기 전의 스트림을 삭제한 후, 상기 재처리된 스트림을 외부(예를 들어, 메모리(4000), 및/또는 서버(6000))에 저장하는 방식일 수 있다.
또는, 몇몇 실시예들에 따른 스트림 재처리 프로세서(1700)를 통해 재처리된 스트림의 업데이트 방식은 예를 들어, 외부(예를 들어, 메모리(4000), 및/또는 서버(6000))에 저장된, 재처리가 수행되기 전의 스트림을 유지하고, 상기 재처리된 스트림을 외부(예를 들어, 메모리(4000), 및/또는 서버(6000))에 추가로 저장하는 방식일 수 있다.
다른 예로, 도 17 및 도 21을 참조하면, 몇몇 실시예들에 따른 스트림 재처리 시스템(30)의 사용자는 도 2 내지 도 19을 통해 상술된 스트림 재처리 프로세서(1700)가 스트림 재처리 동작을 자동으로 수행할 지 여부를 미리 선택할 수도 있다.
더 자세히는, 디스플레이 장치(4000)를 통해, 외부(예를 들어, 메모리(4000), 및/또는 서버(6000))로부터 스트림 재처리 시스템(30)의 사용자가 생성한 스트림에 대해, 스트림 재처리 프로세서(1700)를 통해, 사용자가 생성한 스트림에 대한 재처리를 자동으로 수행할 지 여부를 디스플레이 한다(S8000).
만약, 사용자가 사용자 인터페이스(5000)를 통해, 사용자가 생성한 스트림에 대해 자동으로 재처리를 수행하라는 명령을 전달하지 않는다면(N), 스트림 재처리 시스템(30)은 사용자가 생성한 스트림에 대해, 매번 스트림 재처리 프로세서(1700)를 통해 스트림 재처리 동작을 수행할 지 여부에 대한 메시지를 사용자 인터페이스(5000)를 통해, 전달한다(S8100).
그렇지 않고, 사용자가 사용자 인터페이스(5000)를 통해, 사용자가 생성한 스트림에 대해 자동으로 재처리를 수행하라는 명령을 전송하면(Y), 스트림 재처리 프로세서(1700)는 사용자가 생성한 스트림에 대해, 도 2 내지 도 19을 통해 상술된 스트림 재처리 동작을 자동으로 수행할 수 있다(S8200).
다른 예로, 도 17 및 도 22을 참조하면, 몇몇 실시예들에 따른 스트림 재처리 시스템(30)의 사용자는 도 2 내지 도 19을 통해 상술된 스트림 재처리 프로세서(1700)를 통해 재처리가 수행된 스트림에 대한 사용 여부를 선택할 수도 있다.
먼저, 도 2 내지 도 19을 통해 상술된 내용들을 바탕으로, 스트림 재처리 프로세서(1700)를 통해 스트림의 재처리가 수행된다(S9000).
이후, 디스플레이 장치(4000)를 통해, 스트림 재처리 프로세서(1700)를 통해 재처리된 스트림을 디스플레이 한다(S9100).
이후, 사용자가 사용자 인터페이스(5000)를 통해, 스트림 재처리 프로세서(1700)를 통해 재처리된 스트림을 사용할 것으로 허가한다면(Y), 기존의 스트림을 재처리된 스트림으로 대체한다(S9300). 예를 들어, 기존의 스트림이 삭제되고 재처리된 스트림이 메모리(4000) 혹은 서버(6000)에 저장될 수 있다.
만약, 사용자가 사용자 인터페이스(5000)를 통해, 스트림 재처리 프로세서(1700)를 통해 재처리된 스트림을 사용하지 않는다고 판단하면(N), 재처리된 스트림은 삭제되고, 메모리(4000) 혹은 서버(6000)에는 기존의 스트림이 존재할 수 있다(S9400).
이상 첨부된 도면을 참조하여 본 발명의 실시예들을 설명하였으나, 본 발명은 상기 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 제조될 수 있으며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.
1000: 시스템 온 칩 1100: 코덱 1200: 중앙 처리 장치 1300: 신경망 처리 장치 1400: 그래픽 처리 장치 1500: 디스플레이 컨트롤러 1600: 메모리 컨트롤러 1700: 스트림 재처리 프로세서 2000: 카메라 3000: 디스플레이 4000: 메모리

Claims (20)

  1. 중앙 처리 장치(CPU: Central Processing Unit)를 포함하는 복수의 프로세서들;
    외부로부터 스트림을 수신하는 메모리 컨트롤러; 및
    상기 스트림을 재처리하는 스트림 재처리 프로세서를 포함하되,
    상기 스트림 재처리 프로세서는,
    상기 스트림을 수신 받은 입력부,
    상기 스트림 재처리의 수행 여부를 판단하는 제어부,
    상기 제어부로부터 상기 스트림 재처리의 수행 명령을 수신 받으면, 상기 스트림을 재처리하는 재처리부와,
    상기 재처리된 스트림을 상기 메모리로 전송하는 출력부를 포함하는 스트림 재처리 시스템 온 칩.
  2. 제 1항에 있어서,
    상기 제어부는,
    배터리가 상기 스트림을 재처리를 수행할 정도로 충분한지 판단하는 자원 검사기와,
    상기 스트림에 대한 재처리가 필요한지 판단하는 스트림 검사기을 포함하되,
    상기 제어부는, 상기 배터리가 충분하며, 상기 스트림에 대한 재처리가 필요하다고 판단된 경우 상기 재처리부에 상기 스트림 재처리의 수행 명령을 전송하는 스트림 재처리 시스템 온 칩.
  3. 제 1항에 있어서,
    외부로부터 스트림 재처리 명령을 수신 받는 사용자 인터페이스를 더 포함하되,
    상기 제어부는, 상기 스트림 재처리 명령을 바탕으로 상기 스트림 재처리의 수행 여부를 판단하는 스트림 재처리 시스템 온 칩.
  4. 제 1항에 있어서,
    상기 스트림 재처리 프로세서는 소프트웨어로 구성되는 스트림 재처리 시스템 온 칩.
  5. 제 4항에 있어서,
    상기 스트림 재처리 프로세서는 업데이트부를 더 포함하되,
    상기 업데이트부는 상기 스트림 재처리 프로세서의 업데이트 여부를 확인하고, 상기 스트림 재처리 프로세서를 업데이트하는 스트림 재처리 시스템 온 칩.
  6. 제 1항에 있어서,
    외부와 네트워크를 통해 통신하는 네트워크 통신 인터페이스를 더 포함하되,
    상기 스트림 재처리 프로세서는 상기 외부를 통해, 어플리케이션으로 다운 가능한 스트림 재처리 시스템 온 칩.
  7. 제 1항에 있어서,
    상기 재처리부는,
    상기 스트림을 재처리하는 알고리즘을 저장하는 알고리즘 저장부를 포함하는 스트림 재처리 시스템 온 칩.
  8. 제 7항에 있어서,
    상기 알고리즘은,
    코덱(Codec) 알고리즘, 초해상화(SR: Super Resolution) 알고리즘, 프레임 레이트 변환(FRC: Frame Rate Conversion) 알고리즘, 영상 신호 처리(ISP: Image Signal Processing) 알고리즘, 및/또는 잡음 제거(Denoising) 알고리즘을 포함하는 스트림 재처리 시스템 온 칩.
  9. 제 7항에 있어서,
    상기 알고리즘은,
    멀티 패스 코딩(multi pass coding) 알고리즘, 율 왜곡 최적화(RDO: Rate Distortion Optimization) 알고리즘, 이미지 프레임 그룹(GOP: Group Of Pictures) 알고리즘, 및/또는 표준(Standard) 변경 알고리즘을 포함하는 스트림 재처리 시스템 온 칩.
  10. 제 1항에 있어서,
    상기 재처리부는,
    상기 복수의 프로세서들 중 적어도 하나의 자원을 이용하는 자원 이용부를 포함하는 스트림 재처리 시스템 온 칩.
  11. 카메라;
    상기 카메라를 통해 수신된 프레임을 압축하여 스트림을 생성하는 코덱;
    상기 코덱을 제어하는 중앙 처리 장치를 포함하는 복수의 프로세서들;
    상기 복수의 프로세서들 중 적어도 일부를 통해 제어되며, 상기 코덱을 통해 압축된 스트림을 출력하는 디스플레이;
    상기 스트림을 저장하는 메모리; 및
    상기 스트림을 재처리하는 스트림 재처리 프로세서를 포함하되,
    상기 스트림 재처리 프로세서는,
    상기 스트림을 수신 받은 입력부,
    상기 스트림 재처리의 수행 여부를 판단하는 제어부,
    상기 제어부로부터 상기 스트림 재처리의 수행 명령을 수신 받으면, 상기 스트림을 재처리하는 재처리부와,
    상기 재처리된 스트림을 상기 메모리로 전송하는 출력부를 포함하는 스트림 재처리 시스템.
  12. 제 11항에 있어서,
    상기 제어부는,
    배터리가 상기 스트림을 재처리를 수행할 정도로 충분한지 판단하는 자원 검사기,
    상기 디스플레이가 꺼져 있는 지 판단하는 유휴 상태 검사기와,
    상기 스트림에 대한 재처리가 필요한지 판단하는 스트림 검사기을 포함하되,
    상기 제어부는, 상기 배터리가 충분하며, 상기 디스플레이가 꺼져 있고, 상기 스트림에 대한 재처리가 필요하다고 판단된 경우 상기 재처리부에 상기 스트림 재처리의 수행 명령을 전송하는 스트림 재처리 시스템.
  13. 제 11항에 있어서,
    외부로부터 스트림 재처리 명령을 수신 받는 사용자 인터페이스를 더 포함하되,
    상기 제어부는, 상기 스트림 재처리 명령을 바탕으로 상기 스트림 재처리의 수행 여부를 판단하는 스트림 재처리 시스템.
  14. 제 11항에 있어서,
    상기 스트림 재처리 프로세서는 소프트웨어로 구성되는 스트림 재처리 시스템.
  15. 제 11항에 있어서,
    서버; 및
    상기 서버와 네트워크를 통해 통신하는 네트워크 통신 인터페이스를 더 포함하되,
    상기 스트림 재처리 프로세서는 상기 서버를 통해, 어플리케이션으로 다운 가능한 스트림 재처리 시스템.
  16. 제 11항에 있어서,
    상기 재처리부는,
    상기 스트림을 재처리하는 알고리즘을 저장하는 알고리즘 저장부를 포함하는 스트림 재처리 시스템.
  17. 제 16항에 있어서,
    상기 알고리즘은,
    코덱 알고리즘, 초해상화 알고리즘, 프레임 레이트 변환 알고리즘, 영상 신호 처리 알고리즘, 및/또는 잡음 제거 알고리즘을 포함하는 스트림 재처리 시스템.
  18. 제 16항에 있어서,
    상기 알고리즘은,
    멀티 패스 코딩 알고리즘, 율 왜곡 최적화 알고리즘, 이미지 프레임 그룹 알고리즘, 및/또는 표준 변경 알고리즘을 포함하는 스트림 재처리 시스템.
  19. 제 11에 있어서,
    상기 재처리부는,
    상기 복수의 프로세서들 중 적어도 하나의 자원을 이용하는 자원 이용부를 포함하는 스트림 재처리 시스템.
  20. 스트림의 입출력을 제어하는 프로세서; 및
    상기 스트림이 저장되는 메모리를 포함하되,
    상기 스트림은, 비-실시간(non-realtime)으로 동작하는 코덱 알고리즘, 초해상화 알고리즘, 프레임 레이트 변환 알고리즘, 영상 신호 처리 알고리즘, 및/또는 잡음 제거 알고리즘을 통한 압축 적정성을 판단한 후 재처리되는 스트림 재처리 시스템.
KR1020210084631A 2021-05-28 2021-06-29 스트림 재처리 시스템과 그 동작 방법 KR20220161108A (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
US17/570,863 US11726949B2 (en) 2021-05-28 2022-01-07 System and method for selectively reprocessing video streams based on system resources and stream status
EP22151085.2A EP4096229A1 (en) 2021-05-28 2022-01-12 Stream reprocessing system and method for operating the same
CN202210208444.9A CN115408331A (zh) 2021-05-28 2022-03-04 流再处理系统以及用于操作流再处理系统的方法
TW111107991A TW202246978A (zh) 2021-05-28 2022-03-04 流再處理系統晶片以及流再處理系統

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020210068734 2021-05-28
KR20210068734 2021-05-28

Publications (1)

Publication Number Publication Date
KR20220161108A true KR20220161108A (ko) 2022-12-06

Family

ID=84407016

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210084631A KR20220161108A (ko) 2021-05-28 2021-06-29 스트림 재처리 시스템과 그 동작 방법

Country Status (1)

Country Link
KR (1) KR20220161108A (ko)

Similar Documents

Publication Publication Date Title
RU2661763C2 (ru) Использование межкадровой когерентности в архитектуре построения изображений с сортировкой примитивов на промежуточном этапе
US10978027B2 (en) Electronic display partial image frame update systems and methods
US10528998B2 (en) Systems and methods for presenting information related to products or services being shown on a second display device on a first display device using augmented reality technology
CN110036628B (zh) 动态配置用于图像产生的存储器带宽
KR20130036213A (ko) 상태 정보의 손실 없이 복수의 프로세서들을 사용하여 비디오 및/또는 그래픽 데이터를 처리하기 위한 방법, 시스템 및 장치
WO2021146930A1 (zh) 显示处理方法、显示处理装置、电子设备及存储介质
CN113064727B (zh) 应用于Android系统的图像显示调度方法、终端及存储介质
US10504278B1 (en) Blending neighboring bins
US20160342192A1 (en) Variable Precision In Hardware Pipelines For Power Conservation
US20140253598A1 (en) Generating scaled images simultaneously using an original image
TW202203003A (zh) 對顯示器的圖像產生的功率需求減少
CN110782387A (zh) 图像处理方法、装置、图像处理器及电子设备
US9148544B2 (en) System, process, and computer program product for implementing a document scanner in a hand-held device
US11431872B2 (en) Buffer management for plug-in architectures in computation graph structures
US20060282781A1 (en) Using a graphics system to enable a multi-user computer system
US11243598B2 (en) Proactive power management of a graphics processor
KR20220161108A (ko) 스트림 재처리 시스템과 그 동작 방법
EP4096229A1 (en) Stream reprocessing system and method for operating the same
WO2017050075A1 (zh) 用于实时滑动显示扫描图像的方法及系统
US20150006839A1 (en) Swapping pointers to process data stored in buffers by a data source without copying the data to separate storage
CN117311882A (zh) 一种画面渲染方法、装置、设备及介质
CN114066721A (zh) 显示方法、装置和电子设备
CN111930219A (zh) 用于移动设备的可缩放显示方法、移动设备及存储介质
US20140267317A1 (en) Multimedia system and operating method of the same
US20130326351A1 (en) Video Post-Processing on Platforms without an Interface to Handle the Video Post-Processing Request from a Video Player

Legal Events

Date Code Title Description
A201 Request for examination