KR102474168B1 - 적응형 컨볼루션 및 적응형 분리형 컨볼루션을 통한 프레임 인터폴레이션 - Google Patents

적응형 컨볼루션 및 적응형 분리형 컨볼루션을 통한 프레임 인터폴레이션 Download PDF

Info

Publication number
KR102474168B1
KR102474168B1 KR1020197030137A KR20197030137A KR102474168B1 KR 102474168 B1 KR102474168 B1 KR 102474168B1 KR 1020197030137 A KR1020197030137 A KR 1020197030137A KR 20197030137 A KR20197030137 A KR 20197030137A KR 102474168 B1 KR102474168 B1 KR 102474168B1
Authority
KR
South Korea
Prior art keywords
pixel
patch
convolution
layers
frame
Prior art date
Application number
KR1020197030137A
Other languages
English (en)
Other versions
KR20190132415A (ko
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 포틀랜드 스테이트 유니버시티
Publication of KR20190132415A publication Critical patent/KR20190132415A/ko
Application granted granted Critical
Publication of KR102474168B1 publication Critical patent/KR102474168B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/10Machine learning using kernel methods, e.g. support vector machines [SVM]
    • 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
    • H04N7/00Television systems
    • H04N7/01Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
    • H04N7/0127Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level by changing the field or frame frequency of the incoming video signal, e.g. frame rate converter
    • 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/0135Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level involving interpolation processes
    • 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/587Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal sub-sampling or interpolation, e.g. decimation or subsequent interpolation of pictures in a video sequence

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Image Processing (AREA)
  • Television Systems (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

비디오 프레임 인터폴레이션을 위한 상황 인식 합성을 위한 시스템, 방법 및 컴퓨터 판독 가능 매체가 제공된다. 컨볼루션 뉴럴 네트워크(ConvNet)는, 두개의 입력 비디오 또는 이미지 프레임이 주어지면, 모션 추정 및 픽셀 합성을 단일 단계로 결합하고 입력 이미지에서 패치를 통하여 로컬 컨볼루션으로서 픽셀 인터폴레이션을 공식화함으로써 두개의 입력 프레임의 중간에 프레임을 일시적으로 인터폴레이션 할 수 있다. ConvNet은 제 1 입력 이미지 프레임의 제 1 수용 필드 패치 및 제 2 입력 이미지 프레임의 제 2 수용 필드 패치에 기초하여 컨볼루션 커널을 추정 할 수 있다. ConvNet은 이어서 인터폴레이션 프레임의 출력 픽셀의 컬러 데이터를 얻기 위해 제 1 입력 이미지 프레임의 제 1 픽셀 패치 및 제 2 입력 이미지 프레임의 제 2 픽셀 패치를 통해 컨볼루션 커널을 컨볼루션할 수 있다. 다른 실시 예들이 설명 및/또는 청구될 수 있다.

Description

적응형 컨볼루션 및 적응형 분리형 컨볼루션을 통한 프레임 인터폴레이션
연방 후원 연구에 관한 진술
본 발명은 정보 및 지능 시스템(IIS)의 NF(National Science Foundation) 디비전 의해 수여된 상 번호 1321119하에서 미국 정부의 지원으로 이루어진 것이다. 미국 정부는 본 발명에 대한 특정 권리를 갖는다.
관련출원
본 출원은 2017년 3월 17일에 출원된 미국 가출원 제62/473,234호 및 2017년 4월 14일에 출원된 미국 가출원 제62/485,794호에 대한 35 U.S.C.§ 119의 우선권을 주장하고, 이들 각각의 내용은 그 전문이 본원에 참조로 포함된다.
분야
다양한 실시 예들은 일반적으로 신호 처리 및 컴퓨터 비전 분야에 관련될 수있고, 특히 적응형 컨볼루션을 통한 비디오 프레임 인터폴레이션에 관련될 수 있다.
비디오 프레임 인터폴레이션(인터폴레이션)은 두 개의 연속 오리지널 프레임간에 중간 프레임을 생성하는 데 사용되는 기본적인 비디오 처리 기술이다. 비디오 프레임 인터폴레이션 알고리즘은 일반적으로 옵티컬 플로우 또는 그 변형을 추정하고 이를 사용하여 오리지널 프레임을 왜곡 및 혼합하여 인터폴레이션 결과를 생성한다.
본원에서 제공되는 배경 설명은 일반적으로 발명의 콘텍스트를 제시하기 위한 목적이다. 본원에서 달리 언급하지 않는 한, 이 섹션에 설명된 내용은 본 출원의 청구 범위에 대한 선행 기술이 아니며, 이 섹션에 포함됨으로써 선행 기술이라고 인정되지 않는다.
실시 예들은 첨부된 도면과 함께 다음의 상세한 설명에 의해 용이하게 이해 될 것이다. 이러한 설명을 용이하게 하기 위해, 유사한 참조 번호는 유사한 구성 요소를 나타낸다. 실시 예가 첨부 도면의 도면에 제한이 아닌 예로서 도시되어 있다.
도 1은 다양한 실시 예에 따른, 컨볼루션에 의한 픽셀 인터폴레이션이 실시 될 수 있는 예시적인 구성을 도시한다.
도 2a는 모션 추정 및 컬러 인터폴레이션에 의한 인터폴레이션의 예시적인 프로세스를 도시한다.
도 2b는 다양한 실시 예에 따른, 컨볼루션에 의한 인터폴레이션에서의 예시적인 프로세스를 도시한다.
도 3은 일부 실시 예에 따른 추가적인 그라디언트(구배) 손실을 사용하는 효과를 도시한 예시적인 결과를 도시한다.
도 4는 일부 실시 예에 따른 미들베리(Middlebury) 예의 예시적 정량적 평가를 도시한다.
도 5는 일부 실시 예에 따른 블러리(흐릿한) 영상의 예시적 정량적 평가를 도시한다.
도 6은 다양한 실시 예에 따른, 급격한 휘도 변화를 갖는 영상의 예시적 정성적 평가를 도시한다.
도 7은 다양한 실시 예에 따른, 오클루션(폐색)에 대한 예시적 정성적 평가 를 나타낸다.
도 8은 다양한 실시 예에 따른, 오클루션 처리의 일례를 도시한다.
도 9는 다양한 실시 예에 따른, 컨벌루션 커널의 일례를 도시한다.
도 10은 프레임 인터폴레이션 방법 상에 증가 모션의 효과를 나타내는 그래프를 도시한다.
도 11은 다양한 실시 예에 따른 예시적 프로세스와 여기에 개시된 다양한 실시예를 실시하기 위한 예시적 장치를 도시한다.
도 12는 다양한 실시 예에 따른, 픽셀 인터폴레이션의 예시적인 프로세스를 도시한다.
도 13은 다양한 실시 예에 따른 컨볼루션 뉴럴 네트워크 아키텍처의 예를 도시한다.
도 14는 다양한 메커니즘을 이용하여 생성된 예시적 이미지를 도시하는데, 처음 두개는 체크보드 아티팩트를 포함할 수 있다.
도 15는 다양한 실시 예에 따른 손실 함수의 효과를 보여주는 예시적 이미지를 도시한다.
도 16은 다양한 실시 예에 따른 프레임 인터폴레이션 방법 간에 시각적 비교를 도시한다.
도 17 및 도 18은 다양한 실시 예에 따른 추정된 커널의 비교를 도시한다.
도 19는 미들베리 옵티컬 플로우 트레닝 셋트의 평가와 미들베리 테스팅 셋트의 평가를 보여주는 테이블을 도시한다.
도 20은 다양한 실시 예에 따른 사용자 스타디의 결과를 도시한다.
도 21은 도 20의 사용자 스타디의 사용자가 본원의 다른 실시 예보다 본원의 실시 예를 사용하여 생성된 이미지를 선호하는 예를 도시한다.
도 22는 AdaConv 및 직접 합성을 사용하여 생성된 이미지와 비교하여 본원의 실시 예를 사용하여 제조된 예시적 이미지를 도시한다.
도 23은 다른 메커니즘을 사용하여 생성된 이미지와 비교하여 본원의 실시 예를 사용하여 제조된 예시적 이미지를 도시한다.
도 24는 본원의 다양한 실시 예에 따른 프레임 인터폴레이션을 위한 다양한 예시적 프로세스를 도시한다.
도 25는 본원에서 설명된 다양한 실시 예를 실시하기 위한 예시적 장치를 도시한다.
도 26은 다양한 실시 예에 따른 예시적 시스템을 도시한다.
도 27은 다양한 실시 예에 따른 컴퓨터 플랫폼의 일례를 도시한다.
이하의 상세한 설명은 첨부 도면을 참조한다. 동일한 참조 번호는 동일 또는 유사한 요소들을 식별하기 위해 상이한 도면들에 이용될 수 있다. 다음의 설명에서, 제한이 아닌 설명의 목적을 위해 특정한 세부 사항들이 다양한 실시 예들의 다양한 양태의 철저한 이해를 제공하기 위해서 특정 구조, 아키텍처, 인터페이스, 기술 등으로 설명된다. 그러나, 다양한 실시 예들의 여러 양태가 이런 특정 상세 사항으로부터 떨어진 다른 예들에서 실시될 수 있는 본 발명의 이점을 갖는 당업자에게 명백할 것이다. 어떤 경우에는, 잘 알려진 장치, 회로 및 방법의 설명이 불필요한 상세 설명으로 인해 다양한 실시 예의 설명을 불명료하게 하지 않도록 생략된다. 또한, 다양한 동작들은 예시적인 실시 예들을 이해하는데 가장 도움이 되는 방식으로, 차례로, 다수의 이산 동작으로서 기술된다; 그러나, 설명의 순서는 이들 동작이 반드시 순서에 의존한다는 것을 의미하는 것으로 해석되어서는 안 된다. 특히, 이러한 동작들은 제시된 순서대로 수행될 필요는 없다.
"다양한 실시 예에서", "일부 실시 예에서" 등의 문구가 반복적으로 사용된다. 문구는 일반적으로 동일한 실시 예를 참조하지 않는다; 그러나, 그것은 그럴 수 있다. 문맥이 달리 지시하지 않는 한 용어 "포함하는(comprising)", "갖는(having)", 및 "포함하는(including)" 등은 동의어이다. 구문 "A 및/또는 B"는 문구 "A 및/또는 B"와 유사하게(A),(B), 또는(A 및 B)를 의미한다. 본 발명의 이해를 위해, 문구 "A 및 B의 적어도 하나"는(A),(B), 또는(A 및 B)를 의미한다. 설명은 문구 "실시 예에서", "실시 예들에서", "일부 실시 예에서", 및/또는 "다양한 실시 예에서"를 이용할 수 있는데, 이는 각각 하나 이상의 동일한 또는 상이한 실시 예를 각각 참조할 수 있다. 또한, 본 발명의 실시 예에 대하여 사용된 용어 "포함하는(comprising)", "포함하는(including)", "갖는(having)" 등은 동의어이다.
I. 적응형 컨볼루션을 통한 비디오 프레임 인터폴레이션
본원에 기재된 실시 예는 프레임 인터폴레이션을 달성할 수 강력한 비디오 프레임 인터폴레이션을 포함하는데, 이는 명시적으로 별도의 단계로 인터폴레이션 프레임을 분할하지 않고 딥(깊은) 컨벌루션 뉴럴 네트워크을 이용할 수 있다. 실시 예는 두 개의 입력 영상 프레임에 대응하는 이미지 패치를 통해 로컬 컨벌루션의 픽셀 인터폴레이션을 고려할 수 있고, 깊은 완전 컨볼루션 뉴럴 네트워크을 이용한 공간적-적응형 컨볼루션 커널을 추정할 수 있다. 일례가 도 1에 도시되어 있는데, 이는 컨벌루션에 의한 픽셀 인터폴레이션이 다양한 실시 예에 따라 실시될 수 있는 예시적인 장치(100)를 도시한다.
장치(100)는 컨볼루션 뉴럴 네트워크(CNN 또는 ConvNet)(105)를 포함할 수 있는데, 이는 3 차원(3D) 입력 볼륨을 3D 출력 볼륨으로 변환하는 딥 뉴럴 네트워크일 수 있다. ConvNet(105)은 이미지 분류 작업을 위한 아키텍처일 수 있다. ConvNet(105)을 구현하는 컴퓨터 시스템/장치는 이미지의 로우(raw) 픽셀 데이터에 일련의 필터를 적용하여 더 높은 레벨의 특징을 추출하고 학습할 수 있는데, 이는 분류에 사용될 수 있다. ConvNet(105)은 입력 레이어, 출력 레이어 및 하나 이상의 히든 레이어를 포함할 수 있다. 하나 이상의 히든 레이어는 하나 이상의 컨볼루션 레이어, 트랜스포즈드 컨볼루션 레이어, 하나 이상의 풀링 레이어, 덴스 레이어, 업샘플링 레이어, 액티베이션 레이어 및/또는 레귤러리제이션 및/또는 노말리제이션 레이어를 포함할 수 있다.
입력 레이어는 이미지의 로우 픽셀 데이터를 포함할 수 있고, 출력 레이어는 깊이 차원을 따라 이미지의 등급 스코어의 한 벡터를 포함할 수 있다. 이 예에서, 입력 레이어는 입력 이미지 프레임(110)의 픽셀 데이터를 보유할 수 있다. 입력 레이어의 3D 입력 볼륨의 삼차원은 높이, 폭 및 깊이를 포함할 수 있다. 입력 레이어의 깊이 차원은 하나 이상의 이미지 프레임(110)(예를 들면, 각 프레임에 대한 적색, 녹색, 청색(RGB) 채널)의 컬러일 수 있다.
컨벌루션 레이어는 입력 데이터로 컨볼루션 동작의 특정 번호를 적용할 수 있다. 이는 출력 특성 맵의 단일 값을 생성하기 위해 동작의 세트를 수행하는 것을 포함할 수 있다. 각 컨벌루션 레이어는 학습 가능 필터들의 세트(또한 "커널" 또는 "웨이트"라 한다)를 포함할 수 있는데, 이는 전체 입력 볼륨을 관통하여 확장하는 작은 매트릭스일 수 있고, 블러링, 샤프닝, 엠보싱, 에지 검출 등에 사용될 수 있다. 각 컨벌루션 레이어는 입력 볼륨으로 대응 커널(또는 "컨발브")에 컨볼루션 동작을 적용할 수 있고, 다음 레이어에 결과를 전달할 수 있다. 개별 컨볼루션 레이어에 의해 처리된 데이터가 다른 컨벌루션 레이어의 수용 필드가 서로 중첩될 이미지 또는 이미지 프레임(예를 들면, 도 1의 수용 패치 R1 및 R2)의 수용 필드에 대응할 수 있다. 또한, 컨볼루션 레이어는 비선형성을 높이기 위해 액티베이션 레이어의 액티베이션 함수(기능)(예를 들면, ReLUs)를 적용할 수 있다.
풀링 레이어(들)는 다양한 그룹 또는 컨벌루션 레이어의 클러스터의 출력을 결합하기 위해 사용될 수 있다. 풀링 레이어는 특징 맵의 크기를 줄이기 위해 다운 샘플링의 형태를 구현할 수 있다. 일부 실시 예에서, 풀링 레이어(들)은 최대 풀링을 구현할 수 있는데, 이는 특징 맵의 하위 영역을 추출하고, 최대 값을 유지하며, 다른 값을 폐기한다.
인터폴레이션된 프레임에서 픽셀(x,y)의 경우, 딥 뉴럴 네트워크(예를 들면, ConvNet 105)는 출력 픽셀에서 중심으로 하는 두개의 수용 필드(입력) 패치 R1 및 R2를 입력으로서 취할 수 있고, 컨볼루션 커널 K를 추정할 수 있다. 컨볼루션 커널(K)은 출력 패치(115)를 합성하기 위해 입력 패치들(P1 및 P2)과 컨볼루션(convolve)하기 위해 사용될 수 있다. 도 1에서, 각각의 출력 픽셀(x,y)을 위해, 컨볼루션 커널(K)은 추정되고, 출력 프레임(115)의 컬러
Figure 112019104482418-pct00001
(x,y)를 생성하기 위해 입력 프레임(110)의(x,y)에 중심을 둔 패치들(P1 및 P2)로 컨벌루션하기 위해 사용될 수 있다.
일부 실시 예의 한 양태는, 옵티컬 플로우 추정에 의존하는 대신, 픽셀 패치 상에 컨벌루션으로서 픽셀 인터폴레이션의 공식이다. 이러한 컨볼루션이 공식은 단일 동작으로 모션 추정 및 픽셀의 합성을 통합할 수 있다. 딥 풀리 컨볼루션 뉴럴 네트워크는 별도 단계로 인터폴레이션을 나누지 않고 비디오 프레임 인터폴레이션을 제공할 수 있다. 이 공식은 또한 옵티컬 플로우에 기초한 것보다 더 유연하고 프레임 인터폴레이션을 위한 도전 시나리오를 더 잘 처리할 수 있다. 또한, 이러한 뉴럴 네트워크는 날카로운 인터폴레이션 결과를 가져올 수 있는 에지-인식 컨볼루션 커널을 추정할 수 있다.
일부 실시 예는 고품질의 비디오 인터폴레이션 결과를 생성하기 위해 풀리 딥 컨벌루션 뉴럴 네트워크를 이용한 강력한 비디오 프레임 인터폴레이션을 포함 할 수 있다. 이들 실시 예는 여러 가지 장점을 제공할 수 있다. 첫째, 비디오 인터폴레이션이 하나의 프로세스로 모델링될 수 있기 때문에, 실시 예는 경쟁 제약들 사이에서 적절한 절충(trade-off)을 할 수 있고 따라서 강력한 프레임 인터폴레이션 접근법을 제공할 수 있다. 둘째, 프레임 인터폴레이션 딥 컨볼루션 뉴럴 네트워크는 옵티컬 플로우와 같은 입수하기 어려운 그라운드 투루쓰 데이터(ground truth data) 없이도 광범위한 비디오 데이터를 사용하여 앤드-투-앤드로 직접 학습될 수 있다. 셋째, 실험에서 입증될 수 있는 바와 같이, 실시 예는 오클루전, 블러링 아티팩트 및 급격한 밝기 변화를 갖는 비디오와 같은 도전적인 비디오에 대한 고품질 프레임 인터폴레이션 결과를 생성할 수 있다.
비디오를 위한 프레임 인터폴레이션은 기본 컴퓨터 비전 및 비디오 처리 기술 중 하나이다. 이는 중간 프레임이 시간적으로 인접한 프레임으로부터 인터폴레이션되는 이미지-기반 렌더링의 특별한 경우이다. 이 섹션에서는 비디오 프레임 인터폴레이션에 고유한 연구에 초점을 맞추고 있다.
기존의 일부 프레임 인터폴레이션 방법은 스테레오 매칭 또는 옵티컬 플로우 알고리즘을 사용하여 두개의 연속 입력 프레임 사이의 치밀한(dense) 모션을 추정 한 다음, 추정된 치밀한 관련성에 따라 하나 이상의 중간 프레임을 인터폴레이션한다. 이러한 방법과는 달리, 다른 솔루션은 입력 이미지의 경로(path)를 추정하고 인터폴레이션할 프레임의 각 픽셀에 적절한 그라디언트를 복사한 다음 포아송(Poisson) 재구성을 통해 인터폴레이션된 프레임을 합성하는 이동 그라디언트 방법을 개발했다. 위의 모든 방법의 성능은 치밀한 관련성 추정의 품질에 의존하며 후기 이미지 합성 단계 중 오클루션(occlusion )과 같은 문제를 처리하기 위해 특별한 주의를 기울여야 한다.
명시적 모션 추정-기반의 방법에 대한 대안으로서, 일부 위상-기반 방법이 최근 비디오 처리에 사용되어 왔다. 이러한 방법은, 입력 프레임 사이의 위상차 모션을 인코딩할 수 있고 모션 배율 ?? 뷰 확대와 같은 애플리케이션에 대한 위상 정보를 조작할 수 있다. 다른 것은 바운디드 시프트 코렉션 전략(bounded shift correction strategy)을 사용하여 방향성 다중-스케일 피라미드 레벨을 걸쳐 위상 정보를 전파함으로써 큰 모션을 수용하기 위해 이러한 접근법을 더욱 확장시켰다. 이 위상 인터폴레이션-기반 방법은 비디오 인터폴레이션 결과를 생성하고, 일부 도전 시나리오를 처리할 수 있다; 그러나, 프레임 간 변경이 큰 비디오에서 고주파 세부 정보를 더 잘 보존하려면 추가 개선이 여전히 필요하다.
딥 러닝은 어려운 시각적 이해 문제뿐만 아니라, 옵티컬 플로우 추정, 스타일 트랜스퍼, 및 이미지 강화와 같은 다른 컴퓨터 비전 문제 해결에 적용되었다. 딥 러닝 동작은 뷰 합성에 관련될 수 있다. 일부 딥 러닝 기술은 입력 이미지에서 보이지 않는 뷰를 렌더링할 수 있도록 개발되었다. 이러한 동작은 의자와 얼굴 등의 개체에 작업을 할 수 있으며, 일반적인 장면의 비디오 프레임 인터폴레이션을 위해 설계되지 않았다.
최근에, 제기된 실제 입력 이미지에서 새로운 자연스러운 이미지를 합성하기 위해 개발된 딥 컨벌루션 뉴럴 네트워크를 포함한다. 그들의 동작은 입력 이미지를 복수의 깊이 평면 상으로 투사하고 새로운 뷰를 생성하기 위해 이러한 깊이 평면에서 색상을 결합할 수 있다. 일부 이전 솔루션은 라이트 필드 이미지에 대한 뷰 확장을 위해 딥 러닝-기반 뷰 합성 동작을 제공한다. 이러한 솔루션은 신규 합성을 두개의 컴포넌트, 즉, 시차 및 컬러 추정으로 분해하고, 이러한 두 컴포넌트를 모델링하기 위해 두 개의 순차적 컨볼루션 뉴럴 네트워크를 사용할 수 있다. 이 두 뉴럴 네트워크는 동시에 트레이닝될 수 있다. 다른 것은 동일한 인스턴스의 서로 다른 뷰의 시각적 외관이 서로 관련이 있을 수 있다는 것을 관측해 왔고, 새로운 뷰를 합성하기 위해 입력 뷰에서 적절한 픽셀을 선택하는 데 사용되는 외관 플로우를 예측하는 딥 러닝 동작을 설계해 왔다. 입력 뷰가 여러개인 경우, 해당 작업은 해당 외관 플로우를 사용하여 개별 입력 뷰를 뒤틀게 만들고 이후 그들을 함께 적절히 결합하여 신규 뷰를 인터폴레이션할 수 있다. 본원에서 기술된 딥 러닝 동작의 실시 예는 비디오를 직접 사용하여 앤드-투-앤드로 트레이닝될 수 있다. 이들 방법과 비교하여, 본원의 실시 예는 비디오 프레임 인터폴레이션에 적용될 수 있다. 일부 실시 예는 모션 및 인터폴레이션 계수를 모두 캡처할 수 있는 컨볼루션 커널을 추정할 수 있고, 이들 커널을 사용하여 입력 비디오와 직접 관련하여 미들 비디오 프레임을 합성할 수 있다. 일부 실시 예는 입력 이미지를 다수의 깊이 평면 상에 투사하거나 입력 이미지를 뒤틀기 위해 디스패리티 또는 외관 플로우를 명시적으로 추정한 다음 이들을 결합할 필요가 없을 수 있다. 실험은 단일 컨볼루션 단계로서 프레임 인터폴레이션의 일부 실시 예가 까다로운 경우를 강력하게 처리할 수 있음을 보여줄 수 있다.
1.1. 비디오 프레임 인터폴레이션
두 개의 비디오 프레임 III2 인 경우, 실시 예는 두 개의 입력 프레임의 시간적으로 중간에서 프레임 I^ 를 인터폴레이션할 수 있다. 도 2a는 모션 추정 및 컬러 인터폴레이션에 의한 인터폴레이션의 예시적인 프로시저(200A)를 도시한다. 프로시저(200A)는 두 개의 프레임들 사이의 모션을 추정하고, 모션에 기초하여 픽셀 컬러를 인터폴레이션하는 것을 포함하는 두 단계의 방법을 포함한다. 프로시저(200A)의 인터폴레이션 방법은 두 단계, 즉, 일반적으로 옵티컬 플로우를 통한 치밀한 모션 추정과 픽셀 인터폴레이션의 인터폴레이션된 프레임에서 픽셀 I^( x,y )의 컬러를 추정할 수 있다. 예를 들면, 픽셀(x,y)의 경우 I1에서 대응 픽셀(x1,y1) 은 I2 에서(x2,y2)로 발견될 수 있고, 이들에 대응하는 픽셀로부터 컬러가 인터폴레이션될 수 있다. 도 2a에 도시된 바와 같이,(x1,y1) 및(x2,y2)가 정수 위치에 있지 않을 경우, 고품질의 인터폴레이션 결과를 생성하기 위해 대응값 I1( x1,y1 ) I2( x2,y2 )를 획득하기 위해 이미지 I1I2를 리샘플링하는 것을 또한 포함할 수 있다. 이러한 두 단계의 접근법은 옵티컬 플로우가 오클루션, 모션 블러, 및 텍스처 부족은 인해 신뢰할 수 없을 때 손상될 수 있다. 또한 I1( x1, y1)I2(x2, y2)의 컬러를 찾기 위해 좌표를 반올림하면 고정 커널로 리샘플링할 때 앨리어싱(aliasing)이 발생하기 쉬울 수 있으며 때로는 날카로운 에지를 잘 보존 할 수 없다. 고급 리샘플링 방법이 에지-보존 리샘플링을 위해 사용될 수 있는데, 이는 고품질의 옵티컬 플로우 추정이 필요할 수 있다. 본원에서의 실시 예는 모션 추정 및 픽셀 합성을 단일 단계로 결합할 수 있고 입력 이미지 II12에서 패치에 대한 로컬 컨볼루션으로서 픽셀 인터폴레이션을 공식화할 수 있다. 도 2b는 다양한 실시 예에 따른 컨벌루션에 의한 인터폴레이션 프로시져(200B)를 도시한다. 프로시져(200B)는 컨볼루션 커널을 직접 추정하고 커널을 사용하여 두 프레임을 컨벌루션하여 픽셀 컬러를 인터폴레이션할 수 있다.
도 2b에 도시된 바와 같이, 인터폴레이션될 목표 이미지에서의 픽셀(x,y)의 컬러는 입력 패치 P1(x,y) 및 P2(x,y)에 대해 적절한 커널 K를 컨볼루션함으로써 얻을 수 있는데, 이는 각각의 입력 이미지에서(x,y)를 중심으로 할 수 있다. 컨 볼루셔널 커널 K는 픽셀 합성을 위한 모션 및 리샘플링 계수 모두를 캡처할 수 있다. 컨볼루션으로서 픽셀 인터폴레이션의 이러한 공식은 장점을 가질 수 있다. 첫째, 모션 추정 및 픽셀 합성의 단일 단계로의 조합은 두 단계 프로시져보다 더 강력한 솔루션을 제공할 수 있다. 둘째, 컨볼루션 커널은 오클루션(폐색)과 같은 어려운 경우를 설명하고 해결할 수 있는 유연성을 제공할 수 있다. 예를 들어, 오클루션된 영역에서의 옵티컬 플로우 추정은 어려운 문제 일 수 있으며, 이는 전형적인 두단계 접근법의 진행을 어렵게 할 수 있다. 플로우 인터폴레이션과 같은 휴리스틱 기반의 추가 단계를 수행해야 할 수도 있다. 본원에서 기술된 실시 예는 오클루션된 영역에 대해 시각적으로 그럴듯한 인터폴레이션 결과를 생성할 수 있는 컨볼루션 커널을 직접 추정하기 위한 데이터 중심 접근법을 제공할 수 있다. 셋째, 적절하게 추정되면, 이 컨볼루션 공식은 에지 인식 필터링과 같은 고급 리샘플링 기술을 매끄럽게 통합하여 선명한 인터폴레이션 결과를 제공할 수 있다.
본원의 실시 예는 적절한 컨볼루션 커널을 추정하는 것을 포함할 수 있다. 옵티컬 플로우 추정 및 이미지 합성을 위해 딥 러닝을 사용함으로써, 딥 컨벌루션 뉴럴 네트워크 동작은 인터폴레이션된 이미지에서 각각의 출력 픽셀을 합성하기 위한 적절한 컨볼루션 커널을 추정할 수 있다. 개별 픽셀에 대한 컨볼루션 커널은 고품질 인터폴레이션 결과를 제공하기 위해 로컬 모션 및 이미지 구조에 따라 달라질 수 있다. 커널 추정을 위한 딥 뉴럴 네트워크가 아래에 설명되어 있다.
1.1.1. 컨벌루션 커넬 추정
실시 예는 개별 출력 픽셀에 대한 컨볼루션 커널을 추정하기 위해 완전한 컨볼루션 뉴럴 네트워크를 포함할 수 있다. 뉴럴 네트워크의 아키텍처는 표 1에 설명되어 있다.
Figure 112019104482418-pct00002
[예시적 컨벌루션 뉴럴 네트워크 아키넥처]
표 1은 BN(Batch Normalization)과 ReLU(Rectified Linear Unit)를 사용한다. 출력은 값을 변경하지 않고 결과의 형태만 변경한다. ReLU(또는 "정류기")는 함수 f(x) = max(0,x)를 계산하는 액티베이션 함수일 수 있다. ReLU의 액티베이션은 x<0 일 때 0일 수 있고 x>0 일 때 기울기 1로 선형일 수 있다(예를 들어, 액티베이션이 0으로 임계된다). BN은 뉴럴 네트워크에서 내부 공변량 시프트를 감소시키는 방법일 수 있다.
출력 픽셀(x, y)에 대한 컨볼루션 커널 K를 추정하기 위해, 뉴럴 네트워크는 입력으로서 수용 필드 패치 R1(x,y) 및 R2(x,y)를 취할 수 있다. R1(x,y) 및 R2(x,y)는 각각의 입력 이미지에서(x,y)에 중심을 둘 수 있다. 출력 픽셀(x,y)의 컬러를 생성하기 위해 출력 커널이 컨볼루션될 수 있는 패치 P1P2는 이러한 수용 필드와 동일한 위치에 동일 중심을 가질 수 있으나, 도 1에 도시된 바와 같이, 더 작은 크기일 수 있다. 모션 추정에서 어퍼쳐(aperture) 문제를 보다 잘 처리하기 위해 수용 필드가 패치보다 클 수 있다. 일부 실시 예들에서, 디폴트 수용 필드 크기는 79 x 79 픽셀일 수 있다. 컨벌루션 패치 크기는 41 x 41 일 수 있고 커널 크기는 두 개의 패치로 컨볼루션되는데 사용되기 때문에 41 x 82 일 수 있다. 세개의 컬러 채널 각각에 동일한 컨볼루션 커널이 적용될 수 있다.
표 1에 도시된 바와 같이, 컨벌루션 뉴럴 네트워크는 최대 풀링 레이어에 대한 대안으로서 다운 컨벌루션뿐만 아니라 여러 컨벌루셔널 레이어를 포함할 수 있다. 정류된 선형 단위(ReLU)는 액티베이션 함수로 사용될 수 있으며 배치 정규화(BN)는 정규화에 사용될 수 있다. 뉴럴 네트워크가 광범위하게 이용 가능한 비디오 데이터를 사용하여 앤드-투-앤드 트레이닝될 수 있으므로, 충분히 큰 트레이닝 데이터 세트를 제공할 수 있기 때문에, 정규화를 위해 더 이상의 기술이 사용될 수 없다. 트레이닝 샘플을 수평 및 수직으로 뒤집고 순서를 반대로 함으로써 데이터 확대를 광범위하게 사용할 수 있다. 뉴럴 네트워크는 완전히 컨볼루셔널일 수 있다. 따라서, 고정 크기의 입력으로 제한되지 않을 수 있으며, 섹션 3.3에 상세히 설명된 바와 같이, 실시 예는 시프트 및 스티치 기술을 사용하여 다수의 픽셀에 대한 커널을 생성하여 동시에 동작 속도를 높일 수 있다.
출력 컨볼루션 커널의 계수는 음이 아니어야 하며 1까지 합산해야 한다. 따라서, 일부 실시 예는 최종 컨볼루셔널 레이어를 공간 소프트맥스 레이어에 연결하여 컨볼루션 커널을 출력할 수 있으며, 이는 암시적으로 이 제약을 충족시킬 수 있다.
1.1.1.1 손실 함수
명확성을 위해, 다음 표기법이 사용될 수 있다; i번째 트레이닝 예는(xi,yi)에 중심을 둔 두개의 입력 수용 필드 패치 Ri,l 및 Ri,2를 포함할 수 있고, 대응하는 입력 패치 Pi,1 및 Pi,2는 수용 필드 패치보다 작을 수 있으며 또한 인터폴레이션된 프레임에서(xi,yi)에서의 그라운드-트루 컬러 C ~ i 및 그라운드-트루 그라디언트 G ~ i인, 동일 위치에서 중심일 수 있다. 간단히 하기 위해, 손실 함수의 정의에서(xi,yi)는 생략될 수 있다.
딥 컨볼루션 뉴럴 네트워크의 한 가능한 손실 함수는 수학식 1에 의해 정의 된 인터폴레이션된 픽셀 컬러와 그라운드 트루 컬러의 차이일 수 있다.
Figure 112019104482418-pct00003
여기서, 아래 첨자 ii번째 트레이닝 예를 나타내고 Ki는 뉴럴 네트워크에 의해 출력된 컨볼루션 커널일 수 있다. 실험 결과 도 3과 같이
Figure 112019104482418-pct00004
놈(norm)을 사용하더라도 이러한 컬러 손실만으로도 흐릿한 결과(blurry result)가 나올 수 있음을 알 수 있다. 이러한 흐릿함 문제는 다른 작업에서도 보고되었다. 일부 솔루션은 손실 함수에 이미지 그라디언트를 통합하여 이러한 흐림 문제를 완화할 수 있음을 보여주었다. 이미지 그라디언트는 단일 픽셀로부터 직접 계산될 수 없기 때문에 이는 픽셀 단위 인터폴레이션 접근법 내에서 어려울 수 있다. 미분도 컨볼루션이기 때문에 컨볼루션의 연관 속성을 사용하여 이 문제를 해결할 수 있다: 먼저 입력 패치의 그라디언트를 계산한 다음 추정된 커널로 컨벌루션을 수행하는데, 이는 관심 픽셀에서 인터폴레이션된 이미지의 그라디언트를 초래할 것이다.픽셀(x,y)이 8개의 바로 인접한 픽셀을 가지므로, 그라디언트의 8개 버전은 유한 차분을 사용하여 계산될 수 있으며, 이들 모두는 그라디언트 손실 함수에 통합될 수 있다.
Figure 112019104482418-pct00005
위첨자 k는 그라디언트를 계산하는 8가지 방법 중 하나를 나타낸다. G k i,1 G k i,2 는 입력 패치 P i,1 P i,2 의 그라디언트일 수 있고,
Figure 112019104482418-pct00006
는 그라운드-트루 그라디언트일 수 있다. 상기 컬러 및 그라디언트 손실은 최종 손실 Ec + Eg로 결합 될 수 있다. 도 3에 도시된 바와 같이, 이러한 컬러 플러스 그라디언트 손실은 실시 예가 보다 선명한 인터폴레이션 결과를 생성할 수 있게 한다.
1.1.2. 트레이닝
이 섹션의 뒷부분에서 설명하는 것처럼, 트레이닝 데이터 세트는 온라인 비디오 컬렉션에서 파생될 수 있다. 뉴럴 네트워크를 트레이닝시키기 위해, 파라미터는 Xavier 초기화 접근법을 사용하여 초기화되고, 손실 함수를 최소화하기 위해 미니 배치 당 0.001 및 128 샘플의 러닝 레이트, β1 = 0.9, β2 = 0.999로 AdaMax를 사용하여 최적화될 수 있다.
1.1.2.1 트레이닝 데이터세트
손실 함수는 그라운드 트루 비디오 프레임에 기초할 수 있고 옵티컬 플로우와 같은 다른 그라운드 트루 정보를 필요로하지 않는다. 따라서 온라인에서 널리 사용 가능한 비디오를 사용하여 뉴럴 네트워크를 트레이닝시킬 수 있다. 결과를 쉽게 재현할 수 있도록, Creative Commons 라이센스가 있는 Flickr의 공개 비디오를 사용할 수 있다. 예를 들어, "운전", "댄싱", "서핑", "승마" 및 "스키"와 같은 키워드를 사용하여 3,000 개의 비디오를 다운로드 할 수 있으며, 이로 인해 다양한 선택이 가능하다. 다운로드 한 비디오는 1280 x 720 픽셀의 고정 크기로 조정될 수 있다. 프로그레시브 스캔 형식의 비디오보다 품질이 낮은 인터레이스 비디오는 제거될 수 있다.
트레이닝 샘플을 생성하기 위해, 나머지 비디오 각각의 모든 프레임은 3개의 프레임 그룹으로 그룹화될 수 있으며, 각각은 비디오에서 3개의 연속 프레임을 포함한다. 각각의 트리플-프레임 그룹에서 픽셀이 랜덤하게 선택될 수 있고, 그 픽셀에서 중심으로 하는 트리플-패치 그룹이 비디오 프레임으로부터 추출될 수 있다. 데이터 증강을 용이하게 하기 위해, 패치는 뉴럴 네트워크에 의해 사용되는 수용 필드 패치보다 더 크게 선택될 수 있다. 트레이닝 데이터 세트에서의 패치 크기는 150 x 150 픽셀 일 수 있다. 모션이 없거나 거의 없는 다수의 샘플을 포함하는 것을 피하기 위해, 패치들 사이의 옵티컬 플로우는 트리플-프레임 그룹의 첫 번째 및 마지막 프레임으로부터 추정될 수 있고, 평균 플로우 크기가 계산될 수 있다. 예를 들어, 플로우 크기에 따라 500,000 개의 트리플 패치 그룹이 교체없이 샘플링될 수 있다: 모션이 큰 패치 그룹이 모션이 작은 패치 그룹보다 선택될 가능성이 높다. 이러한 방식으로, 트레이닝 세트는 모션이 거의 없는 패치에 의해 지배되는 것을 피하면서 광범위한 모션을 갖는 샘플을 포함할 수 있다. 일부 비디오는 많은 샷을 포함할 수 있으므로, 패치 사이의 컬러 히스토그램은 샷 경계를 검출하기 위해 계산될 수 있고, 샷 경계를 가로지르는 그룹이 제거될 수 있다. 또한, 텍스처가 적은 샘플도 뉴럴 네트워크를 트레이닝시키는 데 별로 유용하지 않을 수 있다. 각각의 샘플에서 패치의 엔트로피가 계산될 수 있고, 예를 들어, 가장 큰 엔트로피를 갖는 250,000 개의 트리플 패치 그룹이 트레이닝 데이터 세트를 형성하도록 선택될 수 있다. 이 트레이닝 데이터 세트에서, 픽셀의 약 10%는 적어도 20 픽셀의 추정된 플로우 크기를 가질 수 있다. 가장 큰 5%의 평균 크기는 약 25 픽셀이고 가장 큰 크기는 38 픽셀이다.
트레이닝 동안 데이터 증강이 즉시 수행될 수 있다. 뉴럴 네트워크에 대한 수용 필드 크기는 79 x 79 일 수 있으며, 이는 트레이닝 샘플에서 패치 크기보다 작을 수 있다. 따라서, 트레이닝 동안, 수용 필드 패치는 각각의 트레이닝 샘플로부터 무작위로 잘릴 수 있다. 일부 실시 예들에서, 랜덤 샘플들은 수직뿐만 아니라 수평으로 플립될 수 있고, 그들의 시간 순서는 랜덤하게 교환(swapped)될 수 있다. 이것은 뉴럴 네트워크가 특정 방향으로 편향되지 않도록 샘플 내의 옵티컬 플로우가 대칭적으로 분포되게 할 수 있다.
1.1.3. 실시 예
본원에서 논의된 실시 예를 뉴럴 네트워크의 하이퍼-파라미터의 선택뿐만 아니라 강력하고 효율적으로 만들 수 있는 다양한 예시적인 구현이 아래에서 논의된다.
1.1.3.1 시프트 -및-스티치(Shift-and-stitch) 구현
뉴럴 네트워크를 프레임 인터폴레이션에 적용하는 간단한 방법은 컨볼루션 커널을 추정하고 인터폴레이션된 픽셀을 하나씩 합성하는 것이다. 뉴럴 네트워크의 이러한 픽셀 단위의 적용은 2개의 대응하는 픽셀들에 대한 컨볼루션 커널을 추정하기 위해 뉴럴 네트워크을 통해 2개의 이웃하는 패치 쌍을 전달할 때 불필요하게 여분의 계산을 수행할 수 있다. 일부 구현에서는 시스템 속도를 높이기 위해 이 문제를 해결하기 위해 시프트-및-스티치(shift-and-stitch) 방식을 사용한다.
예를 들어, 뉴럴 네트워크가 완전 컨볼루션일 수 있고 고정 크기 입력이 필요하지 않을 수 있으므로, 하나의 커널을 생성하는 데 필요한 것보다 큰 입력을 제공하여 한 번에 하나 이상의 출력 픽셀에 대한 커널을 계산할 수 있다. 이는 중복 계산 문제를 완화할 수 있다. 그러나 이러한 방식으로 얻어진 출력 픽셀은 인접하지 않을 수 있고 대신에 희박하게 분포될 수 있다. 동일한 입력의 약간 시프트된 버전이 사용될 수 있는 시프트 및 스티치 접근법이 사용될 수 있다. 이 접근법은 인터폴레이션된 프레임의 치밀한 표현을 형성하기 위해 결합될 수 있는 희소 결과를 반환한다. 1280 x 720 크기의 프레임을 고려하면, 뉴럴 네트워크의 픽셀 단위 구현은 뉴럴 네트워크을 통한 921,600 순방향 통과를 요구할 수 있다. 뉴럴 네트워크의 시프트 및 스티치 구현은 3개의 다운 컨벌루션에 의한 다운 스케일링에 대응하기 위해 64개의 다르게 시프트된 입력 버전에 대해 64개의 순방향 패스만을 필요로한다. Nvidia Titan X에서 프레임 당 104초가 걸리는 픽셀 단위 구현과 비교할 때 시프트-및-스티치 구현은 9초만 소요될 수 있다.
1.1.3.2 경계 처리
컨볼루션 커널의 크기뿐만 아니라 네트워크의 수용 필드로 인해, 인터폴레이션된 프레임에 대한 경계 픽셀을 합성하기 위해 입력 프레임이 패딩될 수 있다. 일부 구현은 제로 패딩을 채택할 수 있다. 실험에 따르면 이 방법은 일반적으로 잘 작동하며 눈에 띄는 아티팩트가 도입되지 않을 수 있다.
1.1.3.3 하이퍼 -파라미터 선택
컨볼루션 커널 크기 및 수용 필드 크기는 딥 뉴럴 네트워크의 두 개의 하이퍼-파라미터일 수 있다. 이론적으로, 컨볼루션 커널은, 도 2에 도시된 바와 같이, 모션을(암시적으로) 캡처하여 좋은 인터폴레이션 결과를 얻기 위해 두 프레임 사이의 픽셀 모션보다 커야 한다. 큰 모션에 대해 뉴럴 네트워크를 견고하게 하기 위해 큰 커널을 선택할 수 있다. 반면에, 큰 커널에는 추정되어야 할 많은 수의 값이 포함되어 있는데, 이는 뉴럴 네트워크의 복잡성을 증가시키다. 실시 예들에서, 트레이닝 데이터 세트에서 38 픽셀인 최대 모션을 캡처하기에 충분히 큰 컨볼루션 커널이 선택될 수 있다. 특히, 실시 예에서의 컨볼루션 커널 크기는 41 x 82 일 수 있고 도 1에 도시된 바와 같이 2 개의 41 x 41 패치에 적용될 수 있다. 이 커널은 리샘플링을 위한 픽셀 지원을 제공하기 위해 38 픽셀보다 약간 큰 픽셀로 만들어 질 수 있으며, 이는 명시적으로 수행되지 않는 경우, 커널에서 캡처될 수 있다.
앞서 논의한 바와 같이, 수용 필드는 어퍼쳐 문제를 잘 처리하기 위해 컨볼루션 커널보다 클 수 있다. 그러나, 더 큰 수용 필드는 더 많은 계산을 요구할 수 있고 모션에 덜 민감할 수 있다. 실시 예들에서, 79x79가 양호한 밸런스를 달성할 수 있도록 수용 필드는 검증 데이터 세트를 사용하여 선택될 수 있다.
1.2. 실험
본원에서 설명된 실시 예는 위상-기반 인터폴레이션 방법 및 몇몇 옵티컬 플로우-기반 방법을 포함하는 다른 비디오 프레임 인터폴레이션 방법과 비교될 수 있다. 일부 실험에서 옵티컬 플로우 알고리즘은 다른 솔루션의 방법 및 최근의 두 가지 딥 러닝 기반 접근 방식, 즉 DeepFlow2 및 FlowNetS뿐만 아니라 MDP-Flow2가 포함되어 있는데, 이는 미들 베리 벤치 마크에 따라 낮은 인터폴레이션 오류를 생성한다. 미들 베리 벤치 마크로부터의 인터폴레이션 방법은 옵티컬 플로우 결과를 사용하여 인터폴레이션된 프레임을 합성하는데 사용될 수 있다. 두 가지 딥 러닝 기반 옵티컬 플로우 방법의 경우, 작성자 웹 사이트에서 트레이닝한 모델을 직접 사용할 수 있다.
1.2.1. 비교
도 4는 다양한 실시 예들에 따른, 그라운드 트루 인터폴레이션 결과를 제공하는 미들베리 옵티컬 플로우 벤치 마크로부터의 샘플들의 정량적 평가를 도시한다. 도 4에 의해 도시된 바와 같이, 본원에 기술된 실시 예는 PSNR(Peak Signal-to-Noise Ratio) 및 SSIM(Structural Similarity) 모두에 따른 다른 방법과 비교 될 수 있다. 질적으로, 본원에 기술된 실시 예는 종종 다른 방법보다 시각적으로 더 매력적인 도전적인 영역에서 결과를 생성할 수 있다.
도 5는 입력 비디오에 초점이 맞지 않는 흐림(위)과 동작 흐림(아래)이 있는 두 가지 예를 보여준다. 흐릿한 영역은 종종 옵티컬 플로우 추정에 어려움을 겪는다: 따라서 인터폴레이션된 결과에서 이들 영역은 눈에 띄는 아티팩트로 고통받는다. 본원에 기술된 실시 예 및 위상-기반 방법은 흐릿한 영역을 더 잘 처리 할 수있는 반면, 본원에 기술된 실시 예는 특히 하단 예에서 모자의 우측과 같이 모션이 큰 영역에서 더 선명한 이미지를 생성한다.
도 17 및 18은 다양한 실시 예에 따른 갑작스러운 밝기 변화를 갖는 비디오의 정성적 평가의 예를 도시한다. 도 17에 도시된 바와 같이, 급격한 밝기 변화는 밝기 일관성 가정을 위반하고 옵티컬 플로우 추정을 손상시켜, 프레임 인터폴레이션에 아티팩트를 유발한다. 이 예에서, 본원에 기술된 실시 예 및 위상-기반 방법은 플로우-기반 방법보다 더 시각적으로 매력적인 인터폴레이션 결과를 생성한다.
옵티컬 플로우 추정의 가장 큰 과제 중 하나는 오클루션(폐색)이다. 폐색 영역에서 옵티컬 플로우가 신뢰할 수 없거나 사용할 수 없는 경우, 프레임 인터폴레이션 방법은 이웃 픽셀의 흐름을 인터폴레이션하는 등의 구멍을 채워야 할 수 있다. 본원에 기술된 실시 예는 도 19에 도시된 바와 같이 폐색된 영역에 대한 시각적으로 우수한 픽셀 합성 결과를 초래하는 적절한 컨볼루션 커널을 얻기 위해 학습 접근법을 채택할 수 있다.
본원에 설명된 실시 예가 폐색을 처리하는 방법을 더 잘 이해하기 위해, 폐색된 영역에서 픽셀의 컨볼루션 커널이 검사될 수 있다. 도 9에 도시된 바와 같이, 컨볼루션 커널은 두개의 서브-커널로 분할될 수 있고, 이들 각각은 두개의 입력 패치 중 하나와 컨볼루션되는 데 사용될 수 있다. 설명의 편의를 위해, 각 서브-커널의 중심은 대응하는 입력 패치에서 x를 사용하여 계산되고 표시되어 출력 픽셀이 그 색을 얻는 위치를 나타낼 수 있다.
도 20은 오차 막대가 표준 편차를 나타내는 사용자 연구 결과를 도시한다. 도 8은 흰색 리프가 프레임 1에서 프레임 2로 위로 이동하는 예를 도시한다. 두 이미지 프레임을 오버레이하는 왼쪽 이미지에서 폐색을 볼 수 있다. 이 예에서, 녹색 x로 표시된 픽셀은 두 프레임 모두에서 볼 수 있으며, 본원에 기술된 실시 예의 커널은 이 픽셀의 컬러가 두 프레임으로부터 인터폴레이션되는 것을 도시한다. 대조적으로, 빨간색 x로 표시된 픽셀은 프레임 2에서만 볼 수 있다. 프레임 1에 대한 서브 커널의 모든 계수의 합은 거의 0일 수 있는데, 이는 프레임 1이 이 픽셀에 기여하지 않을 수 있고 이 픽셀이 오직 프레임 2로부터 컬러를 얻음을 나타낼 수 있다. 유사하게, 청녹색 x로 표시된 픽셀은 프레임 1에서만 볼 수 있다. 본원에 기술 된 실시 예의 커널은 이 폐색을 정확하게 설명할 수 있고 프레임 1에서만 그 컬러를 얻는다.
1.2.2. 에지 인식 픽셀 인터폴레이션
이전의 예들은 본원에 설명된 실시 예들의 추정된 컨볼루션 커널이 프레임 인터폴레이션을 위한 폐색을 적절하게 처리하는 방법을 논의했다. 이러한 커널이 이미지 기능에 어떻게 적용되는지 이제 살펴본다. 도 9는 다양한 실시 예에 따른 컨볼루션 커널의 예를 도시한다. 도 9에서, 인터폴레이션된 이미지에서 세개의 픽셀이 샘플링될 수 있다. 그들의 커널은 하단에 표시된다. 픽셀과 컨볼루션 커널 간의 대응 관계는 컬러로 설정된다. 첫째, 이러한 모든 커널에 대해 매우 적은 수의 커널 요소만 0이 아닌 값을 갖는다.(뉴럴 네트워크에서 공간 소프트 맥스 레이어의 사용은 커널 요소 값이 음이 아니고 1까지 합한 것을 제공할 수 있다.) 또한, 이들 0이 아닌 요소는 공간적으로 함께 그룹화 될 수 있다. 이는 두 개의 프레임에서 해당 픽셀 또는 그 주변을 찾은 다음 인터폴레이션할 수 있는 일반적인 플로우- 기반 인터폴레이션 방법과 잘 일치한다. 둘째, 녹색 x로 표시되는 것과 같은 평평한 영역의 픽셀의 경우 커널은 중요한 값을 가진 두 개의 요소만 가질 수 있다. 이들 두개의 커널 요소 각각은 대응하는 입력 프레임에서 관련 픽셀에 대응한다. 뉴럴 네트워크는 프레임 인터폴레이션 프로시저를 명시적으로 모델링하지 않을 수도 있지만 이는 플로우-기반 인터폴레이션 방법과도 일치한다. 셋째, 적색 및 청록색 x로 표시되는 것과 같은 이미지 에지를 따르는 픽셀의 경우, 커널은 이방성일 수 있고 이들의 방향은 에지 방향과 잘 정렬될 수 있다. 이것은 본원에 설명된 실시 예의 뉴럴 네트워크가 날카로운 인식 인터폴레이션 결과를 생성할 수 있는 에지 인식 픽셀 인터폴레이션을 가능하게 하는 컨볼루션 커널을 추정하는 것을 배울 수 있음을 보여준다.
1.2.3. 토론
본원에 설명된 실시 예는 픽셀 단위의 특성으로 인해 큰 이미지로 확장할 수 있다. 또한, 뉴럴 네트워크의 시프트 및 스티치 구현은 다수의 픽셀의 병렬 처리를 허용하고 이들 픽셀에 대한 컨볼루션 커널을 계산할 때 중복성을 감소시킨다. 예를 들어 단일 Nvidia Titan X에서 이 구현은 640 x 480 이미지의 경우 3.5GB의 메모리에서 약 2.8초, 1280 x 720의 경우 4.7GB에서 경우 9.1초, 1920 x 1080의 경우 6.8GB에서 21.6초 걸린다.
도 10은 프레임 인터폴레이션 방법에 대한 모션 증가의 효과를 나타내는 그래프(1000)를 도시한다. 도 10은 본원에 설명된 실시 예들이 두개의 입력 프레임들 사이에서 증가된 모션을 위해 어떻게 동작할 수 있는지의 예를 도시한다. 이 테스트에서, 240fps 테스트 비디오에서 스킵된 프레임의 수가 점차적으로 증가될 수 있고, 인터폴레이션 결과와 그라운드 트루 사이의 SSIM 값이 측정될 수 있다. 도 10은 본원에 기술된 실시 예가 더 많은 프레임이 스킵될 때 다른 비교 방법보다 약간 더 강력할 수 있음을 도시한다. 한편, 본원에 설명된 실시 예들이 처리할 수 있는 모션의 양은 뉴럴 네트워크에서 컨볼루션 커널 크기에 의해 반드시 제한되며, 이는 41 x 82 일 수 있다. 41 픽셀 이상의 임의의 큰 모션은 처리되지 않을 수 있다.
옵티컬 플로우-기반 또는 위상-기반 방법과 달리, 본원에 기술된 실시 예는 뉴럴 네트워크가 중간 프레임을 인터폴레이션하도록 트레이닝될 때 두개의 주어진 프레임 사이에 단일 프레임을 인터폴레이션할 수 있다. 다른 실시 예는 플로우-기반 또는 위상-기반 방법과 같은 임의의 수의 프레임을 인터폴레이션하기 위해 인터폴레이션의 시간적 단계를 제어하기 위해 입력으로서 변수를 취할 수 있도록 뉴럴 네트워크를 확장할 수 있다.
1.3 실시 예
실시 예는 본원에 설명된 임의의 또는 모든 특징, 동작 등의 조합을 포함할 수 있다. 일례로서, 도 11은 본원의 다양한 실시 예들에 따라 픽셀 인터폴레이션을 수행하기 위한 프로세스(1100A)를 도시한다. 프로세스(1100A)는 컴퓨터 시스템의 프로세서 회로가 공간 적응형 컨볼루션 커널을 추정할 수 있는 동작(1105)에서 시작할 수 있다. 동작(1110)에서, 프로세서 회로는 제 1 및 제 2 비디오 프레임에서 대응하는 픽셀 패치에 대한 컨볼루션으로서 픽셀 인터폴레이션을 형성할 수 있다.
도 11은 프로세스(1100A)와 같은 본원의 다양한 실시 예들을 실시하기 위해 사용될 수 있는 예시적인 장치(1100B)를 도시한다. 실시 예들에서, 장치(1100B)는 커널 추정기(1115) 및 컨볼루션 엔진(1120)을 포함할 수 있다. 이러한 실시 예들에서, 커널 추정기(1115)는 공간 적응형 컨볼루션 커널을 추정할 수 있고, 컨볼루션 엔진(1120)은 제 1 및 제 2 비디오 프레임에서 대응하는 픽셀 패치를 통한(에 대한) 로컬 컨볼루션으로서 픽셀 인터폴레이션을 형성할 수 있다. 일부 실시 예에서, 컨볼루션 엔진(1120)은 컨볼루션 네트워크로 구현되거나 컨볼루션 네트워크를 운영할 수 있다(예를 들어, 도 1의 ConvNet(105), 도 13 아래의 CNNA 1300 등)
장치(1100B)의 커널 추정기(1115) 및 컨볼루션 엔진(1120)은 컴퓨터 하드웨어, 소프트웨어, 펌웨어, 미들웨어, 마이크로 코드, 하드웨어 기술 언어 또는 이들의 임의의 조합으로 구현될 수 있다. 소프트웨어, 펌웨어, 미들웨어 또는 마이크로 코드로 구현될 때, 커널 추정기(1115) 및 컨볼루션 엔진(1120)의 필요한 작업을 수행하기 위한 프로그램 코드 또는 코드 세그먼트는 머신 또는 컴퓨터 판독 가능 매체에 저장될 수 있다. 실시 예들에서, 컴퓨터 장치는, 명령이 저장된 컴퓨터 판독 가능 매체를 포함하고 그리고/또는 그에 액세스하여, 실행될 때 컴퓨터 장치로 하여금 프로세스(1100A)의 일부 또는 모든 동작을 수행하게 할 수 있다. 실시 예에서, 특수-목적 프로세서는 프로시저 프로세스(1100A)의 동작의 일부 또는 전부를 동작시키도록 구성될 수 있다. 일부 실시 예에서, 임의의 수의 범용 프로세서는 전자 메모리 또는 컴퓨터 판독 가능 매체에 저장된 명령에 액세스하는 것에 응답하여 프로세스(1100A)의 임의의 동작을 수행하기 위해 특수 목적 프로세서로 변환될 수 있다.
1.4. 결론
본원에 설명된 실시 예는 프레임 인터폴레이션의 두 단계, 모션 추정 및 픽셀 인터폴레이션을 두개의 입력 프레임을 갖는 로컬 컨볼루션의 단일 단계로 결합하는 비디오 프레임 인터폴레이션을 포함한다. 컨볼루션 커널은 적절한 픽셀 인터폴레이션을 위해 모션 정보 및 리샘플링 계수 모두를 캡처할 수 있다. 딥 풀리 컨볼루션 뉴럴 네트워크는 에지 인식 픽셀 합성이 날카로운 인터폴레이션 결과를 생성 할 수 있게 하는 공간적-적응 컨볼루션 커널을 추정할 수 있다. 이 뉴럴 네트워크는 널리 사용 가능한 비디오 데이터에서 직접 트레이닝될 수 있다. 실험은 본원에 설명된 실시 예가 고품질 프레임 인터폴레이션을 가능하게 하고 폐색, 흐림 및 급격한 밝기 변화와 같은 까다로운 경우를 잘 처리할 수 있음을 보여줄 수 있다.
II. 적응형 분리 가능한 볼륨을 통한 비디오 프레임 인터폴레이션
프레임 인터폴레이션의 목표는 고품질 비디오 프레임을 생성하는 것이고 옵티컬 플로우 추정은 중간 단계일 뿐이라는 관찰에 기초하여, 일부 최근의 방법은 컨볼루션 프로세스로서 프레임 인터폴레이션 또는 외삽을 공식화(formulate)할 수 있다. 예를 들어, 출력 픽셀에 대한 공간적-적응 컨볼루션 커널을 추정하고 커널을 사용하여 입력 프레임을 컨볼루션하여 새 프레임을 생성할 수 있다. 컨볼루션 커널은 전통적인 프레임 인터폴레이션 방법에 관련된 모션 추정 및 리샘플링의 2개의 분리된 단계를 설명할 수 있다. 큰 모션을 처리하려면 큰 커널이 필요할 수 있다. 예를 들어, 일 실시 예는 각 출력 픽셀에 대해 2개의 41x41 커널(예를 들어, 2개의 입력 프레임 각각에 대해 하나의 커널)을 출력하기 위해 딥 컨볼루션 뉴럴 네트워크를 이용할 수 있다. 1080p 비디오 프레임의 모든 픽셀에 대한 커널을 생성하려면 출력 커널에만 26GB의 메모리가 필요할 수 있다. 메모리 요구는 커널 크기(또는 처리할 최대 모션 크기)에 따라 2차적으로 증가할 수 있다. 이러한 제한이 주어지면, 실시 예는 커널을 픽셀 단위로 출력하도록 ?K 컨볼루션 뉴럴 네트워크를 트레이닝시킬 수 있다.
본원에 설명된 실시 예는 비디오 프레임 인터폴레이션을 위한 공간-적응적 분리 가능 컨벌루션을 포함할 수 있다. 실시 예는 이미지 구조 추출과 같은 다른 컴퓨터 비전 작업을 위해 2D 풀 필터를 근사화하기 위해 분리 가능한 필터를 사용하는 것에 관한 것일 수 있다. 프레임 합성을 위해, 일부 실시 예는 출력 픽셀을 생성하는데 필요한 2개의 2D 컨볼루션 커널 각각에 근사하도록 한 쌍의 1D 수평 및 수직 컨볼루션 커널을 추정할 수 있다. 이러한 방식으로, n x n 컨볼루션 커널은 2n 변수만을 사용하여 인코딩될 수 있다. 결과적으로 완전한 컨볼루션 뉴럴 네트워크는 두 개의 원본 비디오 프레임을 입력으로 사용하여 모든 픽셀에 대해 분리 가능한 커널을 동시에 생성할 수 있다. 1080p 비디오 프레임의 경우 모든 분리 가능한 커널에는 1.27GB의 메모리만 필요하다. 실시 예는 풀-프레임 출력을 생성할 수 있기 때문에,도 12에 도시된 바와 같이, 인터폴레이션 결과의 시각적 품질을 추가로 개선하기 위해 지각 손실 함수가 통합 될 수 있다. 도 12는 다양한 실시 예에 따른 픽셀 인터폴레이션의 예시적인 프로세스를 도시한다. 도 12의(a) 부분은 그라운드 트루 프레임을 나타내고,(b) 부분은 2D 커널을 사용하여 생성된 프레임의 예를 보여준다.(b) 부분에서 2D 커널을 직접 추정하고 사용하는 최근 컨볼루션 접근법과 비교하여, 도 12의(c) 및(d) 부분에 의해 도시된 바와 같이, 본 실시 예의 분리 가능한 컨볼루션 메커니즘은 풀 프레임 인터폴레이션을 허용하고 더 높은 품질의 결과를 제공한다.
실시 예는 완전히 컨볼루션될 수 있고 옵티컬 플로우와 같은 메타 데이터없이 광범위하게 이용 가능한 비디오 데이터를 사용하여 앤드 투 앤드 트레이닝될 수있는 딥 뉴럴 네트워크를 사용할 수 있는데, 이는 획득하기 어려울 수 있다. 실험은 그러한 실시 예가 대표적인 까다로운 시나리오에서 정성적 및 정량적으로 대표적인 최첨단 인터폴레이션 방법과 유리하게 비교될 수 있고 고품질 비디오 프레임 인터폴레이션에 대한 실질적인 해결책을 제공할 수 있음을 보여줄 수 있다.
II.1 관련 작업
비디오 프레임 인터폴레이션은 컴퓨터 비전 및 비디오 처리에서 고전적인 주제이다. 표준 프레임 인터폴레이션 접근법은 두개의 입력 프레임 사이의 조밀한 모션, 전형적으로 옵티컬 플로우를 추정할 수 있고, 이어서 조밀한 모션에 의해 안내되는 하나 이상의 중간 프레임을 인터폴레이션할 수 있다. 이러한 작업의 성능은 종종 옵티컬 플로우에 따라 달라지며 플로우 인터폴레이션과 같은 특별한 주의가 옵티컬 플로우의 문제를 처리하기 위해 적용될 수 있다. 프레임 합성 결과를 개선하기 위해 일반적인 이미지-기반 렌더링 알고리즘이 사용될 수도 있다. 다른 실시 예는 개별 픽셀의 위상 시프트에서의 모션을 나타내고 픽셀 당 위상 수정에 의해 중간 프레임을 생성하는 위상-기반 인터폴레이션을 이용할 수 있다. 이러한 위상-기반 작업은 인상적인 인터폴레이션 결과를 생성할 수 있지만 시간이 크게 변하는 비디오에서 고주파 세부 정보를 보존하지 못할 수도 있다.
본원에 설명된 실시 예는 딥 러닝 알고리즘을 옵티컬 플로우 추정, 스타일 전송 및 이미지 향상에 적용하는 것에 관한 것일 수 있다. 실시 예는 뷰 합성을 위해 딥 뉴럴 네트워크를 이용할 수 있다. 일부 실시 예는 복잡한 실제 장면 대신 얼굴 및 의자와 같은 객체에 대한 입력 이미지로부터 보이지 않는 뷰를 렌더링할 수 있다. 예를 들어, 딥 스테레오(DeepStereo) 방법은 입력 이미지를 다수의 깊이 평면 상에 투영하고 이들 깊이 평면에서 컬러를 조합하여 신규한 뷰를 생성함으로써 신규한 자연 이미지를 생성할 수 있다. 광 필드 이미징을 위한 뷰 확장 동작은 두개의 순차적인 컨볼루션 뉴럴 네트워크를 사용하여 뷰 인터폴레이션의 시차 및 컬러 추정 동작을 모델링할 수 있고, 이들 두개의 네트워크는 동시에 트레이닝될 수 있다. 딥 뉴럴 네트워크는 단안 비디오로부터 여분의 뷰를 합성하여 스테레오 비디오로 변환할 수 있다.
외관 플로우 동작은 플로우를 추정하기 위해 딥 컨볼루션 뉴럴 네트워크를 이용할 수 있고, 이를 이용하여 입력 픽셀을 뒤틀어 새로운 뷰를 생성할 수 있다. 이 작업을 수행하면 개별 입력 프레임이 뒤틀어지고 서로 혼합되어 입력 프레임간에 프레임이 생성된다. 딥 복셀 플로우 접근 방식(deep voxel flow approach)은 프레임 인터폴레이션에 최적화될 수 있는 고밀도 복셀 플로우를 출력하기 위한 딥 뉴럴 네트워크를 개발할 수 있다. 딥 컨볼루션 뉴럴 네트워크는 두개의 입력 프레임 사이에서 프레임을 인터폴레이션할 수 있지만, 인터폴레이션된 프레임을 중개자로서 생성하여 옵티컬 플로우를 추정할 수 있다.
본원에 설명된 실시 예는 모션 추정 및 프레임 합성을 단일 컨볼루션 동작으로 결합할 수 있는 프레임 인터폴레이션 또는 외삽 동작에 관한 것일 수 있다. 이들 실시 예는 각각의 출력 픽셀에 대해 공간적으로 변화하는 커널을 추정할 수 있고 새로운 프레임을 생성하기 위해 이들을 입력 프레임과 관련시킬 수 있다. 이러한 컨볼루션 작업은 큰 모션을 처리하기 위해 큰 커널을 사용할 수 있으므로 사용 가능한 메모리의 제한으로 인해 고해상도 비디오의 모든 픽셀을 한 번에 합성하지 못할 수 있다. 예를 들어, 일부 레거시 실시 예는 픽셀 단위로 프레임을 인터폴레이션할 수 있다. 이들이 통과 할 때마다 다수의 픽셀을 생성하기 위해 시프트-앤-스티치 전략을 사용할 수 있지만, 동시에 합성될 수 있는 픽셀의 수는 여전히 제한적이다. 다른 레거시 실시 예는 비교적 작은 크기의 이미지만을 생성할 수 있다. 본원에 기술된 실시 예는 분리 가능한 1차원(1D) 커널을 추정하여 2차원(2D) 커널을 근사화함으로써 그러한 레거시 실시 예를 넘어서 확장될 수 있고, 따라서 필요하거나 사용될 수 있는 메모리의 양을 상당히 감소시킬 수 있다. 예를 들어, 본원의 실시 예는 하나의 패스에서 1080p 프레임을 인터폴레이션할 수 있다. 더욱이, 본원에 설명된 일부 실시 예는 또한 지각 손실 함수(들)의 통합을 지원할 수 있는데, 이는 연속 이미지 영역에서 제한될 필요가 있을 수 있고, 인터폴레이션된 프레임의 시각적 품질을 향상시킬 수 있다.
Π.2 . 비디오 프레임 인터폴레이션
일부 실시 예는 비디오 프레임 인터폴레이션을 위한 적응형 컨벌루션에 관한 그리고/또는 이를 포함할 수 있으며, 이는 아래에 요약되고 분리 가능한 컨볼루션- 기반 프레임 인터폴레이션 동작에 대한 설명이 뒤따른다.
목표는 두개의 입력 비디오 프레임 I 1 I 2 사이에서 시간적으로 프레임
Figure 112019104482418-pct00007
를 인터폴레이션하는 것일 수 있다. 각각의 출력 픽셀
Figure 112019104482418-pct00008
(x,y)에 대해, 컨볼루션-기반 인터폴레이션 동작은 한 쌍의 2D 컨볼루션 커널 K i (x,y) 및 K 2 (x,y)를 추정할 수 있고, 이를 이용하여 I 1 I 2 로 컨볼루션하여 수학식 3에 따른 출력 픽셀의 컬러를 계산할 수 있다.
Figure 112019104482418-pct00009
여기서 P1(x,y) 및 P2(x,y)는 I1 및 I2에서(x,y)를 중심으로 할 수 있는 패치이다. 픽셀-의존적 커널들(K1 및 K2)은 인터폴레이션에 사용될 수 있는 모션 및 리샘플링 정보를 모두 캡처할 수 있다. 큰 모션을 캡처하려면, 큰 크기의 커널이 필요할 수 있다. 일부 레거시 실시 예는 41x41 커널을 사용할 수 있고, 많은 수의 파라미터 및 제한된 메모리 자원으로 인해 고해상도 프레임의 모든 픽셀에 대해 동시에 한번에 추정하는 것이 어려울 수 있다. 이러한 레거시 실시 예는 딥 컨볼루션 뉴럴 네트워크를 사용하여이 커널 쌍을 픽셀 단위로 추정할 수 있다.
본원의 실시 예는 2D 커널에 근접한 한 쌍의 1D 커널을 추정할 수 있다. 예를 들어, 1D 커널 <k1,v,k1,h> 및 <k2,v,k2,h>는 2D 커널 근사치 k1,v*k1,h로서 k1과 k2,v*k2,h로서 k2로 추정할 수 있다. 따라서, 본원의 실시 예는 커널 파라미터의 수를 n2에서 2n으로 각 커널마다 줄일 수 있다. 이것은 하나의 패스에서 고해상도 비디오 프레임의 합성을 가능하게 할 수 있고, 또한 다음 하위 섹션에서 설명되는 바와 같이 인터폴레이션 결과의 시각적 품질을 더 향상시키기 위해 지각 손실의 통합을 가능하게 할 수 있다.
II.2.1. 분리 가능한 커널 추정
도 13은 다양한 실시 예에 따른 완전 컨볼루션 뉴럴 네트워크 아키텍처(CNNA)(1300)의 예를 도시한다. 구현예에서, CNNA(1300)는 "인코더-디코더 네트워크"(1300) 등이거나 이로 지칭될 수 있다. 다양한 실시 예들에서, CNNA(1300)는 컨볼루션 엔진(예를 들어, 도 11b의 컨볼루션 엔진(1100B), 도 25의 컨볼루션 엔진(2500) 등)에 의해 구현되거나 동작될 수 있다. 실시 예들에서, 컴퓨터 장치/시스템은, 실행될 때, 컴퓨터 장치로 하여금 도 13의 CNNA(1300)의 일부 또는 모든 동작을 수행하게 하는 명령어들이 저장된 컴퓨터 판독 가능 매체를 포함하고 그리고/또는 그에 액세스할 수 있다. 다른 실시 예에서, 특수-목적 프로세서는 도 13의 CNNA(1300)의 동작의 일부 또는 전부를 동작시키도록 구성될 수 있다. 실시 예에서, 임의의 수의 범용 프로세서가 전자 메모리 또는 컴퓨터 판독 가능 매체에 저장된 명령에 액세스하는 것에 응답하여 도 13의 CNNA(1300)의 임의의 동작을 수행하도록 특수 목적 프로세서로 변환될 수 있다.
CNNA(1300)는 복수의 컨볼루션 레이어를 포함할 수 있고, 이는 도 13에서 직사각형 직육면체로 표시된다; 명확성을 위해 컨볼루션 레이어는 도 13에 표시되어 있지 않다. CNNA(1300)는 또한 평균 풀링 레이어(APLs) 1305A-E(통칭하여 "APLs(1305)", "APL 1305" 등으로 지칭 됨) 및 이중 선형 업샘플링 레이어(BULs) 1310A-H(통칭하여 " BUL 1310, "BUL 1310" 등으로 지칭됨)를 포함한다.
CNNA(1300)는 입력 프레임(I1 및 I2)이 주어진 경우, 인터폴레이션(출력) 프레임
Figure 112019104482418-pct00010
에서 각 픽셀에 대해 1차원(1D) 커널 <k1,v, k1,h> 및 <k2,v, k2,h>의 두쌍을 추정할 수 있다. 입력 프레임 I1 및 I2가 주어지면, CNNA(1300)는 각각의 출력 픽셀에 대한 4개의 1D 커널 중 하나를 조밀한 픽셀 방식으로 추정하는 4개의 서브네트워크에 제공되는 특징을 추출할 수 있다. 추정된 픽셀-의존 커널은 그 다음에 입력 프레임과 관련되어 인터폴레이션된 프레임
Figure 112019104482418-pct00011
을 생성한다. 도 13에서, 기호
Figure 112019104482418-pct00012
는 로컬 컨벌루션 동작을 나타낼 수 있고, "+"기호는 추가 또는 조합 동작을 나타낼 수 있다. 실시 예들에서, 각각의 컬러 채널은 동일하게 취급될 수 있고, 동일한 1D 커널이 각각의 RGB(Red-Green-Blue) 채널에 적용되어 출력 픽셀을 합성할 수 있다. 추정된 커널들을 입력 이미지들에 적용하는 것은 위치 변화 컨볼루션 레이어와 유사할 수 있는 뉴럴 네트워크의 네트워크 레이어로서 구현될 수 있는 로컬 컨벌루션일 수 있음을 주목한다. 그러므로, 본원의 실시 예의 뉴럴 네트워크는 앤드-투-앤드간(종단간) 트레이닝이 가능하다.
CNNA(1300)는 특징들을 추출하기 위한 수축 컴포넌트(contract component), 및 조밀한 예측을 수행하기 위해 업샘플링 레이어(예를 들어, BUL들 1310)를 통합하기 위한 확장 컴포넌트(expanding component)를 포함할 수 있다. 예를 들어, CNNA(1300)는 특징 추출을 수행하는 컨볼루션 레이어의 스택 또는 클러스터를 포함하는데, 여기서 일부 클러스터는 APL(1305)이 뒤따른다. 각각의 컨볼루션 레이어는 특정 또는 정의된 수의 커널을 입력 데이터에 적용할 수 있는데, 이는 다음에 다음 컨볼루션 레이어로 순차적으로 전달된다. 데이터가 APL(1305)에 도달하면, 그 APL(1305)은 대응하는 클러스터에서 컨볼루션 레이어에 의해 추출된 이미지 데이터를 다운샘플링할 수 있다. 데이터가 BUL(1310)에 도달하면, 그 BUL(1310)은 평균 풀링 레이어에 의해 이전에 폐기된 공간 정보를 재도입할 수 있다. 스킵 커넥션(1315A-D)은 확장 레이어가 CNNA(1300)의 수축 컴포넌트로부터 특징들을 통합하도록하는데 사용될 수 있다. 예를 들어, 4개의 1D 커널 세트를 추정하기 위해, 마지막 확장 레이어에서의 정보 플로우가 4개의 서브-네트워크로 지향될 수 있는데, 여기서 각 서브네트워크는 커널 중 하나를 추정할 수 있다. 대안적인 실시 예에서, 4개의 커널의 조합된 표현은 공동으로 모델링 될 수 있다; 그러나 4개의 서브네트워크를 사용하면 트레이닝 중에 더 빠른 수렴이 제공 될 수 있다.
실시 예들에서, 액티베이션 함수로서 사용된 정류 선형 유닛(ReLU)을 갖는 3 x 3 컨볼루션 레이어의 스택이 효과적일 수 있다. 평균 풀링(예를 들어, APL(1305))은 픽셀 단위 예측의 맥락에서 일부 공통 풀링 실시 예와 비교하여 잘 수행 될 수 있고, 평균 풀링(예를 들어, APL(1305))은 본원의 일부 실시 예에서 사용될 수 있다. 업샘플링 레이어(예를 들어, BUL 1310)는 마찬가지로 전치된 컨벌루션, 서브-픽셀 컨벌루션, 가장 가까운 이웃 및 이중 선형 인터폴레이션을 포함할 수 있는 다양한 방식으로 구현될 수 있다(예를 들어, 도 14 참조). 일부 솔루션에서 업샘플링 레이어를 제대로 선택하지 않으면 이미지 생성 작업에 대해 바둑판 아티팩트가 발생할 수 있다. 본원의 실시 예는 컨볼루션 커널을 먼저 추정함으로써 이미지를 생성할 수 있지만, 도 14에 도시된 바와 같이 이러한 아티팩트는 여전히 발생할 수 있다. 일부 실시 예에서, 이들 아티팩트는 이중 선형 인터폴레이션을 사용하여 네트워크 디코더에서 업샘플링을 수행함으로써 처리 및/또는 해결될 수 있다.
II.2.1.1 손실 함수
인터폴레이션된 프레임
Figure 112019104482418-pct00013
과 이에 대응하는 그라운드 트루 Igt 간의 차이를 측정하는 두 가지 유형의 손실 함수가 고려될 수 있다. 첫 번째는 픽셀 당 컬러 차이에 따른
Figure 112019104482418-pct00014
손실이며, 수학식 4에 의해 정의될 수 있다.
Figure 112019104482418-pct00015
대안적으로,
Figure 112019104482418-pct00016
놈(norm)이 사용될 수 있다; 그러나, 이러한 실시 예는 다른 이미지 생성 작업에서 보고된 바와 같이 흐릿한 결과를 초래할 수 있다.
탐색될 수 있는 제 2 유형의 손실 함수는 지각 손실이며, 이는 때때로 시각적으로 만족스러운 이미지를 생성하는데 효과적인 것으로 밝혀졌다. 지각 손실은 일반적으로 이미지의 높은 수준의 특징을 기반으로 하며 수학식 5에 의해 정의될 수 있다.
Figure 112019104482418-pct00017
여기서
Figure 112019104482418-pct00018
은 이미지로부터의 추출 특징일 수 있다. SSIM 손실 및 특징 재구성 손실과 같은 상이한 특징 추출기에 기초한 다양한 손실 함수가 이용될 수 있다. 본원의 실시 예는 VGG-19 네트워크의 relu4_4 레이어에 기초한 특징 재구성 손실을 이용할 수 있고, 프레임 인터폴레이션에 대한 양호한 결과를 생성할 수 있다.
II.2.2. 트레이닝
뉴럴 네트워크 파라미터는 컨볼루션 인식 초기화를 사용하여 초기화될 수 있으며, β1 = 0.9, β2 = 0.999, 러닝 레이트 0.001 및 16 샘플의 미니-배치 크기를 갖는 AdaMax를 사용한 트레이닝을 포함할 수 있다. 비교적 작은 소형 배치 크기가 사용될 수 있다. 미니 배치 당 더 많은 샘플을 사용할 때 트레이닝된 모델의 품질이 저하될 수 있다. 또한 전체 프레임 대신 128 x 128 크기의 패치를 트레이닝에 사용할 수 있다. 이를 통해 유용한 정보가 거의 또는 전혀 포함되어 있지 않은 패치를 피할 수 있으며 보다 다양한 미니 배치로 이어져 트레이닝을 향상시킬 수 있다.
트레이닝 데이터 세트. 트레이닝 샘플은 광범위하게 이용 가능한 비디오로부터 추출될 수 있는데, 여기서 각각의 트레이닝 샘플은 그라운드 트루 역할을 하는 중간 프레임을 갖는 3개의 연속 프레임을 포함할 수 있다. 비디오 품질은 트레이닝 된 모델의 품질에 영향을 미칠 수 있기 때문에, 고품질 비디오를 일관되게 제공하는 선택된 채널로부터 비디오 자료가 획득될 수 있다. 1920 x 1080의 해상도를 가진 비디오가 사용될 수 있지만, 비디오 압축의 영향을 줄이기 위해 1280 x 720으로 조정될 수 있다. 실시 예에서, 프로그레시브 스캔 형식의 비디오가 사용될 수 있다.
일부 실시 예는 비디오 샷 경계를 가로질러 3 프레임 샘플을 사용하지 않았으며 텍스처가 결여된 폐기된 샘플을 사용하였다. 트레이닝 데이터 세트의 다양성을 증가시키기 위해, 시간적으로 서로 근접한 샘플을 피할 수 있다. 풀 프레임을 사용하는 대신 150 x 150 패치가 무작위로 잘릴 수 있으며, 충분히 큰 모션이 있는 패치가 선택될 수 있다. 각 샘플에서 패치들 사이의 모션을 계산하기 위해, 첫번째 패치와 마지막 패치 사이의 평균 옵티컬 플로우가 추정될 수 있다. 일부 실시 예에서, 이러한 추정은 SimpleFlow를 사용할 수 있다.
추출된 샘플들 중 250,000개를 무작위로 선택함으로써(예를 들어, 교체없이) 데이터 세트가 구성될 수 있다. 무작위 선택은 추정된 평균 옵티컬 플로우에 의해 안내될 수 있다. 일부 실시 예에서, 큰 플로우 크기를 갖는 샘플이 더 포함될 수 있다. 전체적으로, 결과 데이터 세트에서 픽셀의 10%는 적어도 17 픽셀의 플로우 크기를 가질 수 있고, 그들중 5%는 23 픽셀 이상의 크기를 가질 수 있다. 일부 실시 예들에서, 최대 모션은 39 픽셀일 수 있다.
데이터 확대. 트레이닝 동안 데이터 증강이 즉시 수행될 수 있다. 트레이닝 데이터 세트의 각 샘플은 150 x 150 픽셀 크기 일 수 있지만, 128 x 128 픽셀 크기의 패치가 트레이닝에 사용될 수 있다. 이것은 임의의 크롭핑(cropping)에 의해 데이터 증강이 수행될 수 있게 하여, 네트워크가 트레이닝 데이터 세트에 잠재적으로 존재하는 공간 우선 순위를 트레이닝하는 것을 방지할 수 있다. 트레이닝된 데이터 세트는 그라운드 트루의 자른 창을 변경하지 않고 첫 프레임과 마지막 프레임에서 자른 창을 이동시킴으로써 추가로 증대될 수 있다. 이를 체계적으로 수행하고 첫 번째 프레임과 마지막 프레임의 잘린 창을 반대 방향으로 이동하면 여전히 그라운드 트루는 건전할 수 있다. 이것은 트레이닝 데이터 세트의 플로우 크기를 증가시키는 데 도움이 될 수 있다. 일부 실시 예는 최대 6 픽셀의 시프트를 사용할 수 있으며, 이는 약 8.5 픽셀만큼 플로우 크기를 증가시킬 수 있다. 다른 실시 예에서, 절단된 패치는 수평 또는 수직으로 무작위로 뒤집어 질 수 있고, 시간 순서는 무작위로 교환될 수 있다. 이것은 트레이닝 데이터 세트 내에서 모션을 대칭으로 만들 수 있고 모션 방향에 대한 편향을 방지할 수 있다.
II.2.3. 구현예
속도, 경계 처리 및 하이퍼-파라미터 선택에 관한 구현 측면이 설명될 수 있다.
계산 효율. 일부 실시 예에 따라, 토치(torch)가 딥 컨볼루션 뉴럴 네트워크를 구현하는 데 사용될 수 있다. 높은 계산 효율을 달성하기 위한 실시 예에서, 예를 들어 추정된 1D 커널을 적용하기 위해 레이어가 CUDA로 기록될 수 있으며, 이는 네트워크가 인터폴레이션된 프레임을 한 번에 직접 렌더링 할 수있게 한다. 다른 레이어에 대해, 구현들은 속도를 더 향상시키기 위해 cuDNN에 기초할 수 있다. 예를 들어 Nvidia Titan X GPU를 사용하면 시스템에서 0.5초 안에 1280 x 720 프레임과 0.9초 안에 1920 x l080 프레임을 인터폴레이션할 수 있다. 실시 예에서, 4개의 Nvidia Titan X GPU를 사용하여 뉴럴 네트워크를 트레이닝시키는 데 약 20 시간이 걸릴 수 있다.
경계 처리. 로컬 컨볼루션으로서 프레임 인터폴레이션을 공식화하는 일부 실시 예는 경계 픽셀을 처리하기 위해 입력을 패딩할 수 있다. 실시 예는 제로 패딩, 반사 패딩 및/또는 반복에 의한 패딩을 사용할 수 있다. 반복에 의한 패딩을 이용하는 실시 예는 본원의 일부 실시 예에서 사용될 수 있다.
하이퍼 -파라미터 선택. 트레이닝뿐만 아니라 네트워크를 위해 합리적인 하이퍼-파라미터를 선택하기 위해 검증 데이터 세트가 사용될 수 있다. 이 유효성 검사 데이터 세트는 트레이닝 데이터 세트와 분리될 수 있지만 유사한 방식으로 생성될 수 있다.
레이어의 수, 손실 함수의 가중치 또는 러닝 레이트와 같은 일반적인 파라미터 외에, 본원의 실시 예는 도메인 특정 하이퍼-파라미터를 포함할 수 있는데, 이는 추정되어야 하는 1D 커널의 크기를 포함 및/또는 나타낼 수 있다. 일부 실시 예에서, 크기가 51 픽셀인 커널은 잘 작동하는데, 이는 39 픽셀의 트레이닝 데이터 세트에서 최대 플로우 크기 및 증강으로부터의 약 8.5 픽셀의 추가 모션과 관련될 수 있다. 더 큰 모션을 처리하기 위해 커널 크기를 증가시키는 것이 바람직할 수 있지만, 일부 실시 예에서, 일부 트레이닝 데이터 세트의 플로우 크기에 의해 제한되는 반면, 더 큰 커널은 개선을 제공하지 않을 수 있다.
풀링 레이어의 수는 또한 일부 실시 예에서 하이퍼-파라미터 일 수 있다. 풀링 레이어는 컨볼루션 뉴럴 네트워크의 수용 필드에 영향을 줄 수 있는데, 이는 모션 추정에서 어퍼처 문제와 관련될 수 있다. 더 많은 수의 풀링 레이어는 큰 모션을 처리하기 위해 수용 필드를 증가시킬 수 있다. 한편, 트레이닝 데이터 세트에서 최대 플로우 크기는 유용한 풀링 레이어의 수에 대한 상한을 제공할 수 있다. 일부 실시 예에서, 5개의 풀링 레이어를 사용하면 양호한 인터폴레이션 결과를 생성할 수 있다.
II. 3. 실험
본원에 설명된 실시 예는 대표적인 레거시 실시 예와 비교될 수 있으며, 정 성적 및 정량적으로 평가될 수 있다. 옵티컬 플로우-기반 동작의 경우, 비교를 위해 선택된 레거시 실시 예는 현재 미들베리 벤치 마크에서 가장 낮은 인터폴레이션 오차를 달성하는 MDP-Flow2 및 가장 낮은 인터폴레이션 오차를 갖는 뉴럴 네트워크 기반 접근법인 DeepFlow2 일 수 있다. 비교는 미들베리 벤치 마크에서 사용된 인터폴레이션 알고리즘을 사용하여 추정된 옵티컬 플로우에서 프레임을 합성할 수 있다. 본원의 실시 예는 또한 일부 레거시 위상 기반 프레임 인터폴레이션 방법 및 적응형 컨벌루션(예를 들어, AdaConv)에 기초한 방법과 비교될 수 있는데, 이는 옵티컬 플로우 기반 방법에 대한 대안을 나타낼 수 있다. 이러한 모든 비교를 위해, 원래 레거시 실시 예로부터의 코드 또는 트레이닝된 모델이 사용될 수 있다.
II.3.1. 손실 함수
본원의 실시 예는 2가지 유형의 손실 함수와 결합될 수 있다:
Figure 112019104482418-pct00019
손실 및 특징 재구성 손실
Figure 112019104482418-pct00020
. 그 효과를 조사하기 위해 두 가지 버전의 뉴럴 네트워크가 트레니닝될 수 있다. 첫 번째의 경우,
Figure 112019104482418-pct00021
손실만이 사용될 수 있으며, 단순화를 위해 "
Figure 112019104482418-pct00022
"로 지칭될 수 있다. 두 번째 경우,
Figure 112019104482418-pct00023
손실 및
Figure 112019104482418-pct00024
손실이 모두 사용될 수 있으며, 간략화를 위해 "
Figure 112019104482418-pct00025
"로 지칭 될 수 있다. 상이한 가중치를 갖는
Figure 112019104482418-pct00026
Figure 112019104482418-pct00027
의 선형 조합을 사용하는 것, 및 먼저
Figure 112019104482418-pct00028
손실로 네트워크를 트레이닝한 다음
Figure 112019104482418-pct00029
손실을 사용하여 미세 조정하는 것을 포함하는 몇몇 상이한 트레이닝 방식이 이용될 수 있다. 후자는 더 나은 시각적 품질을 제공하므로 비교에 사용될 수 있다. 일부 실시 양태에서,
Figure 112019104482418-pct00030
손실의 단독 사용이 불충분한 것으로 밝혀졌다. 도 15에서 볼 수 있듯이
Figure 112019104482418-pct00031
손실을 통합하면 더 높은 주파수 세부 정보로 더 선명한 이미지를 얻을 수 있다. 이것은 최근 이미지 생성 및 초 해상도 연구 결과와 일치한다.
II.3.2. 시각적 비교
본원에 기술된 분리 가능한 컨볼루션 실시 예는 비디오 프레임 인터폴레이션의 까다로운 경우와 관련하여 검사된다. 도 16의 맨 윗줄은 섬세한 나비 다리가 옵티컬 플로우를 정확하게 예측하기 어렵고 플로우 기반 결과에 아티팩트가 생기는 예를 보여준다. 다리 모션도 크기 때문에 위상-기반 접근 방식으로도 제대로 처리할 수 없으며 고스트 현상이 발생한다. AdaConv의 결과도 흐릿하게 나타난다. 본원의 실시 예의 두 결과 모두 선명하고 고스팅 아티팩트가 없다.
두 번째 행은 번화가의 예를 보여준다. 사람들이 서로를 향해 움직일 때 중요한 폐색이 있다. 본원의 실시 예의 두 예는 다른 것보다 폐색을 더 잘 처리한다. 이것은 컨볼루션 접근법과 2D 커널보다 파라메터가 적은 1D 커널의 사용과 관련이있을 수 있다.
세 번째 줄에는 소방관이 손전등을 켜는 예가 나와 있다. 이는 옵티컬 플로우 방법의 밝기 불변성 가정을 위반하여 해당 프레임 인터폴레이션 결과에서 아티팩트를 볼 수 있다. 마지막 행은 얕은 피사계 심도를 가진 예를 보여 주며, 이는 전문 비디오에서 일반적이다. 흐릿한 배경은 또한 플로우 추정을 어렵게 하여 플로우 기반 방법으로부터의 프레임 인터폴레이션 결과를 손상시킬 수 있다. 이들 예에있어서, 본원에 설명된 다른 방법 및 실시 예는 잘 작동한다.
커널. 본원에 기술된
Figure 112019104482418-pct00032
구체예에 의해 추정된 커널은 AdaConv으로부터의 그것들과 비교될 수 있다. 일부 대표적인 커널이 도 17에 도시되어 있고, 도 17의 커널의 확대된 표현이 도 18에 도시되어 있다. 본원의 실시 예로부터의 각각의 1D 커널 쌍은 비교를 위해 동등한 2D 커널을 생성하기 위해 컨볼루션될 수 있음에 유의한다. 본원의 실시 예의 커널은 AdaConv의 커널보다 크므로, 경계 값은 모두 0이므로 더 나은 시각화를 위해 잘릴 수 있다. 나비 예에서, 다리의 픽셀에 대한 커널이 표시된다. AdaConv는 두 번째 입력 프레임의 해당 픽셀에서만 컬러를 가져온다. 본원의 실시 예는 AdaConv와 같이 제 2 입력 프레임에서 주로 동일한 픽셀로부터 컬러를 취하는 반면, 본원의 실시 예는 또한 제 1 입력 프레임으로부터 대응하는 픽셀로부터 컬러를 취할 수 있다. 두 개의 입력 프레임에서 해당 픽셀의 컬러가 동일하게 유지되므로 두 방법 모두 적절한 결과를 생성한다. 또한 두 방법 모두 해당 픽셀의 모션을 캡처할 수 있으며 이는 0이 아닌 커널 값과 커널 중심 사이의 오프셋으로 표시될 수 있다.
도 17의 두 번째 예는 두 입력 프레임에서 밝기가 빠르게 변하는 손전등 영역의 픽셀에 대한 커널을 보여준다. 두 방법 모두 동작이 없기 때문에 중심에 0이 아닌 값만 있는 동일한 커널을 출력한다. 이들 커널은 출력 컬러가 입력 프레임에서 대응하는 픽셀의 평균 컬러로 추정됨을 나타낼 수 있다. 마지막 예는 폐색된 영역의 픽셀을 보여준다. 두 방법 모두 두 프레임을 혼합하는 대신 하나의 입력 프레임만 샘플링하도록 올바르게 선택할 수 있는 커널을 생성하므로 좋은 인터폴레이션 결과를 얻을 수 있다.
II.3.3. 정량적 평가
본원에 설명된 실시 예는 미들베리 옵티컬 플로우 벤치 마크에서 정량적으로 평가될 수 있으며, 이는 그라운드 트루 갖는 트레이닝 세트 및 공공 그라운드 트루를 갖지 않는 테스트 세트를 제공한다. 테스트 세트에 결과가 없는 방법의 경우 트레이닝 세트에서만 비교된다. 다른 방법들은 테스트 세트와 트레이닝 세트 모두에서 비교될 수 있다. 미들베리 트레이닝 또는 테스트의 예는 본원에 기술된 실시 예를 트레이닝시키기 위해 사용되지 않았다.
도 19는 미들베리 트레이닝 세트에 대한 평가를 보여주는 그래프(1900)를 보여준다. 먼저, 본원에 기술된 실시 예의
Figure 112019104482418-pct00033
네트워크 및
Figure 112019104482418-pct00034
네트워크는 PSNR 및 SSIM 모두의 관점에서 다른 방법과 잘 비교된다. 둘째로, 본원에 기술된 실시 예의
Figure 112019104482418-pct00035
네트워크는 본원에 기술된 실시 예의
Figure 112019104482418-pct00036
보다 약간 더 나은 PSNR 결과를 생성한다. 예를 들어, 도 4에 도시된 바와 같이, 본원에 설명된 실시 예의
Figure 112019104482418-pct00037
는 종종 시각적으로 더 즐거운 결과를 초래할 수 있지만, 이것은 일부 실시 예에서 PSNR과 밀접한 관련이 있는
Figure 112019104482418-pct00038
과 관련될 수 있다.
표 1900T는 미들베리 테스트 세트에 대한 결과를 보고한다. 본원에 기술된 실시 예("우리의, ours")는 "우리의" 방법이 두 번째인 농구를 제외한 모든 예에서 불연속/폐색 영역(디스크. 열)에서 가장 잘 수행된다. 전체적으로 "우리의" 방법은 Mequon, Dumptruck 및 Evergreen, Basketball에서 2위, Backyard에서 3위, 도 19의 표 1900T에 의해 보고된 방법뿐만 아니라 미들베리에서 보고된 100가지 이상의 모든 방법 중에서 가장 잘 수행다.
II.3.4. 사용자 연구
도 20은 사용자 연구 결과를 보여주는 그래프 2000을 보여준다. 본원에 기술 된
Figure 112019104482418-pct00039
Figure 112019104482418-pct00040
실시 예와 다른 4가지 방법 사이의 프레임 인터폴레이션 결과의 시각적 품질을 추가로 비교하기 위해 사용자 연구가 수행되었다. 컴퓨터 과학 및 통계 분야의 대학원 또는 대학생인 15명의 참가자가 모집되었다. 이 연구는 미들베리 테스트 세트의 8가지 예를 모두 사용했다. 각각의 예에서,
Figure 112019104482418-pct00041
실시 예는 다른 5개의 결과와 하나씩 비교되었다. 이런 식으로 각 참가자는 40쌍의 결과를 비교했다. 연구를 위해 웹 기반 시스템이 개발되었다. 각 시험에서 웹 사이트에는 하나의 결과만 표시되며 참가자는 키보드의 왼쪽 및 오른쪽 화살표 키를 사용하여 두 결과를 앞뒤로 전환할 수 있으므로 결과의 차이를 쉽게 확인할 수 있다. 참가자는 각 시험에 더 적합한 결과를 선택해야 했다. 쌍이 나타나는 시간 순서는 무작위화되었지만 각 쌍의 두 결과가 나타나는 순서는 무작위로 교환되었다.
사용자가 기준선 중 하나에 의해 생성된 것보다
Figure 112019104482418-pct00042
실시 예에 의해 인터폴레이션되는 프레임을 선호한다는 각각의 가설에 대해, p-값 < 0.01이 얻어지고 이를 확인할 수 있다. 참가자는 도 21에 표시된 "농구" 예에서
Figure 112019104482418-pct00043
결과보다
Figure 112019104482418-pct00044
결과를 선호했다. 이는 농구에서 도입된 불연속성과 관련이 있을 수 있다.
II.3.5. AdaConv와의 비교
본원에 기술된 실시 예는 무엇보다도 2D 커널 대신 1D 커널을 추정하고 프레임 내의 모든 픽셀에 대한 커널을 동시에 추정할 수 있는 전용 인코더-디코더 뉴럴 네트워크(예를 들어, 도 13의 CNNA 1300)을 개발함으로써 AdaConv와 다르다. AdaConv와 비교하여, 본원에 설명된 실시 예는 몇 가지 장점을 가질 수 있다. 첫째, 여기에 설명된 실시 예는 1080p 비디오를 인터폴레이션 할 때 AdaConv보다 20 배 이상 빠를 수 있다. 둘째, 이전의 정량적 비교(도 19 및 표 1900T)에 도시된 바와 같이, 본원에 기술된 실시 예는 수치적으로 더 나은 결과를 생성할 수 있다. 셋째, 예를 들어
Figure 112019104482418-pct00045
와 같은 본원에 기술된 실시 예는 예를 들어 도 16 및 도 23에 의해 도시된 바와 같이 AdaConv보다 시각적으로 더 매력적인 결과를 생성할 수 있다. 이러한 장점은 분리 가능한 컨벌루션과 관련이 있을 수 있다. 첫째, 전체 프레임을 동시에 합성하고 시각적으로 만족스러운 결과를 생성하는 데 효과적인 지각 손실을 통합할 수 있다. 둘째, 1D 커널은 훨씬 적은 수의 파라메터를 필요로 하므로 좋은 커널을 얻는 데 유용한 제약 조건이 적용된다. 셋째, 본원에 기술된 실시 예는 AdaConv보다 더 큰 커널을 사용할 수 있으므로 더 큰 모션을 처리할 수 있다. 도 22에서 볼 수 있듯이 AdaConv는 자동차의 큰 모션을 포착할 수 없으며 흐릿한 결과를 생성할 수 있다.
II.3.6. 토론
분리 가능한 컨벌루션을 통한 인터폴레이션은 딥 뉴럴 네트워크를 사용하는 프레임을 직접 인터폴레이션하는 것과 비교될 수 있다. 본원에 설명된 실시 예들에 따라 네트워크를 수정함으로써 기준선과 비교할 수 있다. 예를 들어, 하나의 서브- 네트워크가 인코더-디코더 뒤에 사용될 수 있고 인터폴레이션된 프레임을 직접 추정하는데 사용될 수 있다. 또한, 배치 정규화 레이어는 컨볼루션 레이어의 각 블록 뒤에 추가될 수 있으며, 이는 직접 합성 네트워크의 품질을 향상시킬 수 있다. 이 모델은
Figure 112019104482418-pct00046
실시 예가 트레이닝될 수 있는 것과 동일한 방식으로 트레이닝될 수 있다. 도 10에서 볼 수 있듯이 이 방법은 결과가 흐려질 수 있다. 또한, 옵티컬 플로우 추정을 위한 중간 단계로서 인터폴레이션을 사용하는 다른 직접 인터폴레이션 방법과 비교할 수 있다. 도 11에 도시된 바와 같이, 본원에 기술된 실시 예의 결과는 더 선명하다. 이는 일부 레거시 솔루션의 결과와 일치하는데, 이는 스크래치로부터 이미지를 합성하는 것이 어렵고 대신 외관 플로우를 통해 새로운 뷰를 합성함을 나타낸다.
본원에 설명된 실시 예가 처리할 수 있는 모션 량은 일부 실시 예에서 커널 크기에 의해 제한되며, 이는 51 픽셀 일 수 있다. 이것이 최근의 AdaConv 방법보다 더 크지만, 본원에 기술된 실시 예는 더 큰 모션을 처리하기 위해(예를 들어, 옵티컬 플로우와 유사한) 멀티-스케일 접근법을 추가로 이용할 수 있다.
본원에 설명된 실시 예는 2개의 입력 프레임의 중간에서 프레임을 인터폴레이션할 수 있다. 일부 실시 예는 입력된 것 사이의 임의의 시간에 프레임을 생성하지 않을 수 있다. 이를 해결하기 위해, 다른 실시 예는 t = 0.25 및 t = 0.75에서 프레임을 재귀적으로 합성하는 것을 계속할 수 있거나, 또는 새로운 시간이 다른 시간 오프셋에서 프레임을 리턴하는 스크래치부터 트레이닝될 수 있다. 이들은 옵티컬 플로우 기반 인터폴레이션만큼 유연하지 않을 수 있다. 또 다른 실시 예에서, 뉴럴 네트워크는 제어 변수로서 인터폴레이션을 위한 시간 오프셋을 명시적으로 모델링할 수 있다.
II.4 실시 예
본원에 설명된 실시 예는 고품질 비디오 프레임 인터폴레이션을 제공할 수 있다. 실시 예는 본원에 설명된 임의의 또는 모든 특징, 동작 등의 조합을 포함할 수 있다. 일례로서, 도 24는 다양한 실시 예에 따른 프레임 인터폴레이션을 위한 프로세스(2400A)를 도시한다. 프로세스(2400A)는 컴퓨터 시스템의 프로세서 회로가 제 1 및 제 2 쌍의 1 차원(1D) 컨볼루션 커널을 제 1 및 제 2 비디오 프레임에서 각각 제 1 및 제 2의 2 차원(2D) 컨볼루션 커널에 근사화하도록 추정할 수 있는 동작(2405)에서 시작할 수 있다. 동작(2410)에서, 프로세서 회로는 대응하는 픽셀 패치들에 대한 컨볼루션으로서 픽셀 인터폴레이션을 형성할 수 있다.
도 24는 또한 다양한 다른 실시 예들에 따른 프레임 인터폴레이션을 위한 프로세스(2400B)를 도시한다. 프로세스(2400A)는 컴퓨터 시스템의 프로세서 회로가 프레임에서 복수의 픽셀에 대한 1D 컨볼루션 커널을 동시에 추정할 수 있는 동작 2415에서 시작할 수 있다. 동작 2420에서, 프로세서 회로는 1D 컨볼루션 커널에 대해 풀 프레임을 동시에 합성할 수 있다.
실시 예에서, 컴퓨터 장치는 명령이 저장된 하나 이상의 컴퓨터 판독 가능 매체를 포함 및/또는 액세스할 수 있으며, 이는 실행될 때 컴퓨터 장치로 하여금 프로세스(2400A 또는 2400B)의 동작의 일부 또는 전부를 수행하게 한다. 다른 실시 예에서, 특수-목적 프로세서는 프로세스(2400A 또는 2400B)의 동작 중 일부 또는 전부를 동작시키도록 구성될 수 있다. 실시 예들에서, 전자 메모리 또는 컴퓨터 판독 가능 매체에 저장된 명령에 액세스하는 것에 응답하여 프로세스(2400A 또는 2400B)의 임의의 동작을 수행하기 위해 임의의 수의 범용 프로세서가 특수 목적 프로세서로 변환될 수 있다.
도 25는 도 24의 프로세스(2400A 및 2400B)와 같은 본원의 다양한 실시 예를 실시하기 위해 사용될 수 있는 예시적인 장치(2500)를 도시한다. 실시 예에서, 장치(2500)는 커널 추정기(2515) 및 컨볼루션 엔진(2520)을 포함할 수 있다. 일부 실시 예들에서, 컨볼루션 엔진(2520)은 컨볼루션 네트워크(예를 들어, 도 1의 ConvNet(105), 도 13 아래의 CNNA(1300) 등)를 구현하거나 운영할 수 있다.
실시 예에서, 커널 추정기(2515)는 각각 제 1 및 제 2 비디오 프레임에서 제 1 및 제 2의 2D 컨볼루션 커널을 근사화하기 위해 제 1 및 제 2 쌍의 1D 컨볼 루션 커널을 동시에 추정할 수 있다. 이들 실시 예에서, 컨볼루션 엔진(2520)은 제 1 및 제 2의 2D 컨볼루션 커널의 대응하는 픽셀 패치에 대한 로컬 컨볼루션으로서 픽셀 인터폴레이션을 형성할 수 있다. 다른 실시 예에서, 커널 추정기(2515)는 프레임 내의 복수의 픽셀 각각에 대한 복수의 1D 컨볼루션 커널을 동시에 추정할 수 있다. 이들 실시 예에서, 컨볼루션 엔진(2520)은 프레임 내의 복수의 픽셀에 대한 1D 컨볼루션 커널에 대해 풀 프레임을 동시에 합성할 수 있다.
II.5. 결론
본원에 설명된 실시 예는 고품질 비디오 프레임 인터폴레이션을 제공할 수 있다. 일부 실시 예는 각각의 출력 픽셀에 대한 공간적 적응형 분리 가능 커널을 추정하고 그것들과 함께 입력 프레임을 변환하여 중간 프레임을 렌더링함으로써 모션 추정 및 프레임 합성을 단일 컨벌루션 프로세스로 결합할 수 있다. 실시 예는 완전한 2D 커널을 근사화하기 위해 1D 커널 쌍을 사용할 수 있다. 1D 커널의 사용은 커널 파라미터의 수를 크게 줄이고 전체 프레임 합성을 허용할 수 있는데, 이는 인터폴레이션 결과의 시각적 품질을 더욱 향상시키기 위해 지각 손실의 사용을 지원할 수 있다. 실험은 본원에 기술된 실시 예가 양적 및 질적으로 레거시 인터폴레이션 결과와 유리하게 비교되고 고품질 프레임 인터폴레이션 결과를 생성할 수 있음을 보여줄 수 있다.
III. 예시 시스템 및 플랫폼
도 26은 다양한 실시 예가 실시될 수 있는 시스템(2600)을 도시한다. 시스템(2600)은 컴퓨터 시스템(2601-1, 2601-2 및 2601-3)(통칭하여 "컴퓨터 시스템(2601)" 또는 "컴퓨터 시스템들(2601)"로 지칭됨), 액세스 노드(AN)(2610), 액세스 포인트(AP)(2606), 네트워크(2650) 및 애플리케이션 서버(2630)를 포함한다.
시스템(2600)은 하나 이상의 프로세서(하나 이상의 프로세서 코어 및 선택적으로 하나 이상의 하드웨어 가속기 등을 가짐), 메모리 장치, 통신 장치 등을 포함할 수 있는 컴퓨터 시스템(2601)을 포함하는 것으로 도시되어 있는데, 이는 본원에서 논의된 다양한 실시 예에 따라 다양한 기능을 수행하도록 구성될 수 있다. 본원에서 사용되는 바와 같이, "컴퓨터 장치"라는 용어는 기계 판독 가능 매체 상에 데이터를 기록/저장하도록 구비하여, 순차적으로 그리고 자동적으로 일련의 산술 또는 논리 연산을 수행할 수 있는 임의의 물리적 하드웨어 장치라고 설명할 수 있고, 통신 네트워크에서 하나 이상의 다른 장치에 데이터를 송수신할 수 있다. 컴퓨터 장치는 컴퓨터, 컴퓨팅 플랫폼, 컴퓨팅 장치 등과 동의어로 간주되거나 이후 때때로 이들로 언급될 수 있다. "컴퓨터 시스템"이라는 용어는 임의의 유형의 상호 연결된 전자 장치, 컴퓨터 장치 또는 이들의 구성 요소를 포함할 수 있다. 또한, "컴퓨터 시스템" 및/또는 "시스템"이라는 용어는 서로 통신적으로 연결된 컴퓨터의 다양한 구성 요소를 지칭할 수 있다. 또한, "컴퓨터 시스템" 및/또는 "시스템"이라는 용어는 서로 통신 가능하게 연결되고 컴퓨팅 및/또는 네트워킹 리소스를 공유하도록 구성된 다수의 컴퓨터 장치 및/또는 다수의 컴퓨팅 시스템을 지칭할 수 있다. "컴퓨터 장치", "컴퓨터 시스템" 등의 예는 셀룰러 폰 또는 스마트 폰, 피처 폰, 태블릿 퍼스널 컴퓨터, 웨어러블 컴퓨팅 장치, 자율 센서, 랩탑 컴퓨터, 데스크탑 퍼스널 컴퓨터, 비디오 게임 콘솔, 디지털 미디어 플레이어, 핸드 헬드 메시징 장치, 개인 데이터 보조자, 전자 서적 리더, 증강 현실 장치, 서버 컴퓨터 장치(예를 들면, 독립형, 랙 마운트, 블레이드 등), 클라우드 컴퓨팅 서비스/시스템, 네트워크 요소, 차량 인포테인먼트(IVI), 차량 내 엔터테인먼트(ICE) 장치, 인스트루먼트 클러스터(IC), 헤드 업 디스플레이(HUD) 장치, 온보드 진단(OBD) 장치, 대시 보드 모바일 장비(DME), 모바일 데이터 터미널(MDT), 전자 엔진 관리 시스템(EEMS), 전자/엔진 제어 장치(ECU), 전자/엔진 제어 모듈(ECM), 임베디드 시스템, 마이크로 컨트롤러, 제어 모듈, 엔진 관리 시스템(EMS), 네트워크 또는 "스마트" 기기, 머신 타입 통신(MTC) 장치, M2M(machine-to-machine), 사물 인터넷(IoT) 장치 및/또는 기타 유사한 전자 장치를 포함할 수 있다. 또한, "차량 내장형 컴퓨터 장치"라는 용어는 차량에 물리적으로 장착, 내장 또는 내장된 임의의 컴퓨터 장치 및/또는 컴퓨터 시스템을 지칭할 수 있다. 이 예에서, 컴퓨터 시스템(2601-1 및 2601-2)은 각각 태블릿 컴퓨터 및 스마트 폰(예를 들어, 하나 이상의 셀룰러 네트워크에 연결 가능한 핸드 헬드 터치 스크린 모바일 컴퓨팅 장치)로서 도시되고, 컴퓨터 시스템(2601-3)은 랩톱 컴퓨터로 도시된다. 그러나, 컴퓨터 시스템(2601)은 또한 임의의 모바일 또는 비 모바일 컴퓨팅 장치를 포함할 수 있다.
컴퓨터 시스템(2601)은 다양한 소스로부터 데이터를 획득 및/또는 처리할 수 있고, 처리된 데이터는 본원에서 논의된 다양한 실시 예에 따른 각각의 컴퓨터 시스템(2601)에 의해 채용된 각각의 디스플레이 장치에 의해 디스플레이될 수 있다. 컴퓨터 시스템(2601)은 네트워크(2650) 및/또는 네트워크 인프라(예를 들어, 셀룰러 통신 네트워크의 코어 네트워크 요소, 클라우드 컴퓨팅 서비스의 서버 등), 온보드 내비게이션 시스템으로부터의 네비게이션 시그널/데이터(예를 들면, GNSS(Global Navigation Satellite System), GPS(Global Positioning System) 등)으로부터 네트워크(2650), AN(2610) 및 AP(2606)을 통해 어플리케이션 서버(2630)로부터 데이터(예를 들어, 데이터 패킷 및/또는 데이터 스트림)를 얻을 수 있다. 실시 예들에서, VECD는 또한 다양한 소스들로부터 데이터를 얻기 위해 통신 회로 및/또는 입/출력(I/O) 인터페이스 회로를 포함하거나 이와 관련하여 동작할 수 있다.
실시 예에서, 컴퓨터 시스템(2601)의 통신 회로는 컴퓨터 시스템(2601)이 링크(2605)를 통해 데이터를 직접 교환할 수 있게 할 수 있다. 링크(2605)는 지그비(Zigbee®), 블루투스(Bluetooth®) 또는 블루투스 저에너지(BLE), IEEE 802.15.4(6L0WPAN), WiFi-direct, ANT 또는 ANT +; 3GPP 장치 대 장치(D2D) 또는 근접 서비스(ProSe); Z-파( "지그-파"라고도 함); Linear; SigFox; 등과 같은 적절한 무선 통신 프로토콜에 따라 동작할 수 있는 직접 모바일 기기 간 통신을 위한 단거리 무선 링크 일 수 있다.,
사용자 장비(UE: 2601-2 및 2601-3)는 각각의 접속(2607)을 통해 AP(2606)에 액세스하도록 구성되는 것으로 도시되어있다. 접속(2607)은 임의의 IEEE 802.11 프로토콜과 일치하는 접속과 같은 로컬 무선 접속을 포함할 수 있으며, 여기서 AP(106)는 무선 충실도(WiFi®) 라우터를 포함할 수 있다. AP(106)는 무선 시스템의 코어 네트워크에 연결하지 않고 연결(2626)을 통해 네트워크(2650)에 연결될 수 있다. 일부 실시 예들에서, AP(2606)는 하나 이상의 프로세서, 통신 시스템(예를 들어, 네트워크 인터페이스 제어기를 포함, 하나 이상의 안테나에 연결된 하나 이상의 송신기/수신기 등) 및 컴퓨터 판독 가능 매체를 포함할 수 있는 게이트웨이(GW) 장치 일 수 있다. 그러한 실시 예들에서, AP(2606)는 무선 액세스 포인트(WAP), 홈/비즈니스 서버(무선 주파수(RF) 통신 회로를 갖거나 갖지 않음), 라우터, 스위치, 허브, 무선 비콘, 및/또는 네트워크 장치/요소와 같은 다른 것 일 수 있다.
AN(2610)은 링크(2603)의 무선 인터페이스를 종료할 수 있다. AN(2610)은 네트워크와 하나 이상의 사용자(예를 들어, 컴퓨터 시스템(2601)) 사이의 데이터 및/또는 음성 연결을 위한 무선 기저 대역 기능을 제공하는 네트워크 인프라 또는 네트워크 장비 일 수 있다. 예를 들어, 컴퓨터 시스템(2601-1 및 2601-2)은 LTE, NR, 또는 일부 다른 적절한 셀룰러 통신 프로토콜에 따라 AN(2610)과 통신하도록 구성될 수 있다. AN(2610)은 셀룰러 네트워크(예를 들어, LTE 네트워크에서 eNB(evolved NodeB), 새로운 무선 액세스 기술(NR) 네트워크에서 차세대 NodeB(gNB), WiMAX 기지국, 등), 로드 사이드 유닛(RSU), 원격 무선 헤드, 중계 무선 장치, 스몰 셀 기지국(예를 들어, 펨토셀, 피코 셀, 홈 eNB(HeNB) 등) 또는 기타 유사한 네트워크 요소로 기지국에 연결될 수 있고, 또한, 매크로 셀, 또는 펨토셀 또는 피코 셀(예를 들어, 더 작은 커버리지 영역, 더 작은 사용자 용량, 또는 매크로 셀에 비해 더 높은 대역폭을 갖는 셀)을 제공 할 수 있다. "액세스 노드" 또는 "AN"이라는 용어가 기지국을 지칭하기 위해 사용될 수 있지만, "액세스 노드" 또는 "AN"이라는 용어는 "액세스 포인트" 또는 "AP"라는 용어와 상호 교환적으로 사용될 수 있다.
AN(2610)은 각각 하나 이상의 안테나 요소에 연결된 송신기(들)/수신기 (들)(또는 대안으로, 트랜시버(들)), 하나 이상의 메모리 장치, 하나 이상의 프로세서, 하나 이상의 네트워크 인터페이스 제어기 및/또는 다른 유사 컴포넌트를 포함할 수 있다. 송신기/수신기는 링크(예를 들어, 링크(2603))를 통해 하나 이상의 컴퓨터 시스템(2601)과 데이터 신호를 송수신하도록 구성될 수 있다. 또한, 네트워크 인터페이스 제어기는 다른 백홀 연결(예를 들어, 링크(2625))을 통해 다양한 네트워크 요소(예를 들어, 코어 네트워크 내의 하나 이상의 서버, 네트워크(2650) 등)와 데이터를 송수신하도록 구성될 수 있다.
실시 예에서, 각각의 컴퓨터 시스템(2601)은 각각의 링크(2603)를 통해 데이터를 생성하여 AN(2610)에 전송할 수 있고, AN(2610)은 백홀 링크(2625)를 통해 데이터를 네트워크(2650)에 제공할 수 있다. 또한, 컴퓨터 시스템(2601)의 동작 동안, AN(2610)은 링크(2625)를 통해 네트워크(2650)로부터 컴퓨터 시스템(2601)을 위한 데이터를 획득할 수 있고, 각각의 링크(2603)를 통해 그 데이터를 컴퓨터 시스템(2601)에 제공할 수 있다.
애플리케이션 서버(들)(2630)는 네트워크(예를 들어, 네트워크(2650))를 통해 사용자(예를 들어, 컴퓨터 시스템(2601))에 하나 이상의 서비스를 제공하기위한 하나 이상의 시스템 및/또는 애플리케이션을 포함할 수 있는 하나 이상의 하드웨어 컴퓨팅 장치 일 수 있다. 애플리케이션 서버(들)(2630)는 하나 이상의 프로세서, 하나 이상의 메모리 장치, 하나 이상의 네트워크 인터페이스 등을 포함할 수 있다. 부가적으로, 애플리케이션 서버(들)(2630)는 단일 물리적 하드웨어 장치 일 수 있거나, 다른 네트워크 장치와 물리적 또는 논리적으로 연결될 수 있고, 하나 이상의 데이터 저장 장치(도시되지 않음)에 연결되거나 이와 관련 될 수 있다. 서버(145)는 서버의 일반적인 관리 및 동작을 위한 실행 가능한 프로그램 명령을 제공할 수있는 운영 체제(OS)를 포함할 수 있고, 서버의 프로세서에 의해 실행될 때, 서버가 의도된 기능을 수행 할 수있게 하는 명령을 저장하는 컴퓨터 판독 가능 매체를 포함할 수 있다. OS 및 서버의 일반적인 기능에 대한 적절한 구현은 공지되어 있거나 상업적으로 이용 가능하고, 당업자에 의해 용이하게 구현된다.
실시 예에서, 네트워크(2650)는 컴퓨터, 컴퓨터 간의 네트워크 연결 및 네트워크 연결을 통한 컴퓨터 간의 통신을 가능하게하는 소프트웨어 루틴을 포함할 수 있다. 이와 관련하여, 네트워크(2650)는 각각 하나 이상의 프로세서, 통신 시스템(예를 들어, 네트워크 인터페이스 제어기, 하나 이상의 안테나에 연결된 하나 이상의 송신기/수신기 등) 및 컴퓨터 판독 가능 매체를 포함할 수 있는 하나 이상의 네트워크 요소를 포함할 수 있다. 이러한 네트워크 요소의 예는 무선 액세스 포인트(WAP), 홈/비즈니스 서버(무선 주파수(RF) 통신 회로를 갖거나 갖지 않음), 라우터, 스위치, 허브, 무선 비콘, 기지국, 피코 셀 또는 소형 셀 기지국 및/또는 다른 유사한 네트워크 장치를 포함할 수 있다. 네트워크(2650) 로의 연결은 아래에서 논의되는 다양한 통신 프로토콜을 사용하여 유선 또는 무선 연결을 통해 이루어질 수 있다. 본원에서 사용되는 바와 같이, 유선 또는 무선 통신 프로토콜은 통신 장치/시스템에 의해 구현되어 데이터 패킷화/패키지 해제, 신호 변조/복조화 명령, 프로토콜 스택 등의 구현을 위한 명령을 포함하는 다른 장치와 통신하기 위해 구현된 일련의 표준화된 규칙 또는 명령을 지칭할 수 있다. 도시된 장치들 사이의 통신 세션에 하나 이상의 네트워크가 관련될 수 있다. 네트워크(2650)로의 연결은 예를 들어 컴퓨터 네트워킹의 OSI 모델의 7개의 레이어 또는 무선(셀룰러) 전화 네트워크에서 동등한 레이어를 가능하게 하는 소프트웨어 루틴을 컴퓨터가 실행하도록 요구할 수 있다.
네트워크(2650)는 비교적 장거리 통신을 가능하게 하는데 사용될 수 있다. 그러한 실시 예에서, 네트워크(2650)는 인터넷, 전송 제어 프로토콜(TCP/Internet Protocol(IP)) 기반 네트워크, 하나 이상의 셀룰러 네트워크, 근거리 통신망(LAN) 또는 광역 통신망(WAN), 독점 및/또는 엔터프라이즈 네트워크, 하나 이상의 클라우드 컴퓨팅 서비스 또는 이들의 조합일 수 있다. 그러한 실시 예에서, 네트워크(2650)는 하나 이상의 AP(2606) 또는 AN(2610), 디지털 데이터 또는 전화(예를 들면, 코어 네트워크 또는 백본 네트워크) 등을 라우팅하기 위한 하나 이상의 서버와 같은 네트워크 관련 서비스를 제공하는데 필요한 장비 및 기타 요소를 소유 또는 제어하는 네트워크 운영자와 연관될 수 있다. 그러한 서비스를 통해 통신하는데 사용되는 구현, 구성 요소 및 프로토콜은 당업계에 공지된 것일 수 있고 간결성을 위해 본원에서 생략된다. 일부 실시 예들에서, 네트워크(2650)는 비교적 단거리 통신을 가능하게 하는데 사용될 수 있고, 개인 대 개인(P2P) 또는 개인 영역 네트워크(PAN)(예를 들어, ZigBee, 저전력 무선 개인 영역 네트워크(6LoWPAN)를 통한 IPv6를 포함하는 프로토콜 기반 IEEE 802.15.4, WirelessHART, MiWi, Thread 등; WiFi-direct; Bluetooth/BLE 프로토콜; ANT 프로토콜; Z-Wave; LTE D2D 또는 ProSe; UPnP; 및 등)를 나타낼 수 있거나, 또는 본원에 논의된 임의의 다른 네트워크 또는 프로토콜을 나타낼 수 있다.
도 27은 다양한 실시 예에 따른 컴퓨터 시스템(2700)에서 구현된 플랫폼(2701)의 예시적인 구현을 도시한다. 플랫폼(2701) 및 컴퓨터 시스템(2700)은 도시된 바와 같은 구성 요소의 임의의 조합을 포함할 수 있으며, 이는 집적 회로(IC) 또는 그 일부, 개별 전자 장치 또는 다른 모듈, 로직, 하드웨어, 소프트웨어, 펌웨어, 미들웨어 또는 플랫폼(2701) 또는 더 큰 시스템의 섀시 내에 다른 방식으로 통합된 구성 요소로서 적응된 이들의 조합을 포함할 수 있다. 플랫폼(2701)은 내장 시스템 또는 본원에서 논의된 임의의 다른 유형의 컴퓨터 장치일 수 있다. 일부 실시 예들에서, 플랫폼(2701)은 본원에서 논의된 실시 예들을 수행하도록 특별히 설계된 별도의 전용 및/또는 특수 목적 컴퓨터 장치 일 수 있다. 일부 실시 예에서, 컴퓨터 시스템(2700)은 컴퓨터 시스템(2601), 애플리케이션 서버(2630) 또는 일부 다른 컴퓨터 시스템에 대응할 수 있다.
플랫폼(2701)은 프로세서 회로(2702)를 포함할 수 있으며, 프로세서 회로(2702)는 명령을 수행함으로써 기본적인 산술, 논리 및 입력/출력 동작을 수행하도록 구성된 하나 이상의 처리 요소/장치일 수 있다. 프로세서 회로(2702)는 하나 이상의 중앙 처리 장치(CPU) 및/또는 처리 코어, 및 하나 이상의 캐시 메모리, 로우 드롭 아웃 전압 조정기(LDO), 인터럽트 제어기, SPI, I2C와 같은 직렬 인터페이스 또는 범용 프로그래밍 가능 직렬 인터페이스 모듈, 실시간 클록(RTC), 인터벌 및 워치 독 타이머를 포함한 타이머 카운터, 범용 입/출력(I/O 또는 IO), SD(Secure Digital)/MMC(MultiMediaCard)와 같은 메모리 카드 컨트롤러 또는 이와 유사한 것, USB(Universal Serial Bus) 인터페이스, MIPI(Mobile Industry Processor Interface) 인터페이스 및 JTAG(Joint Test Access Group) 테스트 액세스 포트를 포함할 수 있다. 프로세서 회로(2702)는 하나 이상의 마이크로 프로세서, 하나 이상의 단일 코어 프로세서, 하나 이상의 멀티 코어 프로세서, 하나 이상의 그래픽 처리 장치(GPU), 하나 이상의 멀티 스레딩 프로세서, 하나 이상의 초 저전압 프로세서, 하나 이상의 내장 프로세서, 하나 이상의 디지털 신호 프로세서(DSP), 또는 임의의 다른 적합한 프로세서 또는 처리/제어 회로(들), 또는 이들의 조합일 수 있다. 예로서, 프로세서 회로(2702)는 하나 이상의 인텔 펜티엄 ®, 코어 ® 또는 제온 ® 프로세서(들); AMD(Advanced Micro Devices) Ryzen® 프로세서(들), APU(Accelerated Processing Unit) 또는 Epyc® 프로세서; Apple® Inc.의 A5-A9 프로세서, Qualcomm® Technologies, Inc., Texas Instruments, Inc.® OMAP(Open Multimedia Applications Platform) ™ 프로세서의 Snapdragon ™ 프로세서; MIPS Technologies, Inc의 MIPS 기반 디자인; ARM Holdings, Ltd.로부터 라이센스를 받은 ARM 기반 디자인; 파스칼 마이크로 아키텍처 기반의 Nvidia® GeForce 10 또는 Titan X 시리즈 그래픽 카드(GPU); 및/또는 기타를 포함할 수 있다.
추가적으로 또는 대안적으로, 프로세서 회로(2702)는 필드 프로그래머블 게이트 어레이(FPGA)를 포함할 수 있는 하나 이상의 필드 프로그래머블 디바이스(FPD)와 같은 회로; CPLD(complex PLD), HCPLD(high-capacity PLD) 등과 같은 프로그래머블 로직 장치(PLD); 구조화된 ASIC 등과 같은 ASIC; 프로그래머블 SoC(PSoC); 등을 포함할 수 있다. 그러한 실시 예에서, 프로세서 회로(2702)는 본원에서 논의된 다양한 실시 예의 절차, 방법, 기능 등과 같은 다양한 기능을 수행하도록 프로그래밍될 수 있는 다른 상호 연결된 리소스를 포함하는 로직 블록 또는 로직 패브릭을 포함할 수 있다. 그러한 실시 예에서, 프로세서 회로(2702)의 회로는 룩업 테이블(LUT) 등에 로직 블록, 로직 패브릭, 데이터 등을 저장하는데 사용되는 메모리 셀(예를 들어, 소거 가능 프로그램 가능 판독 전용 메모리(EPROM), 전기 소거 가능 프로그램 가능 판독 전용 메모리(EEPROM), 플래시 메모리, 정적 메모리(예를 들어, 정적 랜덤 액세스 메모리(SRAM), 안티 퓨즈 등)를 포함할 수 있다.
전술한 실시 예들 중 임의의 것에서, 프로세서 회로(2702)는 독립형 시스템/장치/패키지 또는 컴퓨터 시스템(2601)의 기존 시스템/장치/패키지의 일부로서 구현될 수 있다. 프로세서 회로(2702)는 프로세서 회로(2702) 및 본원에서 논의 된 다른 구성 요소가 단일 IC 또는 단일 패키지로 형성되는 SoC(system on chip)의 일부일 수 있다.
일부 실시 예들에서, 프로세서 회로(2702)는 센서들(2720)로부터 획득된 데이터를 처리함으로써 코 프로세서로서 작용할 수 있는 센서 허브를 포함할 수 있다. 센서 허브는 산술, 논리 및 입력/출력 동작을 수행함으로써 각각의 센서(2720)로부터 획득된 데이터를 통합하도록 구성된 회로를 포함할 수 있다. 실시 예에서, 센서 허브는 획득된 센서 데이터를 타임 스탬핑하고, 이러한 데이터에 대한 질의에 응답하여 센서 데이터를 프로세서 회로(2702)에 제공하며, 센서 데이터를 버퍼링하고, 각 센서(2722)에 대한 독립적인 스트림을 포함하여 센서 데이터를 프로세서 회로(2702)에 지속적으로 스트리밍하며, 사전 정의된 임계 값 또는 조건/트리거 및/또는 다른 유사한 데이터 처리 기능에 기초하여 센서 데이터를 보고할 수 있다.
메모리 회로(2704)는 플랫폼(2701)을 동작시키기 위한 데이터 또는 로직을 저장하도록 구성된 회로일 수 있다. 메모리 회로(2704)는 주어진 양의 시스템 메모리를 제공하는데 사용되는 다수의 메모리 장치를 포함할 수 있다. 예로서, 메모리 회로(2704)는 알려진 적절한 구현으로 구성될 수 있는 휘발성 메모리 장치(예를 들어, 랜덤 액세스 메모리(RAM), 동적 RAM(DRAM), 정적 RAM(SAM) 등) 및/또는 비휘발성 메모리 장치(예를 들어, 판독 전용 메모리(ROM), 소거 가능 프로그램 가능 판독 전용 메모리(EPROM), 전기 소거 가능 프로그램 가능 판독 전용 메모리(EEPROM), 플래시 메모리, 안티 퓨즈 등)의 적절한 타입, 개수 및/또는 조합일 수 있다. FPD가 사용되는 경우, 프로세서 회로(2702) 및 메모리 회로(2704)(및/또는 저장 장치(2708))는 논리 블록 또는 논리 패브릭, 메모리 셀, 입력/출력(I/O) 블록, 및 본원에서 논의된 예시적인 실시 예들의 다양한 기능들을 수행하기 위해 프로그래밍될 수있는 다른 상호 연결된 자원을 포함할 수 있다. 메모리 셀은 다양한 논리 기능을 구현하기 위해 프로세서 회로(2702)에 의해 사용되는 룩업 테이블(LUT)에 데이터를 저장하는데 사용될 수 있다. 메모리 셀은 EPROM, EEPROM, 플래시 메모리, SRAM, 안티 퓨즈 등을 포함하지만 이에 제한되지 않는 다양한 레벨의 메모리/스토리지의 임의의 조합을 포함할 수 있다.
데이터 공유 회로(2708)(공유 또는 개별 컨트롤러와 함께)는 데이터/애플리케이션(2709), 운영 체제 등과 같은 정보의 영구 저장을 제공할 수 있다. 저장 회로(2708)는 솔리드 스테이트 드라이브(SSD); 솔리드 스테이트 디스크 드라이브(SSDD); SATA(Serial AT Attachment) 저장 장치(예를 들면, SATA SSD); 플래시 드라이브; SD 카드, microSD 카드, xD 픽쳐 카드 등과 같은 플래시 메모리 카드 및 USB 플래시 드라이브; 3 차원 교차점(3D Xpoint) 메모리 장치; 프로세서 회로(2702)와 관련된 온 다이 메모리 또는 레지스터; 하드 디스크 드라이브(HDD); 마이크로 HDD; 저항 변화 메모리; 상 변화 메모리; 홀로그램 메모리; 또는 화학적 메모리;로 구현될 수 있다. 도시된 바와 같이, 저장 회로(2708)는 플랫폼(2701)에 포함되며; 그러나, 다른 실시 예들에서, 저장 회로(2708)는 플랫폼(2701)의 다른 요소들과 별도로 컴퓨터 시스템(2601)에 장착된 하나 이상의 개별 장치로서 구현될 수 있다.
일부 실시 예들에서, 저장 회로(2708) 및/또는 메모리 회로(2704)는 운영체제(OS)(도시되지 않음)를 포함할 수 있으며, 이는 범용 운영 체제 또는 플랫폼(2701)에 대해 구체적으로 쓰여지고 맞춤화된 운영 체제일 수 있다. OS는 하나 이상의 드라이버, 라이브러리 및/또는 애플리케이션 프로그래밍 인터페이스(API)를 포함할 수 있는데, 이는 애플리케이션/데이터(2709) 및/또는 하나 이상의 센서(2720), ECU(2722) 및/또는 EMC(2724)로부터 데이터를 제어 및/또는 획득/처리하는 제어 시스템 구성에 대한 프로그램 코드 및/또는 소프트웨어 컴포넌트를 제공한다. 프로세서 회로(2702) 및 메모리 회로(2704)가 프로세서 코어뿐만 아니라 하드웨어 가속기(예를 들어, FPGA 셀)로서 구현되는 실시예에서, 하드웨어 가속기(예를 들면, FPGA 셀)가(프로세서 코어(들)에 의해 실행될 프로그램 명령의 채용 대신에) 본원의 실시 예의 일부 기능을 수행하기 위한 로직으로 사전 구성될 수 있다(예를 들어, 적절한 비트 스트림, 로직 블록/패브릭 등으로).
저장 회로(2708)는 본원의 예시적인 실시 예의 다양한 기능을 수행하기 위한 프로그램 코드를 저장할 수 있다. 예를 들어, 저장 회로(2708)는(KE(1115 및/또는 2515)와 동일하거나 유사 할 수 있는) 커널 엔진(KE)(2709a) 및 컨볼루션 엔진(CE)(2709b)(CE 1120 및/또는 2520과 동일하거나 유사 할 수 있음)을 포함 할 수 있다. 실시 예들에서, KE(2709a) 및 CE(2709b)는 도 1 내지 도 25와 관련하여 전술한 바와 같이 동작의 일부 또는 전부를 수행하기 위한 프로그램 코드 및/또는 아래에서 논의되는 임의의 예를 포함할 수 있다. 애플리케이션/데이터(2709)는 플랫폼(2701)의 다양한 기능을 수행하고 그리고/또는 본원에서 논의된 예시적인 실시 예의 기능을 수행하기 위해 사용되는 소프트웨어 모듈/구성 요소일 수 있다. 예를 들어, 애플리케이션/데이터(2709)는 본원에서 논의된 다양한 실시 예에 따라 인터폴레이션될 이미지 데이터를 포함할 수 있다. 애플리케이션/데이터(2709)는 또한 HTTP 클라이언트, 웹 키트(WebKit) 플랫폼 기반의 웹 브라우저, 마이크로 소프트 인터넷 익스플로러 브라우저, 애플 사파리, 구글 크롬, 오페라 브라우저 또는 모질라 파이어 폭스와 같은 웹 브라우저 프로그램("브라우저")을 포함할 수 있고, 이는 네트워크(2650)를 통한 원격 시스템 또는 서비스로부터 시스템(2700)의 사용자(예를 들어, 원격 시스템 또는 서비스에 의해 제공되는 주문형 서비스의 가입자)가 이용할 수 있는 정보, 페이지, 인터페이스 및 애플리케이션에 액세스하고 처리하고 볼 수 있게 하는 웹 애플리케이션을 실행 및 렌더링한다. 다른 구현에서, 각각의 시스템(2700)은 애플리케이션 서비스 제공자 플랫폼의 애플리케이션과 상호 작용하도록 설계된 사용자(또는 제 3 자) 애플리케이션을 운영할 수 있는데 이는 시스템(2700)의 사용자(예를 들어, 원격 시스템 또는 서비스에 의해 제공되는 주문형 서비스의 가입자)가 네트워크(2650)를 통해 원격 시스템 또는 서비스로부터 이용 가능한 정보, 페이지 및 애플리케이션에 액세스, 처리 및 볼 수 있도록 한다.
플랫폼(2701) 및/또는 컴퓨터 시스템(2601)의 컴포넌트는 버스(2706)를 통해 서로 통신할 수 있다. 다양한 실시 예에서, 버스(2706)는 CAN(Controller Area Network) 버스 시스템, TTP(Time-Trigger Protocol) 시스템 또는 FlexRay 시스템 일 수 있으며, 이는 다양한 장치(예를 들어, ECU(2722), 센서(2720), EMC(2724), 등)가 메시지 또는 프레임을 사용하여 서로 통신하도록 한다. CAN, TTP 및 FlexRay 버스 시스템의 적절한 구현 및 일반적인 기능은 공지되어 있으며, 당업자에 의해 용이하게 구현된다. 추가적으로 또는 대안적으로, 버스(2706)는 로컬 인터커넥트 네트워크(LIN); 산업 표준 아키텍처(ISA); 확장 ISA(EISA); PCI(Peripheral Component Interconnect Express); PCI 확장(PCIx); PCI 익스프레스(PCIe); I2C(Inter-Integrated Circuit) 버스; 병렬 소형 컴퓨터 시스템 인터페이스(SPI) 버스; 포인트 투 포인트 인터페이스; 전원 버스; 예를 들어 SoC 기반 인터페이스에 사용되는 독점 버스; 또는 다른 많은 기술과 같은 임의의 수의 기술을 포함할 수 있다.
통신 회로(2705)는 무선 네트워크 또는 유선 네트워크와 통신하기 위한 회로를 포함할 수 있다. 예를 들어, 통신 회로(2705)는 트랜시버(Tx)(2711) 및 네트워크 인터페이스 제어기(NIC)(2712)를 포함할 수 있다.
NIC(2712)는 네트워크(2650) 및/또는 다른 장치에 유선 통신 링크를 제공하기 위해 포함될 수 있다. 네트워크 연결은 전기적 연결(예를 들어, "구리 상호 연결"), 옵티컬 등일 수 있는 물리적 연결을 사용하여 시스템(2700)으로/로부터 제공될 수 있다. 유선 통신 링크는 Ethemet, Ethemet-over-USB, MPLS(Ethernet over Multiprotocol Label Switching), DeviceNet, ControlNet, DataHighway+, PROFIBUS 또는 PROFINET을 기반으로 할 수 있다. 추가 NIC(2712)는 제 2 네트워크(도시되지 않음) 또는 다른 장치, 예를 들어, Ethemet을 통해 네트워크(2650)와 통신을 제공하는 제 1 NIC(2712) 및 개인용 컴퓨터(PC) 장치를 포함하는 개인 영역 네트워크(PAN)와 같은 다른 타입의 네트워크를 통해 다른 장치와 통신을 제공하는 제 2 NIC(2712)에 연결하기 위해 포함될 수 있다.
Tx(2711)는 네트워크(2650) 및/또는 다른 장치와 무선으로 통신하기 위한 하나 이상의 라디오를 포함할 수 있다. Tx(2711)는 고체 또는 비고체를 통한 변조 전자기 방사를 사용하여 유선 네트워크 및/또는 다른 장치와 통신할 수 있는 하드웨어 장치를 포함할 수 있다. 이러한 하드웨어 장치는 하나 이상의 다른 장치로 데이터를 전송하기 위해 전파를 생성(generating) 또는 생산(producing)하고 그리고 디지털 데이터와 같은 정보(이는 플랫폼(2701)의 하나 이상의 다른 컴포넌트에 제공될 수 있음)와 같은 사용 가능한 정보로 수신된 신호를 변환함으로써 무선 통신(OTA)을 용이하게 하기 위한 스위치, 필터, 증폭기, 안테나 요소 등을 포함할 수 있다.
통신 회로(2705)는 하나 이상의 프로세서(예를 들어, 기저 대역 프로세서, 모뎀 등)을 포함할 수 있는데, 이는 특정 무선 통신 프로토콜(예를 들면, Wi-Fi 및/또는 IEEE 802.11 프로토콜), 셀룰러 통신 프로토콜(예를 들면, 5 세대(5G) 통신 시스템, LTE(Long Term Evolution), WiMAX, Groupe Speciale Mobile Association(GSMA) 등), 무선 개인 영역 네트워크(WPAN) 프로토콜(예를 들면, IEEE 802.15.4-802.15.5 프로토콜, OMA(Open Mobile Alliance) 프로토콜, 블루투스 또는 블루투스 저에너지(BLE) 등)) 및/또는 유선 통신 프로토콜(예를 들면, 이더넷, FDDI(Fiber Distributed Data Interface), PPP(Point-to-Point) 등)에 특화될 수 있다.
입/출력(I/O) 인터페이스 회로(2718)는 외부 확장 버스(예를 들어, USB(Universal Serial Bus), FireWire, PCIe, Thunderbolt 등)와 같은 회로를 포함하여, 플랫폼(2701)을 센서(2720), 전자 제어 유닛(ECU)(2722), 전자 기계 컴포넌트(EMC)(2724), 및 화상 생성 유닛(PGU)(2730)과 같은 외부 컴포넌트/장치와 연결하는데 사용된다. I/O 인터페이스 회로(2718)는 프로세서 회로(2702), 메모리 회로(2704), 저장 회로(2708), 통신 회로(2705) 및 플랫폼(2701)의 다른 구성 요소 중 하나 이상을 상호 연결하기 위한 임의의 적합한 인터페이스 제어기 및 커넥터를 포함할 수 있다. 인터페이스 제어기는 메모리 제어기, 스토리지 제어기(예를 들어, RAID(Redundant Array of Independent Disk) 제어기), 베이스 보드 관리 제어기(BMC), 입/출력 제어기, 호스트 제어기 등을 포함할 수 있지만, 이에 제한되지는 않는다. 커넥터는, 예를 들어, 버스(예를 들어, 버스(2706)), 포트, 슬롯, 점퍼, 상호 연결 모듈, 리셉터클, 모듈식 커넥터 등을 포함할 수 있다.
센서(2720)는 이벤트 또는 환경 변화를 검출하고, 검출된 이벤트를 전기 신호 및/또는 디지털 데이터로 변환하고, 신호/데이터를 플랫폼(2701) 및/또는 하나 이상의 ECU(2722)로 전송/송신하도록 구성된 임의의 장치일 수 있다. 센서들(2720) 중 일부는 모션 및 / 또는 물체 검출에 사용되는 센서일 수 있다. 이러한 센서(2720)의 예로는 특히 CCD(charged-coupled devices), CMOS(Complementary Metal-Oxide-Semiconductor) 능동 픽셀 센서(APS), 렌즈리스 이미지 캡처 장치/카메라, 열 화상(적외선) 카메라, LIDAR(Light Imaging Detection And Ranging) 시스템 등을 포함할 수 있다. 일부 구현들에서, 센서들(2720)은 어퍼처 요소들의 어레이를 포함하는 렌즈리스 이미지 캡처 메커니즘을 포함할 수 있는데, 상기 어퍼 처 요소들의 어레이를 통과하는 광은 이미지의 픽셀들을 정의한다. 실시 예에서, 모션 감지 센서(2720)는 장면 또는 환경(115) 상으로 적외선 그리드를 투사하기 위해 하나 이상의 적외선 프로젝터와 같은 광 생성 장치와 결합되거나 이와 연관 될 수 있는데, 적외선 카메라는 반사된 적외선을 기록하여 깊이 정보를 계산할 수 있다.
센서들(2720) 중 일부는 위치 및/또는 방향 검출, 주변/환경 조건 검출 등을 위해 사용될 수 있다. 이러한 센서(2720)의 예는 특히 압전, 압저항 및/또는 용량성 구성 요소를 갖는 MEMS(microelectromechanical systems)를 포함할 수 있으며, 이는 플랫폼(2701) 및/또는 컴퓨터 시스템(2601)과 관련된 환경 조건 또는 위치 정보를 결정하는데 사용될 수 있다. 실시 예에서, MEMS는 3축 가속도계, 3축 자이로 스코프 및/또는 자력계를 포함할 수 있다. 일부 실시 예들에서, 센서들(2720)은 또한 하나 이상의 중력계, 고도계, 기압계, 근접 센서(예를 들어, 적외선 검출기(들) 등), 깊이 센서, 주변 광 센서, 열 센서(온도계), 초음파 트랜시버 및/또는 기타를 포함 할 수 있다.
포지셔닝 회로(2722)는 글로벌 항법 위성 시스템(GNSS)의 하나 이상의 항법 위성 별자리에 의해 전송된 신호를 수신 및 디코딩하는 회로를 포함할 수 있다. 내비게이션 위성 별자리(또는 GNSS)의 예로는 미국의 GPS(Global Positioning System), 러시아의 글로벌 내비게이션 시스템(GLONASS), 유럽 연합의 갈릴레오 시스템, 중국의 BeiDou 내비게이션 위성 시스템, 지역 내비게이션 시스템 또는 GNSS 확대 시스템(GNSS) 예를 들어, NAVIC(Indian Constellation), 일본의 Quaz-Zenith 위성 시스템(QZSS), 프랑스의 도플러 궤도 및 위성에 의해 통합된 무선 위치 확인(DORIS) 등) 등이 있다. 포지셔닝 회로(2722)는 포지셔닝의 컴포넌트들과 통신하기 위해 다양한 하드웨어 요소들(예를 들어, 스위치들, 필터들, 증폭기들, 안테나 요소들 등과 같은 하드웨어 디바이스들을 포함하여)을 통해, 항법 위성 별자리 노드와 같은 네트워크와 같은, 포지셔닝의 컴포넌트들과 통신할 수 있다.
항법 위성 별자리("GNSS 노드")의 노드 또는 위성은 가시선을 따라 GNSS 신호를 연속적으로 전송 또는 브로드 캐스트함으로써 위치 결정 서비스를 제공할 수있는데, 이는 GNSS 수신기(예를 들어, UE(101)에 의해 구현되는 위치 결정 회로(2722) 및/또는 위치 결정 회로) 등에 의해 그들의 GNSS 위치를 결정하는데 사용될 수 있다. GNSS 신호는 GNSS 수신기에 알려진 의사 랜덤 코드(예를 들어, 1과 0의 시퀀스) 및 코드 에포크의 전송 시간(ToT)을 포함하는 메시지(예를 들어, 의사 랜덤 코드 시퀀스의 정의된 지점) 그리고 ToT에서의 GNSS 노드 위치를 포함할 수 있다. GNSS 수신기는 복수의 GNSS 노드(예를 들어, 4 개 이상의 위성)에 의해 전송/방송된 GNSS 신호를 모니터링/측정할 수 있고, 대응하는 GNSS 위치(예를 들어, 공간 좌표)를 결정하기 위해 다양한 방정식을 해결할 수 있다. GNSS 수신기는 일반적으로 GNSS 노드의 원자 클럭보다 안정성이 떨어지고 정확도가 낮은 클럭을 구현하고, GNSS 수신기는 측정된 GNSS 신호를 사용하여 실제 시간으로부터의 GNSS 수신기 편차(예를 들어, GNSS 노드 시간에 대한 GNSS 수신기 클록의 오프셋)를 결정할 수 있다. 일부 실시 예들에서, 포지셔닝 회로(2722)는 GNSS 지원없이 위치 추적/추정을 수행하기 위해 마스터 타이밍 클록을 사용하는 포지셔닝, 내비게이션 및 타이밍(Micro-PNT) 용 마이크로 기술을 포함할 수 있다.
GNSS 수신기는 자신의 클록에 따라 복수의 GNSS 노드로부터의 GNSS 신호의 도착 시간(ToAs)을 측정 할 수 있다. GNSS 수신기는 ToA 및 ToT로부터 수신된 각각의 GNSS 신호에 대한 ToF 값을 결정한 다음, ToF로부터 3차원(3D) 위치 및 클록 편차를 결정할 수 있다. 3D 위치는 위도, 경도 및 고도로 변환 될 수 있다. 위치 결정 회로(2722)는 위치 데이터 또는 시간 데이터 중 하나 이상을 포함할 수 있는 데이터를 프로세서 회로(2702)에 제공할 수 있다. 프로세서 회로(2702)는 컴퓨터 시스템(2601) 내의 다른 장치 또는 컴포넌트와 동작을 동기화하기 위해 시간 데이터를 사용할 수 있다.
EMC(2724)는 컴퓨터 시스템(2601)이 상태, 위치, 방향, 이동을 변경할 수있게 하는 장치일 수 있고, 그리고/또는 메커니즘 또는 시스템을 제어한다. 실시 예에서, 플랫폼(2701)은 명령을 전송/송신함으로써 하나 이상의 EMC(2724)를 작동 시키도록 구성될 수 있거나 또는 검출된 사용자 상호 작용 또는 다른 유사한 이벤트에 기초하여 EMC(2724)에 대한 신호를 제어할 수 있다. EMC(2724)는 하나 이상의 스위치를 포함할 수 있다: 액츄에이터 및/또는 모터(예를 들어, 편심 회전 질량(ERM) 액츄에이터, 선형 공진 액츄에이터(LRA), 압전 액츄에이터, 서보 메커니즘, 로터리 모터, 선형 모터 및 스텝 모터 등), 추진기, 발사체 배출 장치(예를 들어, 스프링 식 또는 압축 공기/유체 사용식), 전원 스위치, 계전기(예를 들어, 전자 기계 계전기(EMR), 고체상태 계전기(SSR)), 프로펠러, 클로, 클램프, 후크 및/또는 기타 전기 기계 부품과 같은 등의 햅틱 출력 장치. 실시 예에서, EMC(2724)는 스피커, 디지털 렌더링 모듈(들)(예를 들어, 디지털 렌더링 모듈이 내장 된 물리적 객체), 및/또는 음향 에너지 방출, 전자기 방사 방출, 전기 에너지 적용, 자기장, 및 물리적 물체 또는 기구화된 물체에 의해 방출되거나 경험되는 가속 또는 감속을 을 제어하는 다른 방법을 포함할 수 있다.
컴퓨터 시스템(2700)은 하나 이상의 PGU(Picture Generation Unit)(2730) 및 광학 요소(OE)(2723) 및/또는 하나 이상의 디스플레이 장치(2732)를 포함할 수 있다. PGU(2730)는 디스플레이 장치(2732) 및/또는 OE(2713)로 향하는 디지털 이미지를 창조/생성하는 하나 이상의 전자 장치 일 수 있다.
디스플레이 장치(2732)가 사용되는 실시 예에서, PGU들(2730)은(예를 들어, 디지털 이미지들, 비디오 등에 기초하여) 신호들을 생성할 수 있고, 이는 디스플레이 디바이스(2732)로 전송될 수 있다. 이 예에서, 디스플레이 장치(2732)는 컴퓨터 시스템(2700)에 내장될 수 있고, 신호는 버스(2706)를 통해 디스플레이 장치(2732)로 전송 될 수 있다. 다른 실시 예에서, 디스플레이 장치(2732)는 컴퓨터 시스템(2700)과 분리될 수 있다. 이들 실시 예에서, 신호는 RCA, 비디오 그래픽 어레이(VGA), 디지털 비주얼 인터페이스(DVI)와 같은 적절한 유선 연결 및/또는 미니-DVI, 고화질 멀티미디어 인터페이스(HDMI), S- 비디오 등을 통해 디스플레이 장치(2732)로 전송될 수 있다. 일부 실시 예들에서, 신호들은 전술한 하나 이상의 무선 통신 프로토콜을 이용한 무선 연결, 또는 WiGiG(Wireless Gigabit Alliance) 프로토콜, RDP(원격 데스크톱 프로토콜), PCoIP(PC-over-IP) 프로토콜, HDX(고화질 경험) 프로토콜 및/또는 기타 유사한 원격 디스플레이 프로토콜과 같은 하나 이상의 원격 디스플레이 프로토콜을 통해 디스플레이 장치(2732)로 무선으로 전송될 수 있다. 일부 실시 예에서, 디스플레이 장치(2732)는 컴퓨터 시스템(2700)으로부터 하나 이상의 멀티미디어 신호를 수신하도록 구성된 동글 또는 다른 유사한 수신 장치를 포함하거나 이와 결합할 수 있다. 전술한 실시 예에서, 디스플레이 장치(들)(2732)는 LED(Light Emitting Diode) 디스플레이 장치, 유기 LED(OLED) 디스플레이 장치, LCD(Liquid Crystal Display) 장치, 양자점 디스플레이 장치 등과 같은 임의의 적합한 유형의 모니터(들)을 포함할 수 있다.
OE(2731)이 사용되는 실시 예에서, PGU들(2730)은(예를 들어, 디지털 이미지들에 기초하여) 광을 생성할 수 있고, 이는 OE(2731)(예를 들어, 디스플레이 표면)로 지향 및/또는 방향 전환될 수 있다. 디지털 이미지는 저장 회로(208)에 의해 저장되고, 통신 회로(2705)를 통해 원격 장치로부터 스트리밍되고 그리고/또는 다양한 센서(2720), EMC(2724) 등의 출력에 기초한 임의의 유형의 콘텐츠 일 수 있다. 생성된 광은 동일한 OE(2731)로 또한 재지향되는 외부 광(예를 들어, 자연광)과 결합되거나 중첩될 수 있다. 생성된 광을 외부 광과 결합하는 OE(2723)는 "조합기 요소" 또는 "조합기"라고 지칭될 수 있다.
이들 실시 예에서, PGU(2730)는 수신된 신호에 기초하여 하나 이상의 반사면(예를 들어, 거울)을 통해 정지 영상 또는 동영상을 OE(2713)의 표면(들)에 투영할 수 있는 프로젝터이거나 이를 포함할 수 있다. 각각의 PGU(330)의 프로젝터는 LED 프로젝터, 레이저 다이오드 프로젝터, LCD 프로젝터, DLP(Digital Light Processing) 프로젝터, LCoS(Liquid Crystal on Silicon) 프로젝터 및/또는 다른 유사한 투영 장치일 수 있다. 프로젝터는 광원 및 하나 이상의 프로세서/GPU, 하나 이상의 메모리 장치 및 다른 유사한 구성 요소와 같은 디스플레이를 위한 이미지를 생성할 수 있는 다양한 전자 장치(또는 전자 시스템)를 포함할 수 있다. 이것은 상이한 컬러 및 강도의 광을 생성/출력하도록 광원을 제어하기 위한 신호로 이미지를 변환함으로써 수행될 수 있다. 프로젝터는 또한 결합기("결합기 광학" 등으로 지칭 됨)를 포함할 수 있는데, 이는 컬러 팔레트를 정의하기 위해 서로 다른 광 경로를 하나의 광 경로로 결합할 수 있다. 일부 실시 예에서, 프로젝터는 이미지를 픽셀 단위로 복사한 다음 디스플레이를 위해 이미지를 투사하는 스캐닝 미러를 포함할 수 있다. 일부 실시 예들에서, PGU들(2730)은 릴레이 렌즈 어셈블리 및 결합기 요소(프로젝터의 결합기와 상이할 수 있음)를 포함 할 수 있다. 릴레이 렌즈 어셈블리는 하나 이상의 릴레이 렌즈를 포함할 수 있는데, 이는 프로젝터로부터의 이미지를 중간 이미지로 재이미징한 다음 반사기를 통해 OE(2731)(예를 들어, 결합기 요소)에 도달한다.
결합기 요소(및 다른 OE들(2723))는 디스플레이 표면 일 수 있고, 이는 완전히 또는 부분적으로 불투명하거나 투명할 수 있으며, 이는 증강 현실을 용이하게하기 위해 프로젝터/PGU(2730)에 의해 출력된 디지털 이미지를 실제 객체와 믹싱한다. 하나 이상의 OE(2713)는 투과성 광학 요소 일 수 있고, 전송된 빔(기준 빔)이 OE(2731)에 도달하고 회절 빔(들)이 OE(2731)를 통과한다. 하나 이상의 OE(2713)는 반사 광학 요소 일 수 있으며, 전송된 빔(기준 빔)이 OE(2731)에 도달하고 회절 빔(들)이 OE(2731)로부터 반사된다(예를 들어, 기준 빔 및 회절 빔은 OE(2731)의 동일한 측면에 있음). 실시 예에서, OE(2713)는 홀로그램 OE 일 수 있고, 일부 실시 예에서, 결합기 요소는 홀로그램 또는 홀로그램 이미지(예를 들어, 투과성 HOE 또는 반사 HOE) 일 수 있다.
HOE들(2723)이 사용되는 경우, 하나 이상의 HOE들(2713)은 도파관 파이프 내의 총 내부 반사(TIR)에 의해 안내된 시준된 이미지를 점진적으로 추출하기 위해 도파관 홀로 그래픽 기술을 사용할 수 있다. 도파관 파이프는 생성된 광이 튀어 나와서 생성된 광을 관찰자/사용자에게 라우팅하는 유리 또는 플라스틱의 얇은 시트 일 수 있다. 일부 실시 예들에서, HOE들(2713)은 생성된 광을 임계각으로 도파관에 제공하기 위해 홀로그램 회절 격자(예를 들어, 브래그 회절 격자)를 이용할 수 있고, 이는 도파관을 통해 이동한다. 홀로그램 회절 격자를 이용하는 하나 이상의 다른 HOE(2713)에 의해 광이 사용자/시청자를 향해 조향된다. 이들 HOE들(2723)은 그루브 반사 격자들 및/또는 복수의 교번 굴절률 층들(예컨대, 액정들, 포토 레지스트 기판 등을 포함함)을 포함할 수 있고; 그루브 반사 격자들 및/또는 굴절률 층들은 구성적이고 파괴적인 간섭 및 웨이블릿 분산을 제공할 수 있다.
전원(2728)은 플랫폼(2701) 및/또는 시스템(2700)에 전력을 공급할 수 있다. 시스템(2700)이 고정된 위치 또는 상대적으로 비이동식으로 장착되는 실시 예에서, 전력 공급 장치(2728)는 전기 그리드일 수 있다. 일부 실시 예들에서, 단일 케이블을 사용하여 시스템(2700)에 전력 공급 및 데이터 연결성을 제공하기 위해 네트워크 케이블로부터 인출된 전력을 제공하기 위해 전력 티 회로가 시스템(2700)에 포함될 수 있다. 시스템(2700)이 모바일 장치, 랩톱 컴퓨터 등인 경우, 전원(2726)은 배터리일 수 있다. 배터리(2724)는 리튬 이온 배터리, 아연-공기 배터리, 알루미늄-공기 배터리, 리튬-공기 배터리 등과 같은 금속-공기 배터리일 수 있다. 전력 관리 집적 회로(PMIC)(2725)(또는 "배터리 모니터(2725)")는 전원(272)의 다양한 파라미터를 추적/모니터링하기 위해 플랫폼(2701)에 포함될 수 있다. PMIC 2725는 IC, SoC 등을 포함할 수 있다. 버스(2706)를 통해 프로세서 회로(2702)에 전원 정보/파라미터를 제공할 수 있다. PMIC(2725)는 전압 조정기, 서지 보호기, 전력 경보 감지 회로 및 배터리 또는 커패시터와 같은 하나 이상의 백업 전원을 포함할 수 있다. 전력 경보 검출 회로는 브라운 아웃(전압 부족) 및 서지(과전압) 조건 중 하나 이상을 검출할 수 있으며, 이는 전력 공급원 정보/파라미터로서 프로세서 회로(2702)에 표시될 수 있다. 전원(2728)이 배터리인 경우, 파라미터는 배터리(2728)의 충전 상태(SoCh), 배터리(272)의 건강 상태(SoH) 및 기능 상태(SoF)를 추가로 또는 대안적으로 포함할 수 있다. PMIC(2725)는 또한 프로세서 회로(2702)가 배터리(2725)의 전압 또는 배터리(2725)로부터의 전류 흐름을 직접 모니터링 할 수 있게 하는 아날로그-디지털 변환기(ADC)를 포함할 수 있다.
도시되지 않았지만, 다양한 다른 장치가 플랫폼(2701) 내에 존재하거나 플랫폼(2701)에 연결될 수 있다. 예를 들어, 터치 스크린 또는 키패드와 같은 I/O 장치는 입력 및 디스플레이 출력을 수용하기 위해 버스(2706)를 통해 플랫폼(2701)에 연결될 수 있다. 다른 예에서, 리셋 버튼과 같은 하나 이상의 물리적 또는 가상 버튼, 발광 다이오드(LED) 등과 같은 하나 이상의 표시기는 플랫폼(2701) 및/또는 컴퓨터 시스템(2601)에 포함되거나 연결될 수 있다. 다른 예에서, 통신 회로(2705)는 UICC(Universal Integrated Circuit Card), eUICC(embedded UICC) 및/또는 하나 이상의 무선 네트워크를 통해 통신하는 데 사용될 수 있는 다른 요소/구성 요소를 포함할 수 있다.
본원에서 사용되는 용어 "회로"는 설명된 기능을 제공하도록 구성된 전자 회로, 논리 회로, 프로세서(공유, 전용 또는 그룹) 및/또는 메모리(공유, 전용 또는 그룹), ASIC(Application Specific Integrated Circuit), FPGA(Field-Programmable Device),(예를 들어, FPGA(Field-Programmable Gate Array), 프로그래머블 로직 디바이스(PLD), 컴플렉스 PLD(CPLD), 대용량 PLD(HCPLD), 구조화된 ASIC 또는 프로그래머블 시스템 온 칩(SoC), 디지털 신호 프로세서(DSP) 등과 같은 하드웨어 구성 요소를 지칭하거나, 하드웨어 구성 요소의 일부이거나 이를 포함한다. 일부 실시 예에서, 회로는 설명된 기능 중 적어도 일부를 제공하기 위해 하나 이상의 소프트웨어 또는 펌웨어 프로그램을 실행할 수 있다.
본원에 사용된 바와 같이, "프로세서 회로"라는 용어는 일련의 산술 또는 논리 연산을 순차적으로 그리고 자동으로 수행하고; 디지털 데이터의 기록, 저장 및/또는 전송이 가능한 회로를 지칭하거나, 그 일부이거나, 이를 포함할 수 있다. "프로세서 회로"라는 용어는 하나 이상의 애플리케이션 프로세서, 하나 이상의 기저 대역 프로세서, 물리적 중앙 처리 장치(CPU), 단일 코어 프로세서, 듀얼 코어 프로세서, 트리플 코어 프로세서, 쿼드 코어 프로세서; 및/또는 프로그램 코드, 소프트웨어 모듈 및/또는 기능적 프로세스와 같은 컴퓨터 실행 가능 명령어를 실행 또는 달리 동작시킬 수 있는 임의의 다른 장치를 지칭할 수 있다. 개시된 구현들에 대한 컴퓨터 실행 가능 명령어들은, 예를 들어 C, C ++, Python, Ruby, HTML(Hypertext Markup Language), XML(Extensible Markup Language), JSON(Java Script Object Notion), CSS(Cascading Stylesheets), JavaServer Pages(JSP), Abstract Syntax Notation One( ASN.1); Java ™, JavaScript, ActiveX, VBScript 및 기타 알려진 프로그래밍 언어가 사용될 수 있는 컴퓨터 시스템, 서버, 또는 이와 같은 장치에서 실행될 수 있는 임의의 프로그래밍 언어로 실현될 수 있다.
본원에 사용된 바와 같이, "인터페이스 회로"라는 용어는 둘 이상의 구성 요소 또는 장치 간의 정보 교환을 제공하는 회로를 지칭하거나, 그 일부이거나, 이를 포함하거나 포함할 수 있다. "인터페이스 회로"라는 용어는 하나 이상의 하드웨어 인터페이스(예를 들어, 버스, 입/출력(I/O) 인터페이스, 주변 장치 구성 요소 인터페이스, 네트워크 인터페이스 카드 등)를 지칭할 수 있다. 본원에서 사용되는 바와 같이, 용어 "인스턴티에이트(instantiate)", "인스턴스화(instantiation)" 등은 인스턴스의 생성을 지칭할 수 있고, "인스턴스(instance)"는 예를 들어 프로그램 코드의 실행 동안 발생할 수 있는 객체의 구체적인 발생을 지칭할 수 있다. 또한, "애플리케이션 인스턴스"는 모바일 에지 호스트에서 실행되는 실현된 소프트웨어 프로그램일 수 있으며, 이는 소비자(들)에게 서비스를 제공하는 서비스(들)를 제공할 수 있다.
본원에 사용된 바와 같이, "컴퓨터 장치"라는 용어는 기계 판독 가능 매체 상에 데이터를 기록/저장하도록 구비된, 통신 네트워크에서 하나 이상의 다른 장치로부터 데이터를 전송 및 수신하도록 구성된, 일련의 산술 또는 논리 연산을 순차적으로 그리고 자동으로 수행할 수있는 임의의 물리적 하드웨어 장치를 나타낼 수 있다. 컴퓨터 장치는 컴퓨터, 컴퓨팅 플랫폼, 컴퓨팅 장치 등과 동의어로 간주 될 수 있으며, 이후로 때때로 이와 같이 언급될 수 있다. "컴퓨터 시스템"이라는 용어는 임의의 유형의 상호 연결된 전자 장치, 컴퓨터 장치 또는 이들의 구성 요소를 포함할 수 있다. 또한, "컴퓨터 시스템" 및/또는 "시스템"이라는 용어는 서로 통신 적으로 연결된 컴퓨터의 다양한 구성 요소를 지칭할 수 있다. 또한, "컴퓨터 시스템" 및/또는 "시스템"이라는 용어는 서로 통신 가능하게 연결되고 컴퓨팅 및/또는 네트워킹 리소스를 공유하도록 구성된 다수의 컴퓨터 장치 및/또는 다수의 컴퓨팅 시스템을 지칭할 수 있다. 본원에 사용된 바와 같이, "사용자 장비" 또는 "UE"라는 용어는 무선 통신 능력을 갖는 컴퓨터 장치와 같은 장치를 지칭할 수 있고 통신 네트워크에서 네트워크 자원의 원격 사용자를 설명할 수 있다.
"컴퓨터 장치", "컴퓨터 시스템", "UE" 등의 예는 셀룰러 폰 또는 스마트 폰, 피처 폰, 태블릿 퍼스널 컴퓨터, 웨어러블 컴퓨팅 장치, 자율 센서, 랩탑 컴퓨터, 데스크탑 퍼스널 컴퓨터, 비디오 게임 콘솔, 디지털 미디어 플레이어, 핸드 헬드 메시징 장치, 개인 데이터 보조자, 전자 서적 리더, 증강 현실 장치, 서버 컴퓨터 장치(예를 들면, 독립형, 랙 마운트, 블레이드 등), 클라우드 컴퓨팅 서비스/시스템, 네트워크 요소, 차량 내 인포테인먼트(IVI), 차량 내 엔터테인먼트(ICE) 장치, 인스트루먼트 클러스터(IC), 헤드 업 디스플레이(HUD) 장치, 온보드 진단(OBD) 장치, 대시 보드 모바일 장비(DME), 모바일 데이터 터미널(MDT), 전자 엔진 관리 시스템(EEMS), 전자/엔진 제어 장치(ECU), 전자/엔진 제어 모듈(ECM), 임베디드 시스템, 마이크로 컨트롤러, 제어 모듈, 엔진 관리 시스템(EMS), 네트워크 또는 "스마트" 애플리케이션, 기계타입 통신(MTC) 장치, M2M(machine-to-machine), 사물 인터넷(IoT) 장치 및/또는 기타 유사한 전자 장치를 포함할 수 있다.
본원에 사용된 바와 같이, "컴퓨팅 리소스", "하드웨어 리소스" 등이라는 용어는 물리적 또는 가상 장치, 컴퓨팅 환경 내의 물리적 또는 가상 구성 요소, 및/또는 컴퓨터 장치, 기계 장치, 메모리 공간, 프로세서/CPU 시간 및/또는 프로세서/CPU 사용량, 프로세서 및 가속기 로드, 하드웨어 시간 또는 사용량, 전력, 입출력 작업, 포트 또는 네트워크 소켓, 채널/링크 할당, 처리량, 메모리 사용량, 스토리지, 네트워크, 데이터베이스 및 애플리케이션 등과 같은 특정 장치 내의 물리적 또는 가상 구성 요소를 지칭할 수 있다. 본원에 사용 된 바와 같이, "네트워크 리소스"라는 용어는 통신 네트워크를 통해 컴퓨터 장치에 의해 액세스 가능한 컴퓨팅 리소스를 지칭할 수 있다. "시스템 자원"이라는 용어는 서비스를 제공하기 위한 임의의 종류의 공유 엔티티를 지칭할 수 있으며, 컴퓨팅 및/또는 네트워크 자원을 포함할 수 있다. 시스템 리소스는 시스템 리소스가 단일 호스트 또는 여러 호스트에 있고 명확하게 식별 가능한 서버를 통해 액세스할 수 있는, 일관된 기능의 세트, 네트워크 데이터 개체 또는 서비스로 간주될 수 있다. 또한, "가상화된 리소스"는 가상화 인프라 스트럭처에 의해 모바일 에지 애플리케이션과 같은 애플리케이션에 제공되는 컴퓨팅, 스토리지 및/또는 네트워크 리소스를 지칭할 수 있다.
본원에 사용된 바와 같이, "네트워크 요소"라는 용어는 네트워크 컴퓨터, 네트워킹 하드웨어, 네트워크 장비, 라우터, 스위치, 허브, 브리지, 무선 네트워크 컨트롤러, 무선 액세스 네트워크 장치, 게이트웨이, 서버, 및/또는 다른 유사한 장치의 동의어로 고려되거나 지칭될 수 있다. "네트워크 요소"라는 용어는 유선 또는 무선 통신 네트워크의 물리적 컴퓨팅 장치를 나타내고 가상 머신을 호스팅하도록 구성될 수 있다. 또한, "네트워크 요소"라는 용어는 네트워크와 하나 이상의 사용자 간의 데이터 및/또는 음성 연결을 위한 무선 기저 대역 기능을 제공하는 장비를 설명할 수 있다. "네트워크 요소"라는 용어는 "기지국"과 동의어로 간주 및/또는 지칭될 수 있다. 본원에 사용된 바와 같이, "기지국"이라는 용어는 노드 B, 확장 또는 진화된 노드 B(eNB), 차세대 노드 B(gNB), 기지국 트랜시버 스테이션(BTS), 액세스 포인트(AP), 로드사이드 유닛(RSU) 등과 동의어로 간주 및/또는 지칭될 수 있고, 네트워크와 하나 이상의 사용자 간의 데이터 및/또는 음성 연결을 위한 무선 기저 대역 기능을 제공하는 장비를 기술할 수 있다. 본원에 사용된 바와 같이, "차량 대 차량" 및 "V2V"라는 용어는 메시지의 소스 또는 목적지로서 차량을 포함하는 임의의 통신을 지칭할 수 있다. 또한, 본원에서 사용되는 용어 "차량 대 차량" 및 "V2V"는 또한 차량 대 인프라(V2I) 통신, 차량 대 네트워크(V2N) 통신, 차량 대 보행자(V2P) 통신 또는 V2X 통신을 포함하거나 이에 상응할 수 있다.
본원에 사용된 바와 같이, "채널"이라는 용어는 유형 또는 무형의 전송 매체를 지칭할 수 있으며, 데이터 또는 데이터 스트림을 통신하는 데 사용된다. "채널"이라는 용어는 "통신 채널", "데이터 통신 채널", "전송 채널", "데이터 전송 채널", "액세스 채널", "데이터 액세스 채널", "링크, "데이터 링크", "캐리어", "무선 주파수 캐리어" 및/또는 데이터가 전달되는 경로 또는 매체를 나타내는 다른 유사한 용어의 동의어 및/또는 이로 지칭될 수 있다. 또한, "링크"라는 용어는 정보를 송수신하기 위한 RAT(Radio Access Technology)를 통해 두 장치 간의 연결을 지칭할 수 있다.
본원에서 논의된 다양한 무선 통신은 임의의 3GPP(Third Generation Partnership Project) 사양, 특히 LTE(Long Term Evolution), LTE-A(Long Term Evolution-Advanced) 및 Long Term Evolution- Advanced Pro( LTE-A Pro)에 호환적일 수 있다. 임의의 다른 고정, 모바일 또는 위성 통신 기술 및 표준과 호환되는 무선 장치가 선택될 수 있음을 주목할 수 있다. 예를 들어, 이는 모든 셀룰러 광역 무선 통신 기술을 포함할 수 있는데, 이는 예를 들어 5 세대(5G) 통신 시스템, GSM(Global System for Mobile Communications) 무선 통신 기술, GPRS(General Packet Radio Service) 무선 통신 기술 또는 EDGE(Enhanced Data Rate for GSM Evolution) 무선 통신 기술을 포함할 수 있다. 사용될 수 있는 다른 3GPP(Third Generation Partnership Project) 무선 통신 기술은 UMTS(Universal Mobile Telecommunications System), FOMA(Freedom of Multimedia Access), 3GPP LTE(Long Term Evolution), 3GPP LTE Advanced(Long Term Evolution Advanced), 3GPP LTE Advanced Pro(Long Term Evolution Advanced Pro), CDMA2000(Code division multiple access 2000), CDPD(Cellular Digital Packet Data), Mobitex, 3G(Third Generation), CSD(Circuit Switched Data), HSCSD(High-Speed Circuit-Switched Data), UMTS(3G)(Universal Mobile Telecommunications System(Third Generation)), W-CDMA(UMTS)(Wideband Code Division Multiple Access(Universal Mobile Telecommunications System)), HSPA(High Speed Packet Access), HSDPA(High-Speed Downlink Packet Access), HSUPA(High- Speed Uplink Packet Access), HSPA+(High Speed Packet Access Plus), UMTS-TDD(Universal Mobile Telecommunications System-Time-Division Duplex), TD-CDMA(Time Division-Code Division Multiple Access), TD-SCDMA(Time Division-Synchronous Code Division Multiple Access), 3GPP Rel. 8(Pre-4G)(3rd Generation Partnership Project Release 8(Pre-4th Generation)), 3 GPP Rel. 9(3rd Generation Partnership Project Release 9), 3 GPP Rel. 10(3rd Generation Partnership Project Release 10) , 3GPP Rel. 11(3rd Generation Partnership Project Release 11), 3GPP Rel. 12(3rd Generation Partnership Project Release 12), 3 GPP Rel. 13(3rd Generation Partnership Project Release 13), 3 GPP Rel. 14(3rd Generation Partnership Project Release 14), 3 GPP LTE Extra, LTE Licensed- Assisted Access(LAA), UTRA(UMTS Terrestrial Radio Access), E-UTRA(Evolved UMTS Terrestrial Radio Access), LTE Advanced(4G)(Long Term Evolution Advanced(4th Generation)), cdmaOne(2G), CDMA2000(3G)(Code division multiple access 2000(Third generation)), EV-DO(Evolution-Data Optimized or Evolution-Data Only), AMPS(1G)(Advanced Mobile Phone System(1st Generation)), TACS/ETACS(Total Access Communication System/Extended Total Access Communication System), D-AMPS(2G)(Digital AMPS(2nd Generation)), PTT(Push-to-talk), MTS(Mobile Telephone System), IMTS(Improved Mobile Telephone System), AMTS(Advanced Mobile Telephone System), OLT(Norwegian for Offentlig Landmobil Telefoni, Public Land Mobile Telephony), MTD(Swedish abbreviation for Mobiltelefonisystem D, or Mobile telephony system D), Autotel/PALM(Public Automated Land Mobile), ARP(Finnish for Autoradiopuhelin, "car radio phone"), NMT(Nordic Mobile Telephony), Hicap(High capacity version of NTT(Nippon Telegraph and Telephone)), CDPD(Cellular Digital Packet Data), Mobitex, DataTAC, iDEN(Integrated Digital Enhanced Network), PDC(Personal Digital Cellular), CSD(Circuit Switched Data), PHS(Personal Handy-phone System), WiDEN(Wideband Integrated Digital Enhanced Network), iBurst, Unlicensed Mobile Access(UMA, 또한 3GPP Generic Access Network, 또는 GAN standard로도 지칭됨), Wireless Gigabit Alliance(WiGig) standard, 일반적으로 mmWave 표준(WiGig, IEEE 802.11 ad, IEEE 802.1 lay 등의 10-90GHz 이상에서 작동하는 무선 시스템)을 포함할 수 있다. 위에 나열된 표준 외에도 예를 들어, ITU(International Telecommunication Union) 또는 ETSI(European Telecommunications Standards Institute)에 의해 발행된 표준을 준수하는 라디오를 포함하여, 임의의 수의 위성 업 링크 기술이 업 링크 송수신기(707-2)에 사용될 수 있다. 따라서 본 명세서에 제공된 예는 기존 및 아직 공식화되지 않은 다양한 다른 통신 기술에 적용 가능한 것으로 이해된다.
IV. 실시 예
비 제한적인 일부 예는 다음과 같다. 하기 실시 예는 추가의 실시 양태에 관한 것이며, 실시 예의 구체 예는 앞서 논의된 하나 이상의 실시 양태의 어느 곳에서나 사용될 수 있다. 하기 실시 예 중 임의의 것이 달리 명시되지 않는 한 임의의 다른 예(또는 예의 조합), 또는 본 명세서에서 논의된 임의의 실시 예와 조합될 수 있다.
예 1은 제 1 입력 이미지 프레임의 제 1 수용 필드 패치 및 제 2 입력 이미지 프레임의 제 2 수용 필드 패치에 기초하여 컨볼루셔널 커널을 추정하기 위한 커널 추정 수단; 그리고 인터폴레이션 프레임의 출력 픽셀의 컬러를 얻기 위해 제 1 입력 이미지 프레임의 제 1 픽셀 패치 및 제 2 입력 이미지 프레임의 제 2 픽셀 패치를 통해 컨볼루셔널 커널을 컨볼루션하기 위한 컨볼루션 수단을 포함하는 장치를 포함할 수 있다.
예 2는 예 1의 장치 및/또는 본원의 다른 예를 포함할 수 있는데, 여기서 커널 추정 수단은: 입력으로서, 제 1 수용 필드 패치 및 제 2 수용 필드 패치를 수용하고; 그리고 인터폴레이션 프레임에서 제 1 수용 필드 패치 및 제 2 수용 필드 패치와 동일한 위치에 동일한 중심에 있는 출력 픽셀에 대한 컬러를 계산하기 위해 커널을 출력하기 위한 것이다.
예 3은 예 2의 장치 및/또는 본원의 일부 다른 예를 포함할 수 있는데, 여기서 제 1 수용 필드 패치 및 제 2 수용 필드 패치는 입력 이미지 프레임의 중심에 있다.
예 4는 예 3의 장치 및/또는 본원의 일부 다른 예를 포함할 수 있는데, 여기서 제 1 픽셀 패치는 제 1 수용 필드 패치 내의 중심에 있고, 제 2 픽셀 패치는 제 2 수용 필드 패치 내에 중심에 있다.
예 5는 예 3 또는 3의 장치 및/또는 본원의 일부 다른 예를 포함할 수 있는데, 여기서 컨볼루션 수단은 복수의 컨볼루션 수단 및 복수의 다운-컨볼루션 수단을 포함한다.
예 6은 예 1의 장치 및/또는 본원의 일부 다른 예를 포함할 수 있는데, 여기서, 커널 추정 수단은 인터폴레이션 프레임에서 각 픽셀에 대해 두쌍의 일차원 커널을 추정하기 위한 것이고, 두쌍의 일차원 커널 각각은 대응하는 이차원 커널의 추정치이다.
예 7은 예 6의 장치 및/또는 본원의 일부 다른 예를 포함할 수 있는데, 여기서 제 1 및 제 2 입력 프레임으로부터 특징을 추출하는 수축 수단; 및 입력 프레임의 해상도에서 조밀한 예측(dense prediction)을 수행하기 위한 확장 수단을 더 포함한다.
예 8은 예 7의 장치 및/또는 본원의 일부 다른 예를 포함할 수 있는데, 여기서 수축 수단은 컨볼루션 수단의 데이터를 다운 샘플링하기 위한 다운 샘플링 수단을 포함하고, 그리고 확장 수단은 전치된 컨볼루션, 서브-픽셀 컨볼루션, 가장 가까운 이웃, 및 이중 선형 인터폴레이션을 수행하기 위한 업 샘플링 수단을 포함한다.
예 9는 메모리 회로와 통신 가능하게 결합된 프로세서 회로, 컨볼루션 뉴럴 네트워크의 프로그램 코드 “ConvNet”을 저장하기 위한 메모리 회로이며, 프로세서 회로는 ConvNet을 동작시켜: 입력으로서, 제 1 이미지 프레임 및 제 2 이미지 프레임을 획득하고; 제 1 이미지 프레임의 제 1 수용 필드 패치 및 제 2 이미지 프레임의 제 2 수용 필드 패치에 기초하여 컨볼루션 커널을 추정하고; 인터폴레이션 프레임의 출력 픽셀의 컬러를 획득하기 위해 제 1 입력 이미지 프레임의 제 1 픽셀 패치 및 제 2 입력 이미지 프레임의 제 2 픽셀 패치를 통해 컨볼루션 커널을 컨볼루션하고; 그리고 획득된 컬러를 갖는 출력 픽셀과 함께 인터폴레이션 프레임을 출력하는, 컴퓨터 시스템을 포함할 수 있다.
예 10은 예 9의 컴퓨터 시스템 및/또는 본원의 일부 다른 예를 포함할 수 있는데, 여기서 프로세서 회로는 ConvNet을 동작시켜: 제 1 입력 이미지 및 제 2 입력 이미지에서 각각 제 1 수용 필드 패치 및 제 2 수용 필드 패치와 동일한 위치에서 동일한 중심인 인터폴레이션 프레임 내의 출력 픽셀을 출력한다.
예 11은 예 10의 컴퓨터 시스템 및/또는 본원의 일부 다른 예를 포함할 수 있는데, 여기서 제 1 수용 필드 패치 및 제 2 수용 필드 패치는 입력 이미지 프레임에 중심이 있고, 제 1 픽셀 패치는 제 1 수용 필드 패치 내에 중심이 있으며 제 2 픽셀 패치는 제 2 수용 필드 패치 내에 중심이 있다.
예 12는 예 9-11의 컴퓨터 시스템 및/또는 본원의 일부 다른 예를 포함할 수 있는데, 여기서 ConvNet은: 복수의 입력 이미지 프레임의 원시 픽셀 데이터를 포함하되, 제 1 이미지 프레임 및 제 2 이미지 프레임은 복수의 입력 이미지 프레임 중 에 있는, 입력 레이어; 복수의 추정 커널 중 대응하는 하나를 포함하는 복수의 컨볼루션 레이어; 복수의 다운-컨볼루션 레이어로서, 다운-컨볼루션 레이어는 복수의 컨볼루션 레이어의 일부 컨볼루션 레이어 사이에 배치되고; 그리고 출력 픽셀 및 획득된 컬러를 나타내는 데이터 구조를 포함하는 특징 맵을 포함하는 출력 레이어를 포함한다.
예 13은 예 9의 컴퓨터 시스템 및/또는 본원의 일부 다른 예를 포함할 수 있는데, 여기서 ConvNet은: 제 1 복수의 컨볼루션 레이어 및 복수의 풀링 레이어를 포함하되, 제 1 복수의 컨볼루션 레이어 중 하나 이상의 컨볼루션 레이어는 복수의 풀링 레이어 중 대응하는 하나와 그룹화되는, 수축 컴포넌트; 제 2 복수의 컨볼루션 레이어 및 복수의 업 샘플링 레이어를 포함하되, 제 2 복수의 컨볼루션 레이어 중 하나 이상의 컨볼루션 레이어는 복수의 업 샘플링 레이어 중 대응하는 하나와 그룹화되는, 확장 컴포넌트; 그리고 복수의 서브네트워크를 포함하되, 복수의 서브네트워크의 각 서브네트워크는 한 세트의 컨볼루션 레이어 및 업 샘플링 레이어를 포함한다.
예 14는 예 13의 컴퓨터 시스템 및/또는 본원의 일부 다른 예를 포함할 수 있는데, 여기서 프로세서 회로는 ConvNet을 동작시켜: 인터폴레이션 프레임 내의 각 픽셀에 대한 대응하는 일차원 커널을 추정하기 위해 각각의 서브네트워크를 동작시키고, 일차원 커널의 각 쌍은 이차원 커널을 포함한다.
예 15는 예 13의 컴퓨터 시스템 및/또는 본원의 일부 다른 예를 포함할 수 있는데, 여기서 프로세서 회로는 ConvNet을 동작시켜: 제 1 및 제 2 이미지 프레임으로부터 특징을 추출하기 위해 수축 컴포넌트를 동작시키고; 그리고 추출된 특징에 대한 조밀한 예측을 수행하기 위해 확장 컴포넌트를 동작시킨다.
예 16은 예 13-15의 컴퓨터 시스템 및/또는 본원의 일부 다른 예를 포함할 수 있는데, 여기서 프로세서 회로는 복수의 업샘플링 레이어의 각각을 동작시켜 대응하는 전치된 컨벌루션 동작, 서브-픽셀 컨벌루션 동작, 가장 가까운 이웃 동작, 또는 이중 선형 인터폴레이션 동작을 수행한다.
예 17은 예 13-15의 컴퓨터 시스템 및/또는 본원의 일부 다른 예를 포함할 수 있는데, 여기서 프로세서 회로는 복수의 풀링 레이어의 각각을 동작시켜 다운 샘플링 동작을 수행한다.
예 18은 컨볼루션 뉴럴 네트워크의 프로그램 코드 "ConvNet"을 포함하는 하나 이상의 컴퓨터 판독 가능 매체 “CRM”을 포함할 수 있는데, 여기서, 하나 이상의 프로세서에 의한 프로그램 코드의 실행이 컴퓨터 시스템을 동작시켜: 입력으로서, 제 1 이미지 프레임 및 제 2 이미지 프레임을 획득하고; 제 1 이미지 프레임의 제 1 수용 필드 패치 및 제 2 이미지 프레임의 제 2 수용 필드 패치에 기초하여 컨볼루션 커널을 추정하고; 인터폴레이션 프레임의 출력 픽셀의 컬러를 획득하기 위해 제 1 입력 이미지 프레임의 제 1 픽셀 패치 및 제 2 입력 이미지 프레임의 제 2 픽셀 패치를 통해 컨볼루션 커널을 컨볼루션하고; 그리고 획득된 컬러를 갖는 출력 픽셀과 함께 인터폴레이션 프레임을 출력한다.
예 19는 예 18의 하나 이상의 CRM 및/또는 본원의 일부 다른 예를 포함할 수 있는데, 여기서 프로그램 코드의 실행이 컴퓨터 시스템을 동작시켜: 제 1 입력 이미지 및 제 2 입력 이미지에서 각각 제 1 수용 필드 패치 및 제 2 수용 필드 패치와 동일한 위치에 동일 중심을 갖는 인터폴레이션 프레임 내의 출력 픽셀을 출력한다.
예 20은 예 19의 하나 이상의 CRM 및/또는 본원의 일부 다른 예를 포함할 수 있는데, 여기서 제 1 수용 필드 패치 및 제 2 수용 필드 패치는 입력 이미지 프레임에 중심을 갖고, 그리고 제 1 픽셀 패치는 제 1 수용 필드 패치 내에 중심을 가지며, 제 2 픽셀 패치는 제 2 수용 필드 패치 내에 중심을 갖는다.
예 21은 예 18-20의 하나 이상의 CRM 및/또는 본원의 일부 다른 예를 포함할 수 있는데, 여기서 ConvNet은: 복수의 입력 이미지 프레임의 원시 픽셀 데이터를 포함하되, 제 1 이미지 프레임 및 제 2 이미지 프레임은 복수의 입력 이미지 프레임 중 에 있는, 입력 레이어; 복수의 컨볼루션 레이어, 풀링 레이어 및/또는 배치 정규화(Batch Normalization) 레이어 중 대응하는 하나를 포함하는 복수의 레이어; 복수의 다운-컨볼루션 레이어로서, 다운-컨볼루션 레이어는 복수의 컨볼루션 레이어중 일부 컨볼루션 레이어 사이에 배치되고; 그리고 출력 픽셀의 컬러를 생성하기 위해 사용되는 커널을 포함하는 특징 맵을 포함하는 출력 레이어를 포함한다.
예 22는 예 18의 하나 이상의 CRM 및/또는 본원의 일부 다른 예를 포함할 수 있는데, 여기서 ConvNet은: 제 1 복수의 컨볼루션 레이어 및 복수의 풀링 레이어를 포함하되, 제 1 복수의 컨볼루션 레이어 중 하나 이상의 컨볼루션 레이어는 복수의 풀링 레이어 중 대응하는 하나와 그룹화되는, 수축 컴포넌트; 제 2 복수의 컨볼루션 레이어 및 복수의 업 샘플링 레이어를 포함하되, 제 2 복수의 컨볼루션 레이어 중 하나 이상의 컨볼루션 레이어는 복수의 업 샘플링 레이어 중 대응하는 하나와 그룹화되는, 확장 컴포넌트; 그리고 복수의 서브네트워크를 포함하되, 복수의 서브네트워크의 각 서브네트워크는 한 세트의 컨볼루션 레이어 및 업 샘플링 레이어를 포함한다.
예 23은 예 22의 하나 이상의 CRM 및/또는 본원의 일부 다른 예를 포함할 수 있는데, 여기서 프로그램 코드의 실행이 컴퓨터 시스템을 동작시켜: 인터폴레이션 프레임 내의 각 픽셀에 대한 대응하는 일차원 커널을 추정하기 위해 각각의 서브네트워크를 동작시키고, 각각의 일차원 커널은 이차원 커널 쌍의 부분이다.
예 24는 예 22의 하나 이상의 CRM 및/또는 본원의 일부 다른 예를 포함할 수 있는데, 여기서 프로그램 코드의 실행이 컴퓨터 시스템을 동작시켜: 제 1 및 제 2 이미지 프레임으로부터 특징을 추출하기 위해 수축 컴포넌트를 동작시키고; 그리고 추출된 특징에 대한 조밀한 예측을 수행하기 위해 확장 컴포넌트를 동작시킨다.
예 25는 예 22의 하나 이상의 CRM 및/또는 본원의 일부 다른 예를 포함할 수 있는데, 여기서 프로그램 코드의 실행이 컴퓨터 시스템을 동작시켜: 대응하는 전치된 컨벌루션 동작, 서브-픽셀 컨벌루션 동작, 가장 가까운 이웃 동작, 또는 이중 선형 인터폴레이션 동작을 수행하기 위해 복수의 업샘플링 레이어 각각을 동작시키고; 그리고 다운 샘플링 동작을 수행하기 위해 복수의 풀링 레이어의 각각을 동작시킨다.
예 26은 제 1 입력 이미지 프레임의 제 1 수용 필드 패치 및 제 2 입력 이미지 프레임의 제 2 수용 필드 패치에 기초하여 컨볼루셔널 커널을 추정 또는 야기하는 단계; 및 인터폴레이션 프레임의 출력 픽셀의 컬러를 얻기 위해 제 1 입력 이미지 프레임의 제 1 픽셀 패치 및 제 2 입력 이미지 프레임의 제 2 픽셀 패치를 통해 컨 볼루셔널 커널을 컨벌루션 또는 야기하는 단계를 포함하는 방법을 포함할 수 있다.
예 27은 예 26의 방법 및/또는 본원의 일부 다른 방법을 포함할 수 있는데, 이는 입력으로서, 제 1 수용 필드 패치 및 제 2 수용 필드 패치를 허용하도록 허용 또는 야기하는 단계; 및 인터폴레이션 프레임에서 제 1 수용 필드 패치 및 제 2 수용 필드 패치와 동일한 위치에 동일 중심인 출력 픽셀에 대한 컬러를 계산하기 위해 커널을 출력하는 단계를 더 포함한다.
예 28은 예 26의 방법 및/또는 본원의 일부 다른 방법을 포함할 수 있는데, 여기서, 제 1 수용 필드 패치 및 제 2 수용 필드 패치는 입력 이미지 프레임의 중심에 있다.
예 29는 예 28의 방법 및/또는 본원의 일부 다른 방법을 포함할 수 있는데, 여기서, 제 1 픽셀 패치는 제 1 수용 필드 패치 내에 중심이 있고, 제 2 픽셀 패치는 제 2 수용 필드 패치 내에 중심이 있다.
예 30은 예 28-29의 방법 및/또는 본원의 일부 다른 방법을 포함할 수 있는데, 여기서, 컨볼루션은 대응하는 컨볼루션 레이어의 복수의 컨볼루션 동작을 수행하도록 수행 또는 야기하는 단계; 및 대응하는 다운-컨볼루션 레이어의 복수의 다운-컨볼루션 동작을 수행하도록 수행 또는 야기하는 단계를 포함한다.
예 31은 예 26의 방법 및/또는 본원의 일부 다른 방법을 포함할 수 있는데, 여기서, 인터폴레이션 프레임에서 각각의 픽셀에 대해 두쌍의 일차원 커널을 추정하도록 추정 또는 야기하는 단계를 더 포함하되, 일차원 커널의 각 두쌍은 대응하는 이차원 커널의 추정치이다.
예 32는 예 31의 방법 및/또는 본원의 일부 다른 예를 포함할 수 있는데, 여기서 제 1 및 제 2 입력 프레임으로부터 특징을 추출하도록 추출 또는 야기하는 단계; 및 입력 프레임의 해상도에서 조밀한 예측을 수행하도록 수행 또는 야기하는 단계를 포함한다.
예 33은 예 32의 방법 및/또는 본원의 일부 다른 예를 포함할 수 있는데, 여기서 특징 추출은 컨벌루션 레이어의 데이터를 다운 샘플링 또는 야기하는 단계를 포함하고, 그리고 조밀한 예측 수행은 전치된 컨볼루션, 서브-픽셀 컨볼루션, 가장 가까운 이웃 및 이중 선형 인터폴레이션을 수행하도록 수행 또는 야기하는 단계를 포함한다.
예 34는 입력으로서, 제 1 이미지 프레임 및 제 2 이미지 프레임을 획득하도록 획득 또는 야기하는 단계; 제 1 이미지 프레임의 제 1 수용 필드 패치 및 제 2 이미지 프레임의 제 2 수용 필드 패치에 기초하여 컨볼루셔널 커널을 추정하도록 추정 또는 야기하는 단계; 인터폴레이션 프레임의 출력 픽셀의 컬러를 얻기 위해 제 1 입력 이미지 프레임의 제 1 픽셀 패치 및 제 2 입력 이미지 프레임의 제 2 픽셀 패치를 통해 컨 볼루셔널 커널을 컨볼루션하도록 컨벌루션 또는 야기하는 단계; 및 획득된 컬러를 갖는 출력 픽셀과 함께 인터폴레이션 프레임을 출력하도록 출력 또는 야기하는 단계를 포함하는 방법을 포함할 수 있다.
예 35는 예 34의 방법 및/또는 본원의 일부 다른 예를 포함할 수 있는데, 여기서 프로세서 회로는 ConvNet을 동작시켜: 각각 제 1 입력 이미지 및 제 2 입력 이미지에서 제 1 수용 필드 패치 및 제 2 수용 필드 패치와 동일한 위치에서 동일한 중심인 인터폴레이션 프레임에서 출력 픽셀을 출력한다.
예 36은 예 35의 방법 및/또는 본원의 일부 다른 예를 포함할 수 있는데, 여기서 제 1 수용 필드 패치 및 제 2 수용 필드 패치는 입력 이미지 프레임에 중심이 있고, 그리고 제 1 픽셀 패치는 제 1 수용 필드 패치 내에 중심이 있으며 제 2 픽셀 패치는 제 2 수용 필드 패치 내에 중심이 있다.
예 37은 예 34-36의 방법 및/또는 본원의 일부 다른 예를 포함할 수 있는데, ConvNet은: 복수의 입력 이미지 프레임의 원시 픽셀 데이터를 포함하되, 제 1 이미지 프레임 및 제 2 이미지 프레임은 복수의 입력 이미지 프레임 중에 있는 입력 레이어; 복수의 추정 커널 중 대응하는 하나를 포함하는 복수의 컨볼루션 레이어; 복수의 다운-컨볼루션 레이어 - 다운-컨볼루션 레이어는 복수의 컨볼루션 레이어의 일부 컨볼루션 레이어 사이에 배치됨 - ; 그리고 출력 픽셀 및 획득된 컬러를 나타내는 데이터 구조를 포함하는 특징 맵을 포함하는 출력 레이어를 포함한다.
예 38은 예 34의 방법 및/또는 본원의 일부 다른 예를 포함할 수 있는데, 여기서 ConvNet은: 제 1 복수의 컨볼루션 레이어 및 복수의 풀링 레이어를 포함하되, 제 1 복수의 컨볼루션 레이어중 하나 이상의 컨볼루션 레이어는 복수의 풀링 레이어들 중 대응하는 하나와 그룹화되는, 수축 컴포넌트; 제 2 복수의 컨볼루션 레이어 및 복수의 업샘플링 레이어를 포함하되, 제 2 복수의 컨볼루션 레이어 중 하나 이상의 컨볼루션 레이어가 복수의 업샘플링 레이어 중 대응하는 하나와 그룹화되는, 확장 컴포넌트; 및 복수의 서브네트워크를 포함하되, 복수의 서브네트워크중 각각의 서브네트워크는 한 세트의 컨볼루션 레이어 및 업샘플링 레이어를 포함한다.
예 39는 예 38의 방법 및/또는 본원의 일부 다른 예를 포함할 수 있는데, ConvNet을 동작시키도록 동작 또는 야기하는 단계를 더 포함하되, ConvNet을 동작시키는 단계는: 인터폴레이션 프레임에서 각 픽셀에 대응하는 일차원 커널을 추정하도록 각 서브네트워크를 동작시키도록 동작 또는 야기하되, 일차원 커널의 각쌍이 이차원 커널을 포함한다.
예 40은 예 38의 방법 및/또는 본원의 일부 다른 예를 포함할 수 있는데, ConvNet을 동작시키도록 동작 또는 야기하는 단계를 더 포함하되, ConvNet을 동작시키는 단계는: 제 1 및 제 2 이미지 프레임으로부터 특징을 추출하도록 수축 컴포넌트를 동작시키도록 동작 또는 야기하는 단계; 및 추출된 특징에 대한 조밀한 예측을 수행하도록 확장 컴포넌트를 동작시키도록 동작 또는 야기하는 단계를 포함할 수 있다.
예 41은 예 38-40의 방법 및/또는 본원의 일부 다른 예를 포함할 수 있는데, 대응하는 전치된 컨볼루션 동작, 서브-픽셀 컨볼루션 동작, 가장 가까운 이웃 동작 또는 이중 선형 인터폴레이션 동작을 수행하도록 복수의 업샘플링 레이어 각각을 동작시키도록 동작 또는 야기하는 단계를 더 포함할 수 있다.
예 42는 예 38-40의 방법 및/또는 본원의 일부 다른 예를 포함할 수 있는데, 다운샘플링 동작을 수행하기 위해 복수의 풀링 레이어 각각을 동작 또는 야기하는 단계를 더 포함한다.
예 43은 입력으로서, 제 1 이미지 프레임 및 제 2 이미지 프레임을 획득하도록 획득 또는 야기하는 단계; 상기 제 1 이미지 프레임의 제 1 수용 필드 패치 및 제 2 이미지 프레임의 제 2 수용 필드 패치에 기초하여 컨볼루셔널 커널을 추정하도록 추정 또는 야기하는 단계; 인터폴레이션 프레임의 출력 픽셀의 컬러를 얻기 위해 제 1 입력 이미지 프레임의 제 1 픽셀 패치 및 제 2 입력 이미지 프레임의 제 2 픽셀 패치를 통해 컨 볼루셔널 커널을 컨볼루션하도록 컨볼루션 또는 야기하는 단계; 및 획득된 컬러를 갖는 출력 픽셀과 함께 인터폴레이션 프레임을 출력하도록 출력 또는 야기하는 단계를 포함하는 방법을 포함한다.
예 44는 예 43의 방법 및/또는 본원의 일부 다른 예를 포함할 수 있는데, 각각 제 1 입력 이미지 및 제 2 입력 이미지에서의 제 1 수용 필드 패치 및 제 2 수용 필드 패치와 동일한 위치에 동일한 중심인 인터폴레이션 프레임에서 출력 픽셀의 출력을 출력하도록 출력 또는 야기하는 단계를 더 포함한다.
예 45는 예 44의 방법 및/또는 본원의 일부 다른 예를 포함할 수 있는데, 여기서 제 1 수용 필드 패치 및 제 2 수용 필드 패치는 입력 이미지 프레임에 중심이 있고, 그리고 제 1 픽셀 패치는 제 1 수용 필드 패치 내에 중심이 있고 제 2 픽셀 패치는 제 2 수용 필드 패치 내에 중심이 있다.
예 46은 예 43-45의 방법 및/또는 본원의 일부 다른 예를 포함할 수 있는데, 여기서 ConvNet은: 복수의 입력 이미지 프레임의 원시 픽셀 데이터를 포함하되, 제 1 이미지 프레임 및 제 2 이미지 프레임은 복수의 입력 이미지 프레임 중에 있는, 입력 레이어; 복수의 컨볼루션 레이어, 풀링 레이어 및/또는 배치 정규화 레이어 중 대응하는 하나를 포함하는 복수의 레이어; 복수의 다운-컨볼루션 레이어를 포함하되, 다운-컨볼루션 레이어는 복수의 컨볼루션 레이어의 일부 컨볼루션 레이어 사이에 배치되고; 그리고 출력 픽셀의 컬러를 생성하기 위해 사용되는 커널을 포함하는 특징 맵을 포함하는 출력 레이어를 포함한다.
예 47은 예 43의 방법 및/또는 본원의 일부 다른 예를 포함할 수 있는데, 여기서 ConvNet은: 제 1 복수의 컨볼루션 레이어 및 복수의 풀링 레이어를 포함하되, 복수의 제 1 컨볼루션 레이어 중 하나 이상의 컨볼루션 레이어는 복수의 풀링 레이어 중 대응하는 하나와 그룹화되는, 수축 컴포넌트; 제 2 복수의 컨볼루션 레이어 및 복수의 업샘플링 레이어를 포함하되, 제 2 복수의 컨볼루션 레이어 중 하나 이상의 컨볼루션 레이어는 복수의 업샘플링 레이어 중 대응하는 하나와 그룹화되는, 확장 컴포넌트; 및 복수의 서브네트워크를 포함하되, 복수의 서브네트워크 중 각각의 서브네트워크는 한 세트의 컨볼루션 레이어 및 업샘플링 레이어를 포함한다.
예 48은 예 47의 방법 및/또는 본원의 일부 다른 예를 포함할 수 있는데, 여기서 인터폴레이션 프레임에서 각 픽셀에 대한 대응하는 일차원 커널을 추정하기 위해 각각의 서브네트워크를 동작시키도록 동작 또는 야기하는 단계를 더 포함하되, 각각의 일차원 커널은 이차원 커널 쌍의 부분이다.
예 49는 예 47의 방법 및/또는 본원의 일부 다른 예를 포함할 수 있는데, 제 1 및 제 2 이미지 프레임으로부터 특징을 추출하기 위해 수축 컴포넌트를 동작시키도록 동작 또는 야기하는 단계; 및 추출된 특징에 대한 조밀한 예측을 수행하도록 확장 컴포넌트를 동작시키도록 동작 또는 야기하는 단계를 더 포함한다.
예 50은 예 47의 방법 및/또는 본원의 일부 다른 예를 포함할 수 있는데, 대응하는 전치된 컨볼루션 동작, 서브-픽셀 컨볼루션 동작, 가장 가까운-이웃 동작 또는 이중 선형 인터폴레이션 동작을 수행하도록 복수의 업샘플링 레이어 각각을 동작시키도록 동작 또는 야기하는 단계; 및 다운샘플링 동작을 수행하도록 복수의 풀링 레이어 각각을 동작시키도록 동작 또는 야기하는 단계를 더 포함한다.
예 51은 공간-적응형 컨볼루셔널 커널을 추정하도록 추정 또는 야기하는 단계; 및 제 1 및 제 2 비디오 프레임에서 대응하는 픽셀 패치에 대한 컨볼루션으로서 픽셀 인터폴레이션을 형성하는 단계를 포함하는 방법을 포함할 수 있다.
예 52는 예 51의 방법 및/또는 본원의 일부 다른 예를 포함할 수 있는데, 여기서 공간-적응형 컨볼루션 커널은 컨볼루션 뉴럴 네트워크에 의해 추정될 수 있다.
예 53은 공간-적응형 컨볼루셔널 커널을 추정하고; 그리고 제 1 및 제 2 비디오 프레임에서 대응하는 픽셀 패치에 대한 컨볼루션으로서 픽셀 인터폴레이션을 형성하도록 하는 장치를 포함할 수 있다.
예 54는 예 53의 장치 및/또는 본원의 일부 다른 예를 포함할 수 있는데, 여기서 공간-적응형 컨벌루션 커널은 딥 풀리 컨볼루션 뉴럴 네트워크에 의해 추정 될 수 있다.
예 55는 제 1 및 제 2 비디오 프레임에서 각각 제 1 및 제 2의 2D 컨볼루션 커널에 근사하도록 제 1 및 제 2 쌍의 1D 컨볼루션 커널을 추정하는 단계; 및 제 1 및 제 2의 2D 컨볼루션 커널의 대응하는 픽셀 패치에 대한 컨볼루션으로서 픽셀 인터폴레이션을 형성하는 단계를 포함하는 방법을 포함할 수 있다.
예 56은 예 55의 방법 및/또는 본원의 일부 다른 예를 포함할 수 있는데, 여기서 1D 컨볼루션 커널의 각 쌍은 1D 수평 컨벌루션 커널 및 1D 수직 컨볼루션 커널을 포함한다.
예 57은 제 1 및 제 2 비디오 프레임에서 각각 제 1 및 제 2의 2D 컨볼루션 커널에 각각 근접하도록 제 1 및 제 2 쌍의 1D 컨볼루션 커널을 동시에 추정하고; 그리고 제 1 및 제 2의 2D 컨볼루션 커널의 대응하는 픽셀 패치에 대한 컨볼루션으로서 픽셀 인터폴레이션을 수행하는 장치를 포함한다.
예 58은 프레임에서 복수의 픽셀들에 대한 1D 컨볼루션 커널을 동시에 추정하는 단계; 및 1D 컨볼루션 커널에 대하여 풀 프레임을 동시에 합성하는 단계를 포함할 수 있는 방법을 포함할 수 있다.
예 59는 예 58의 방법 및/또는 본원의 일부 다른 예를 포함할 수 있는데, 여기서 프레임에서 복수의 픽셀에 대한 1D 컨볼루션 커널을 동시에 추정하는 단계는 프레임에서 모든 픽셀에 대한 1D 컨볼루션 커널을 동시에 추정하는 것을 포함할 수 있다.
예 60은 예 58의 방법 및/또는 본원의 일부 다른 예를 포함할 수 있고, 그리고 지각 손실을 풀 프레임에 통합하는 단계를 더 포함할 수 있다.
예 61은 프레임에서 복수의 픽셀 각각에 대한 복수의 1D 컨볼루션 커널을 동시에 추정하고; 그리고 프레임에서 복수의 픽셀에 대한 1D 컨볼루션 커널들과 관련하여 풀 프레임을 동시에 합성하는 장치를 포함할 수 있다.
예 62는 예 61의 장치 및/또는 본원의 일부 다른 예를 포함할 수 있는데, 여기서 프레임에서 복수의 픽셀 각각에 대한 복수의 1D 컨볼루션 커널을 동시에 추정하는 단계는 프레임에서 모든 픽셀에 대한 1D 컨볼루션 커널을 동시에 추정하는 것을 포함할 수 있다.
예 63은 예 1-62 중 어느 하나에 설명되거나 관련되는 방법, 또는 여기에 설명된 임의의 다른 방법 또는 프로세스를 수행하기 위한 수단을 포함하는 장치를 포함할 수 있다. 예 64는, 전자 장치가 하나 이상의 프로세서에 의해 명령을 실행할 때, 전자 장치로 하여금, 실시 예 1-62중 임의의 것에 기술되거나 관련된 방법 중 하나 이상의 요소, 또는 여기에 기술된 임의의 다른 방법 또는 프로세스를 수행하도록 하는 명령을 포함하는 하나 이상의 비-일시적 컴퓨터 판독 가능 매체를 포함할 수 있다. 예 65는 예 1-62 중 어느 하나에 설명되거나 관련되는 방법의 하나 이상의 요소, 또는 여기에 설명된 임의의 다른 방법 또는 프로세스를 수행하기 위한 로직, 모듈 또는 회로를 포함하는 장치를 포함할 수 있다. 예 66은 예 1-62 중 어느 하나에 설명되거나 이와 관련된 방법, 기술 또는 프로세스, 또는 그 일부 또는 부분을 포함할 수 있다. 예 67은 하나 이상의 프로세서에 의해 실행될 때 하나 이상의 프로세서로 하여금 실시 예 1-62 중 임의의 것 또는 그 일부에 기술되거나 관련된 방법, 기술 또는 프로세스를 수행하도록 하는 명령어를 포함하는 하나 이상의 프로세서 및 하나 이상의 컴퓨터 판독 가능 매체를 포함하는 장치를 포함할 수 있다. 예 68은 예 1-62의 임의의 것 또는 그의 부분 또는 파트에 기술되거나 관련된 신호를 포함할 수 있다.
본원에 설명된 예시적인 실시 예는 컴퓨터 하드웨어, 소프트웨어, 펌웨어, 미들웨어, 마이크로 코드, 하드웨어 설명 언어 또는 이들의 임의의 조합에 의해 구현될 수 있다. 소프트웨어, 펌웨어, 미들웨어 또는 마이크로 코드로 구현될 때, 필요한 작업을 수행하기 위한 프로그램 코드 또는 코드 세그먼트는 기계 또는 컴퓨터 판독 가능 매체에 저장될 수 있다. 코드 세그먼트는 프로시저, 함수, 서브 프로그램, 프로그램, 루틴, 서브 루틴, 모듈, 프로그램 코드, 소프트웨어 패키지, 클래스 또는 명령어, 데이터 구조, 프로그램 설명 등과 같은 임의의 조합을 나타낼 수 있다.
예시적인 실시 예들은 연속적인 동작들 및/또는 플로우차트, 플로우 다이아그램, 데이터 흐름도, 구조도, 또는 블록도와 함께 도시된 프로세스로서 설명될 수 있다. 플로우차트가 동작들을 순차적 프로세스로서 설명할 수 있지만, 많은 동작들이 병렬적으로, 동시에(concurrently, or simultaneously) 수행될 수 있다. 또한, 동작의 순서가 재 배열될 수 있다. 프로세스가 완료되면 프로세스가 종료될 수 있지만 도면에 포함되지 않은 추가 단계가 있을 수도 있다. 프로세스는 방법, 기능, 프로시저, 서브 루틴, 서브 프로그램 등에 해당할 수 있다. 프로세스가 함수에 해당하는 경우 종료는 함수를 호출 함수에 주함수로 리턴하는 것에 해당할 수 있다.
"메모리"라는 용어는 랜덤 액세스 메모리(RAM), 자기 RAM, 코어 메모리, 판독 전용 메모리(ROM), 자기 디스크 저장 매체, 광 저장 매체, 플래시 메모리 장치 또는 데이터를 저장하는 다른 머신 판독 가능 매체를 포함하는, 데이터를 저장하기 위한 하나 이상의 하드웨어 장치를 나타낼 수 있다. "컴퓨터 판독 가능 매체"라는 용어는 메모리, 휴대용 또는 고정 저장 장치, 광 저장 장치, 및 명령 또는 데이터를 저장, 포함 또는 운반할 수 있는 다양한 다른 매체를 포함할 수 있지만, 이에 제한되지는 않는다.
하나 이상의 구현에 대한 전술한 설명은 예시 및 설명을 제공하지만, 개시된 정확한 형태로 실시 예의 범위를 한정하거나 제한하려는 것은 아니다. 상기 교시에 비추어 수정 및 변형이 가능하거나 다양한 실시 예들의 실시로부터 획득될 수 있다.

Claims (40)

  1. 삭제
  2. 삭제
  3. 삭제
  4. 삭제
  5. 삭제
  6. 삭제
  7. 삭제
  8. 삭제
  9. 메모리 회로와 통신 가능하게 결합된 프로세서 회로, 컨볼루션 뉴럴 네트워크의 프로그램 코드(ConvNet)을 저장하기 위한 메모리 회로이며, 프로세서 회로는 ConvNet을 동작시켜:
    입력으로서, 제 1 이미지 프레임 및 제 2 이미지 프레임을 획득하고;
    제 1 이미지 프레임의 제 1 수용 필드 패치 및 제 2 이미지 프레임의 제 2 수용 필드 패치에 기초하여 컨볼루션 커널을 추정하고;
    인터폴레이션 프레임의 출력 픽셀의 컬러를 획득하기 위해 제 1 입력 이미지 프레임의 제 1 픽셀 패치 및 제 2 입력 이미지 프레임의 제 2 픽셀 패치를 통해 컨볼루션 커널을 컨볼루션하고; 그리고
    획득된 컬러를 갖는 출력 픽셀과 함께 인터폴레이션 프레임을 출력하는, 컴퓨터 시스템.
  10. 제 9 항에 있어서,
    프로세서 회로는 ConvNet을 동작시켜:
    제 1 입력 이미지 및 제 2 입력 이미지에서 각각 제 1 수용 필드 패치 및 제 2 수용 필드 패치와 동일한 위치에서 동일한 중심인 인터폴레이션 프레임 내의 출력 픽셀을 출력하는, 컴퓨터 시스템.
  11. 제 10 항에 있어서,
    제 1 수용 필드 패치 및 제 2 수용 필드 패치는 입력 이미지 프레임에 중심이 있고, 제 1 픽셀 패치는 제 1 수용 필드 패치 내에 중심이 있으며 제 2 픽셀 패치는 제 2 수용 필드 패치 내에 중심이 있는, 컴퓨터 시스템.
  12. 제 9 항에 있어서,
    ConvNet은:
    복수의 입력 이미지 프레임의 원시 픽셀 데이터를 포함하되, 제 1 이미지 프레임 및 제 2 이미지 프레임은 복수의 입력 이미지 프레임 중 에 있는, 입력 레이어;
    복수의 추정 커널 중 대응하는 하나를 포함하는 복수의 컨볼루션 레이어;
    복수의 다운-컨볼루션 레이어로서, 다운-컨볼루션 레이어는 복수의 컨볼루션 레이어의 일부 컨볼루션 레이어 사이에 배치되고; 그리고
    출력 픽셀 및 획득된 컬러를 나타내는 데이터 구조를 포함하는 특징 맵을 포함하는 출력 레이어를 포함하는, 컴퓨터 시스템.
  13. 제 9 항에 있어서,
    ConvNet은:
    제 1 복수의 컨볼루션 레이어 및 복수의 풀링 레이어를 포함하되, 제 1 복수의 컨볼루션 레이어 중 하나 이상의 컨볼루션 레이어는 복수의 풀링 레이어 중 대응하는 하나와 그룹화되는, 수축 컴포넌트;
    제 2 복수의 컨볼루션 레이어 및 복수의 업 샘플링 레이어를 포함하되, 제 2 복수의 컨볼루션 레이어 중 하나 이상의 컨볼루션 레이어는 복수의 업 샘플링 레이어 중 대응하는 하나와 그룹화되는, 확장 컴포넌트; 그리고
    복수의 서브네트워크를 포함하되, 복수의 서브네트워크의 각 서브네트워크는 한 세트의 컨볼루션 레이어 및 업 샘플링 레이어를 포함하는, 컴퓨터 시스템.
  14. 제 13 항에 있어서,
    프로세서 회로는 ConvNet을 동작시켜:
    인터폴레이션 프레임 내의 각 픽셀에 대한 대응하는 일차원 커널을 추정하기 위해 각각의 서브네트워크를 동작시키되, 각각의 대응하는 일차원 커널은 한 쌍의 일차원 커널의 일부이고, 일차원 커널의 각 쌍은 이차원 커널을 계산하는데 사용되는, 컴퓨터 시스템.
  15. 제 13 항에 있어서,
    프로세서 회로는 ConvNet을 동작시켜:
    제 1 및 제 2 이미지 프레임으로부터 특징을 추출하기 위해 수축 컴포넌트를 동작시키고; 그리고
    추출된 특징에 대한 조밀한 예측을 수행하기 위해 확장 컴포넌트를 동작시키는, 컴퓨터 시스템.
  16. 제 13 항에 있어서,
    프로세서 회로는 복수의 업 샘플링 레이어의 각각을 동작시켜 대응하는 전치된 컨벌루션 동작, 서브-픽셀 컨벌루션 동작, 가장 가까운 이웃 동작, 또는 이중 선형 인터폴레이션 동작을 수행하는, 컴퓨터 시스템.
  17. 제 13 항에 있어서,
    프로세서 회로는 복수의 풀링 레이어의 각각을 동작시켜 다운 샘플링 동작을 수행하는, 컴퓨터 시스템.
  18. 하나 이상의 프로세서에 의한 프로그램 코드의 실행이 컴퓨터 시스템을 동작시켜:
    입력으로서, 제 1 이미지 프레임 및 제 2 이미지 프레임을 획득하고;
    제 1 이미지 프레임의 제 1 수용 필드 패치 및 제 2 이미지 프레임의 제 2 수용 필드 패치에 기초하여 컨볼루션 커널을 추정하고;
    인터폴레이션 프레임의 출력 픽셀의 컬러를 획득하기 위해 제 1 입력 이미지 프레임의 제 1 픽셀 패치 및 제 2 입력 이미지 프레임의 제 2 픽셀 패치를 통해 컨볼루션 커널을 컨볼루션하고; 그리고
    획득된 컬러를 갖는 출력 픽셀과 함께 인터폴레이션 프레임을 출력하는,
    컨볼루션 뉴럴 네트워크의 프로그램 코드(ConvNet)를 포함하는 하나 이상의 비일시적 컴퓨터 판독 가능 매체(NTCRM).
  19. 제 18 항에 있어서,
    프로그램 코드의 실행이 컴퓨터 시스템을 동작시켜:
    제 1 입력 이미지 및 제 2 입력 이미지에서 각각 제 1 수용 필드 패치 및 제 2 수용 필드 패치와 동일한 위치에 동일 중심을 갖는 인터폴레이션 프레임 내의 출력 픽셀을 출력하는, 하나 이상의 NTCRM.
  20. 제 19 항에 있어서,
    제 1 수용 필드 패치 및 제 2 수용 필드 패치는 입력 이미지 프레임에 중심을 갖고, 그리고 제 1 픽셀 패치는 제 1 수용 필드 패치 내에 중심을 가지며, 제 2 픽셀 패치는 제 2 수용 필드 패치 내에 중심을 갖는, 하나 이상의 NTCRM.
  21. 제 18 항에 있어서,
    ConvNet은:
    복수의 입력 이미지 프레임의 원시 픽셀 데이터를 포함하되, 제 1 이미지 프레임 및 제 2 이미지 프레임은 복수의 입력 이미지 프레임 중 에 있는, 입력 레이어;
    복수의 컨볼루션 레이어, 풀링 레이어 및/또는 배치 정규화(Batch Normalization) 레이어 중 대응하는 하나를 포함하는 복수의 레이어;
    복수의 다운-컨볼루션 레이어로서, 다운-컨볼루션 레이어는 복수의 컨볼루션 레이어중 일부 컨볼루션 레이어 사이에 배치되고; 그리고
    출력 픽셀의 컬러를 생성하기 위해 사용되는 커널을 포함하는 특징 맵을 포함하는 출력 레이어를 포함하는, 하나 이상의 NTCRM.
  22. 제 18 항에 있어서,
    ConvNet은:
    제 1 복수의 컨볼루션 레이어 및 복수의 풀링 레이어를 포함하되, 제 1 복수의 컨볼루션 레이어 중 하나 이상의 컨볼루션 레이어는 복수의 풀링 레이어 중 대응하는 하나와 그룹화되는, 수축 컴포넌트;
    제 2 복수의 컨볼루션 레이어 및 복수의 업 샘플링 레이어를 포함하되, 제 2 복수의 컨볼루션 레이어 중 하나 이상의 컨볼루션 레이어는 복수의 업 샘플링 레이어 중 대응하는 하나와 그룹화되는, 확장 컴포넌트; 그리고
    복수의 서브네트워크를 포함하되, 복수의 서브네트워크의 각 서브네트워크는 한 세트의 컨볼루션 레이어 및 업 샘플링 레이어를 포함하는, 하나 이상의 NTCRM.
  23. 제 22 항에 있어서,
    프로그램 코드의 실행이 컴퓨터 시스템을 동작시켜:
    인터폴레이션 프레임 내의 각 픽셀에 대한 대응하는 일차원 커널을 추정하기 위해 각각의 서브네트워크를 동작시키고, 각각의 일차원 커널은 한 쌍의 일차원 커널의 일부이며, 그리고 일차원 커널의 각 쌍은 이차원 커널을 계산하는데 이용되는, 하나 이상의 NTCRM.
  24. 제 22 항에 있어서,
    프로그램 코드의 실행이 컴퓨터 시스템을 동작시켜:
    제 1 및 제 2 이미지 프레임으로부터 특징을 추출하기 위해 수축 컴포넌트를 동작시키고; 그리고
    추출된 특징에 대한 조밀한 예측을 수행하기 위해 확장 컴포넌트를 동작시키는, 하나 이상의 NTCRM.
  25. 제 22 항에 있어서,
    프로그램 코드의 실행이 컴퓨터 시스템을 동작시켜:
    대응하는 전치된 컨벌루션 동작, 서브-픽셀 컨벌루션 동작, 가장 가까운 이웃 동작, 또는 이중 선형 인터폴레이션 동작을 수행하기 위해 복수의 업 샘플링 레이어 각각을 동작시키고; 그리고
    다운 샘플링 동작을 수행하기 위해 복수의 풀링 레이어의 각각을 동작시키는, 하나 이상의 NTCRM.
  26. 프레임 인터폴레이션의 방법에 있어서,
    제 1 입력 이미지 프레임의 제 1 수용 필드 패치 및 제 2 입력 이미지 프레임의 제 2 수용 필드 패치에 기초하여 컨볼루션 커널을 추정하는 단계; 및
    인터폴레이션 프레임의 출력 픽셀의 컬러를 획득하기 위해 제 1 입력 이미지 프레임의 제 1 픽셀 패치 및 제 2 입력 이미지 프레임의 제 2 픽셀 패치를 통해 컨 볼루션 커널을 컨볼루션하는 단계를 포함하는, 방법.
  27. 제 26 항에 있어서,
    입력으로서, 제 1 수용 필드 패치 및 제 2 수용 필드 패치를 수용하되, 제 1 픽셀 패치가 제 1 수용 필드 패치 내에 중심이 있고 제 2 픽셀 패치가 제 2 수용 필드 패치 내에 중심이 있는, 단계;
    대응하는 컨볼루션 레이어의 복수의 컨볼루션 동작을 수행하는 단계;
    대응하는 다운-컨볼루션 레이어의 복수의 다운-컨볼루션 동작을 수행 또는 야기하는 단계; 및
    제 1 입력 프레임의 제 1 수용 필드 패치 및 제 2 입력 프레임의 제 2 수용 필드 패치와 동일한 위치에 중심이 있는 출력 픽셀의 컬러를 계산하기 위해 두쌍의 일차원 커널을 출력하되, 두쌍의 일차원 커널중 적어도 하나는 컨볼루션된 커널 및 다른 컨볼루션된 커널을 포함하고, 두쌍의 일차원 커널 각각은 이차원 커널인, 단계를 더 포함하는, 방법.
  28. 제 26 항에 있어서,
    제 1 및 제 2 입력 프레임으로부터 특징을 추출하되, 특징 추출은 컨볼루션 레이어의 다운 샘플링 데이터를 포함하는, 단계; 및
    입력 프레임의 해상도에서 조밀한 예측을 수행하되, 조밀한 예측 수행은 전치된 컨볼루션, 서브-픽셀 컨볼루션, 가장 가까운 이웃 및 이중 선형 인터폴레이션을 수행함을 포함하는, 단계를 더 포함하되,
    추정 단계가 인터폴레이션 프레임에서 각 픽셀에 대한 두쌍의 일차원 커널을 추정함을 포함하고, 두쌍의 일차원 커널 각각은 대응하는 이차원 커널의 추정치인, 방법.
  29. 컨볼루션 신경망(ConvNet)을 동작시키는 방법에 있어서,
    제 1 이미지 프레임 및 제 2 이미지 프레임을 입력으로 수신하는 단계;
    제 1 이미지 프레임의 제 1 수용 필드 패치 및 제 2 이미지 프레임의 제 2 수용 필드 패치에 기초하여 개별 출력 픽셀을 생성하기 위해 한 쌍의 공간 적응 컨볼루션 커널을 추정하는 단계 - 여기서 공간 적응 컨볼루션 커널 쌍을 추정하는 단계는: 제 1 이미지 프레임의 제 1 픽셀 패치에 대한 제 1 커널 매트릭스 및 제 2 이미지 프레임의 제 2 픽셀 패치에 대한 제 2 커널 매트릭스를 포함하는 한 쌍의 커널 매트릭스를 생성함을 포함함- ;
    개별 출력 픽셀의 컬러를 획득하기 위해 제 1 이미지 프레임의 제 1 픽셀 패치와 제 2 이미지 프레임의 제 2 픽셀 패치에 걸쳐 공간 적응 컨볼루션 커널 쌍을 컨벌루션하는 단계; 및
    획득된 컬러를 갖는 개별 출력 픽셀로 인터폴레이션 프레임을 생성 및 출력하는 단계를 포함하는, 방법.
  30. 제 29 항에 있어서,
    제 1 입력 이미지의 제 1 수용 필드 패치 및 제 2 입력 이미지의 제 2 수용 필드 패치와 동일한 위치에 같은 중심에 있는 인터폴레이션 프레임에서 출력 픽셀을 생성하는 단계를 더 포함하되, 여기서:
    제 1 수용 필드 패치는 제 1 이미지 프레임에서 개별 출력 픽셀의 픽셀 좌표를 중심으로 하고,
    제 2 수용 필드 패치는 제 2 이미지 프레임에서 개별 출력 픽셀의 픽셀 좌표를 중심으로 하며,
    제 1 픽셀 패치는 제 1 수용 필드 패치 내의 중앙에 있고,
    제 2 픽셀 패치는 제 2 수용 필드 패치 내의 중앙에 있는, 방법.
  31. 제 29 항에 있어서,
    인터폴레이션 프레임의 각 픽셀에 대한 공간 적응형 컨볼루션 커널의 각 쌍을 추정하는 단계를 더 포함하는, 방법.
  32. 제 29 항에 있어서,
    제 1 커널 매트릭스 및 제 2 커널 매트릭스 각각은 0이 아닌 매트릭스 값의 세트를 포함하고,
    0이 아닌 매트릭스 값의 위치는 움직임을 나타내며,
    0이 아닌 값은 인터폴레이션 프레임을 생성하기 위해 제 1 및 제 2 픽셀 패치의 픽셀 컬러를 결합하는 인터폴레이션 계수인, 방법.
  33. 컨볼루션 신경망(ConvNet)의 프로그램 코드를 저장하기 위한 메모리 회로와 통신 가능하게 결합된 프로세서 회로로서, ConvNet은:
    제 1 복수의 컨볼루션 레이어 및 복수의 풀링 레이어를 포함하는 수축 컴포넌트 - 여기서 제 1 복수의 컨볼루션 레이어 중 하나 이상의 컨볼루션 레이어는 복수의 풀링 레이어 중 대응하는 하나와 그룹화됨 -,
    제 2 복수의 컨볼루션 레이어 및 복수의 업샘플링 레이어를 포함하는 확장 컴포넌트 - 여기서 제 2 복수의 컨볼루션 레이어 중 하나 이상의 컨볼루션 레이어는 복수의 업샘플링 레이어 중 대응하는 하나와 그룹화됨 -, 및
    복수의 서브네트워크 - 여기서 복수의 서브네트워크의 각각의 서브네트워크는 컨볼루션 레이어의 세트 및 업샘플링 레이어를 포함함 -;를 포함하고, 그리고
    프로세서 회로는 ConvNet을 동작시켜:
    입력으로서 제 1 이미지 프레임 및 제 2 이미지 프레임을 획득하고;
    제 1 이미지 프레임의 제 1 수용 필드 패치 및 제 2 이미지 프레임의 제 2 수용 필드 패치에 기초하여 컨볼루션 커널을 추정하고;
    인터폴레이션 프레임의 출력 픽셀의 컬러를 획득하기 위해 제 1 입력 이미지 프레임의 제 1 픽셀 패치 및 제 2 입력 이미지 프레임의 제 2 픽셀 패치에 대해 컨볼루션 커널을 컨볼루션하고; 그리고
    획득된 컬러를 갖는 출력 픽셀로 인터폴레이션 프레임을 출력하는, 컴퓨터 시스템.
  34. 제 33 항에 있어서,
    프로세서 회로는 ConvNet을 동작시켜:
    제 1 입력 이미지와 제 2 입력 이미지에서 각각 제 1 수용 필드 패치와 제 2 수용 필드 패치와 같은 위치에 같은 중심에 있는 인터폴레이션 프레임의 출력 픽셀을 출력하는, 컴퓨터 시스템.
  35. 제 34 항에 있어서,
    제 1 수용 필드 패치 및 제 2 수용 필드 패치는 입력 이미지 프레임의 중앙에 있고, 제 1 픽셀 패치는 제 1 수용 필드 패치 내 중앙에 있고 제 2 픽셀 패치는 제 2 수용 필드 패치 내 중앙에 있는, 컴퓨터 시스템.
  36. 제 33 항에 있어서,
    ConvNet은:
    복수의 입력 이미지 프레임의 원시 픽셀 데이터를 포함하는 입력 레이어 - 여기서 제 1 이미지 프레임 및 제 2 이미지 프레임은 복수의 입력 이미지 프레임 중 하나임 -; 및
    출력 픽셀 및 획득된 컬러를 나타내는 데이터 구조를 포함하는 특징 맵을 포함하는 출력 레이어를 더 포함하는, 컴퓨터 시스템.
  37. 제 33 항에 있어서,
    프로세서 회로는 ConvNet을 동작시켜:
    인터폴레이션 프레임의 각 픽셀에 대해 대응하는 1차원 커널을 추정하기 위해 각 서브네트워크를 동작시키는 - 여기서 대응하는 1차원 커널의 각각은 1차원 커널의 쌍의 일부이고, 1차원 커널의 각 쌍은 2차원 커널을 계산하는데 사용되는 컴퓨터 시스템.
  38. 제 33 항에 있어서,
    프로세서 회로는 ConvNet을 동작시켜:
    제 1 및 제 2 이미지 프레임으로부터 특징을 추출하기 위해 수축 컴포넌트를 동작시키고; 그리고
    추출된 특징에 대해 조밀한 예측을 수행하기 위해 확장 컴포넌트를 동작시키는, 컴퓨터 시스템.
  39. 제 33 항에 있어서,
    프로세서 회로는 대응하는 전치된 컨볼루션 연산, 서브-픽셀 컨볼루션 연산, 최근접 이웃 연산, 또는 쌍선형 인터폴레이션 연산을 수행하기 위해 복수의 업샘플링 레이어 각각을 동작시키는, 컴퓨터 시스템.
  40. 제 33 항에 있어서,
    프로세서 회로는 다운샘플링 동작을 수행하기 위해 복수의 풀링 레이어 각각을 동작시키는, 컴퓨터 시스템.
KR1020197030137A 2017-03-17 2018-03-16 적응형 컨볼루션 및 적응형 분리형 컨볼루션을 통한 프레임 인터폴레이션 KR102474168B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201762473234P 2017-03-17 2017-03-17
US62/473,234 2017-03-17
US201762485794P 2017-04-14 2017-04-14
US62/485,794 2017-04-14
PCT/US2018/022858 WO2018170393A2 (en) 2017-03-17 2018-03-16 Frame interpolation via adaptive convolution and adaptive separable convolution

Publications (2)

Publication Number Publication Date
KR20190132415A KR20190132415A (ko) 2019-11-27
KR102474168B1 true KR102474168B1 (ko) 2022-12-06

Family

ID=63522622

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020197030137A KR102474168B1 (ko) 2017-03-17 2018-03-16 적응형 컨볼루션 및 적응형 분리형 컨볼루션을 통한 프레임 인터폴레이션

Country Status (3)

Country Link
US (1) US11468318B2 (ko)
KR (1) KR102474168B1 (ko)
WO (1) WO2018170393A2 (ko)

Families Citing this family (81)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11778195B2 (en) * 2017-07-07 2023-10-03 Kakadu R & D Pty Ltd. Fast, high quality optical flow estimation from coded video
US11308361B1 (en) * 2017-07-07 2022-04-19 Twitter, Inc. Checkerboard artifact free sub-pixel convolution
US11861811B2 (en) 2017-07-27 2024-01-02 Nvidia Corporation Neural network system with temporal feedback for denoising of rendered sequences
US11475542B2 (en) 2017-07-27 2022-10-18 Nvidia Corporation Neural network system with temporal feedback for adaptive sampling and denoising of rendered sequences
US11557022B2 (en) * 2017-07-27 2023-01-17 Nvidia Corporation Neural network system with temporal feedback for denoising of rendered sequences
US10706890B2 (en) 2017-08-24 2020-07-07 Intel Corporation Cinematic space-time view synthesis for enhanced viewing experiences in computing environments
US10776688B2 (en) 2017-11-06 2020-09-15 Nvidia Corporation Multi-frame video interpolation using optical flow
US11122238B1 (en) * 2017-11-07 2021-09-14 Twitter, Inc. Frame interpolation with multi-scale deep loss functions and generative adversarial networks
DE102018200534A1 (de) * 2018-01-15 2019-07-18 Robert Bosch Gmbh Verfahren zum Betreiben eines künstlichen neuronalen Netzes
US11019355B2 (en) * 2018-04-03 2021-05-25 Electronics And Telecommunications Research Institute Inter-prediction method and apparatus using reference frame generated based on deep learning
US10984245B1 (en) * 2018-06-11 2021-04-20 Facebook, Inc. Convolutional neural network based on groupwise convolution for efficient video analysis
KR102550327B1 (ko) * 2018-09-21 2023-06-30 엘지디스플레이 주식회사 영상 업스케일링 방법 및 장치
US11783707B2 (en) 2018-10-09 2023-10-10 Ford Global Technologies, Llc Vehicle path planning
JP7135697B2 (ja) * 2018-10-11 2022-09-13 株式会社島津製作所 分析装置、分析システムおよび分析方法
US11126915B2 (en) * 2018-10-15 2021-09-21 Sony Corporation Information processing apparatus and information processing method for volume data visualization
WO2020080873A1 (en) 2018-10-19 2020-04-23 Samsung Electronics Co., Ltd. Method and apparatus for streaming data
KR102312337B1 (ko) * 2018-10-19 2021-10-14 삼성전자주식회사 Ai 부호화 장치 및 그 동작방법, 및 ai 복호화 장치 및 그 동작방법
WO2020080709A1 (en) 2018-10-19 2020-04-23 Samsung Electronics Co., Ltd. Artificial intelligence encoding and artificial intelligence decoding methods and apparatuses using deep neural network
US11720997B2 (en) 2018-10-19 2023-08-08 Samsung Electronics Co.. Ltd. Artificial intelligence (AI) encoding device and operating method thereof and AI decoding device and operating method thereof
KR102525578B1 (ko) 2018-10-19 2023-04-26 삼성전자주식회사 부호화 방법 및 그 장치, 복호화 방법 및 그 장치
WO2020080665A1 (en) 2018-10-19 2020-04-23 Samsung Electronics Co., Ltd. Methods and apparatuses for performing artificial intelligence encoding and artificial intelligence decoding on image
KR102285738B1 (ko) * 2018-10-19 2021-08-05 삼성전자주식회사 영상의 주관적 품질을 평가하는 방법 및 장치
WO2020080765A1 (en) 2018-10-19 2020-04-23 Samsung Electronics Co., Ltd. Apparatuses and methods for performing artificial intelligence encoding and artificial intelligence decoding on image
US11616988B2 (en) 2018-10-19 2023-03-28 Samsung Electronics Co., Ltd. Method and device for evaluating subjective quality of video
US20200137380A1 (en) * 2018-10-31 2020-04-30 Intel Corporation Multi-plane display image synthesis mechanism
CN112889084B (zh) * 2018-11-08 2023-05-23 Oppo广东移动通信有限公司 提高图像的颜色质量的方法、***和计算机可读介质
CN111178491A (zh) * 2018-11-09 2020-05-19 佳能株式会社 神经网络模型的训练和应用方法、装置、***及存储介质
CN109472315B (zh) * 2018-11-15 2021-09-24 江苏木盟智能科技有限公司 一种基于深度可分离卷积的目标检测方法和***
KR102641423B1 (ko) 2018-12-11 2024-02-28 삼성전자주식회사 영상 처리 장치 및 그 동작방법
KR102142205B1 (ko) * 2019-01-04 2020-08-06 에스케이 주식회사 설명 가능한 인공지능 모델링 및 시뮬레이션 시스템 및 방법
US11080835B2 (en) * 2019-01-09 2021-08-03 Disney Enterprises, Inc. Pixel error detection system
CN109919829B (zh) * 2019-01-17 2023-12-26 北京达佳互联信息技术有限公司 图像风格迁移方法、装置和计算机可读存储介质
GB2580671B (en) * 2019-01-22 2022-05-04 Toshiba Kk A computer vision system and method
US11461653B2 (en) * 2019-01-23 2022-10-04 StradVision, Inc. Learning method and learning device for CNN using 1xK or Kx1 convolution to be used for hardware optimization, and testing method and testing device using the same
US11288818B2 (en) * 2019-02-19 2022-03-29 The Trustees Of The University Of Pennsylvania Methods, systems, and computer readable media for estimation of optical flow, depth, and egomotion using neural network trained using event-based learning
CN109905624B (zh) * 2019-03-01 2020-10-16 北京大学深圳研究生院 一种视频帧插值方法、装置及设备
CN113196334B (zh) * 2019-03-25 2024-05-24 特励达数字成像有限公司 用于生成超分辨率图像的方法和相关设备
US20220016846A1 (en) * 2019-04-10 2022-01-20 Hewlett-Packard Development Company, L.P. Adaptive thermal diffusivity
WO2020216438A1 (en) * 2019-04-23 2020-10-29 Telefonaktiebolaget Lm Ericsson (Publ) A computer software module, a device and a method for accelerating inference for compressed videos
CN110111366B (zh) * 2019-05-06 2021-04-30 北京理工大学 一种基于多级损失量的端到端光流估计方法
US10896356B2 (en) * 2019-05-10 2021-01-19 Samsung Electronics Co., Ltd. Efficient CNN-based solution for video frame interpolation
US11460851B2 (en) 2019-05-24 2022-10-04 Ford Global Technologies, Llc Eccentricity image fusion
US11521494B2 (en) 2019-06-11 2022-12-06 Ford Global Technologies, Llc Vehicle eccentricity mapping
US11662741B2 (en) 2019-06-28 2023-05-30 Ford Global Technologies, Llc Vehicle visual odometry
CN110427094B (zh) * 2019-07-17 2021-08-17 Oppo广东移动通信有限公司 显示方法、装置、电子设备及计算机可读介质
DE102019125000A1 (de) * 2019-09-17 2021-03-18 Basler Ag Verfahren zur bildverarbeitung durch ein neuronales netzwerk und verfahren zum trainieren eines neuronalen netzwerks
CN110659379B (zh) * 2019-09-24 2023-05-23 中南林业科技大学 一种基于深度卷积网络特征的可搜索加密图像检索方法
WO2021063119A1 (en) * 2019-10-01 2021-04-08 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Method and apparatus for image processing, terminal
KR20210056179A (ko) 2019-11-08 2021-05-18 삼성전자주식회사 Ai 부호화 장치 및 그 동작방법, 및 ai 복호화 장치 및 그 동작방법
US10958869B1 (en) * 2019-11-14 2021-03-23 Huawei Technologies Co., Ltd. System, device and method for video frame interpolation using a structured neural network
KR102207736B1 (ko) * 2020-01-14 2021-01-26 한국과학기술원 심층 신경망 구조를 이용한 프레임 보간 방법 및 장치
CN111212287A (zh) * 2020-01-15 2020-05-29 济南浪潮高新科技投资发展有限公司 一种基于图像插值法的视频压缩方法
US11074730B1 (en) 2020-01-23 2021-07-27 Netapp, Inc. Augmented reality diagnostic tool for data center nodes
US20210279841A1 (en) * 2020-03-09 2021-09-09 Nvidia Corporation Techniques to use a neural network to expand an image
KR102372046B1 (ko) * 2020-03-12 2022-03-11 숭실대학교 산학협력단 인공지능 기술을 이용한 혈관 구조 추출 방법, 이를 수행하기 위한 기록 매체 및 장치
US11508143B2 (en) 2020-04-03 2022-11-22 Disney Enterprises, Inc. Automated salience assessment of pixel anomalies
CN113875228B (zh) * 2020-04-30 2023-06-30 京东方科技集团股份有限公司 视频插帧方法及装置、计算机可读存储介质
US11544880B2 (en) * 2020-05-14 2023-01-03 Adobe Inc. Generating modified digital images utilizing a global and spatial autoencoder
CN113727141B (zh) * 2020-05-20 2023-05-12 富士通株式会社 视频帧的插值装置以及方法
CN111814479B (zh) * 2020-07-09 2023-08-25 上海明略人工智能(集团)有限公司 一种企业简称生成及其模型的训练方法及装置
KR20220030084A (ko) * 2020-09-02 2022-03-10 삼성전자주식회사 영상 처리 방법 및 장치
CN112198799B (zh) * 2020-10-28 2021-05-14 北京交通大学 一种基于深度学习的高速列车停车控制方法及***
US11216656B1 (en) * 2020-12-16 2022-01-04 Retrocausal, Inc. System and method for management and evaluation of one or more human activities
KR20220092247A (ko) * 2020-12-24 2022-07-01 삼성전자주식회사 전자 장치 및 이의 제어 방법
EP4207009A4 (en) 2020-12-24 2024-04-24 Samsung Electronics Co., Ltd. ELECTRONIC DEVICE AND ITS CONTROL METHOD
CN113014936B (zh) * 2021-02-24 2022-12-13 北京百度网讯科技有限公司 视频插帧方法、装置、设备以及存储介质
WO2022186620A1 (ko) * 2021-03-04 2022-09-09 현대자동차주식회사 인트라 예측의 예측 신호를 개선하는 비디오 코딩방법 및 장치
US11871145B2 (en) * 2021-04-06 2024-01-09 Adobe Inc. Optimization of adaptive convolutions for video frame interpolation
CN113132664B (zh) * 2021-04-19 2022-10-04 科大讯飞股份有限公司 一种插帧生成模型构建方法、视频插帧方法
GB2609708B (en) * 2021-05-25 2023-10-25 Samsung Electronics Co Ltd Method and apparatus for video recognition
CN113593033A (zh) * 2021-06-03 2021-11-02 清华大学 一种基于网格细分结构的三维模型特征提取方法
US12003885B2 (en) * 2021-06-14 2024-06-04 Microsoft Technology Licensing, Llc Video frame interpolation via feature pyramid flows
CN113379869B (zh) * 2021-07-23 2023-03-24 浙江大华技术股份有限公司 一种车牌图像生成方法、装置、电子设备及存储介质
CN113762349B (zh) * 2021-08-11 2024-03-29 同济大学 一种面向海洋生物的轻量化混叠稠密网络分类方法和***
US12046047B2 (en) 2021-12-07 2024-07-23 Ford Global Technologies, Llc Object detection
US12039740B2 (en) * 2021-12-13 2024-07-16 Qualcomm Incorporated Vectorized bilinear shift for replacing grid sampling in optical flow estimation
US20240098216A1 (en) * 2022-09-20 2024-03-21 Nvidia Corporation Video frame blending
KR20240083525A (ko) * 2022-12-05 2024-06-12 삼성전자주식회사 전자 장치 및 그 제어 방법
KR20240103345A (ko) * 2022-12-27 2024-07-04 씨제이올리브네트웍스 주식회사 Ai를 이용한 영상 정보 생성 시스템 및 그 방법
CN116503530B (zh) * 2023-04-19 2023-12-05 钛玛科(北京)工业科技有限公司 一种基于图像卷积的间歇区提取方法
CN117095158B (zh) * 2023-08-23 2024-04-26 广东工业大学 一种基于多尺度分解卷积的太赫兹图像危险品检测方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160196672A1 (en) 2015-01-05 2016-07-07 Superfish Ltd. Graph image representation from convolutional neural networks

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5353119A (en) * 1990-11-15 1994-10-04 Sony United Kingdom Limited Format conversion of digital video signals, integration of digital video signals into photographic film material and the like, associated signal processing, and motion compensated interpolation of images
US20030189579A1 (en) * 2002-04-05 2003-10-09 Pope David R. Adaptive enlarging and/or sharpening of a digital image
US9039621B2 (en) * 2011-07-27 2015-05-26 The United States of America National Institutes of Health (NIH), U.S. Dept. of Health and Human Services (DHHS), NIH Division of Extramural Inventions and Technology Resources (DEITR) Non-invasive ultrasonic gingival tissue diagnosis
GB2539845B (en) * 2015-02-19 2017-07-12 Magic Pony Tech Ltd Offline training of hierarchical algorithms
US10282663B2 (en) * 2015-08-15 2019-05-07 Salesforce.Com, Inc. Three-dimensional (3D) convolution with 3D batch normalization
JP6700712B2 (ja) * 2015-10-21 2020-05-27 キヤノン株式会社 畳み込み演算装置
JP6930428B2 (ja) * 2016-01-21 2021-09-01 ソニーグループ株式会社 情報処理装置、情報処理方法、およびプログラム
US10860879B2 (en) * 2016-05-16 2020-12-08 Raytheon Technologies Corporation Deep convolutional neural networks for crack detection from image data

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160196672A1 (en) 2015-01-05 2016-07-07 Superfish Ltd. Graph image representation from convolutional neural networks

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
비특허문헌 1(PDXSCHOLAR, PORTLAND STATE UNIVERSITY, 2017.03.01.)

Also Published As

Publication number Publication date
WO2018170393A2 (en) 2018-09-20
KR20190132415A (ko) 2019-11-27
WO2018170393A9 (en) 2018-11-15
US20200012940A1 (en) 2020-01-09
US11468318B2 (en) 2022-10-11
WO2018170393A3 (en) 2018-12-20

Similar Documents

Publication Publication Date Title
KR102474168B1 (ko) 적응형 컨볼루션 및 적응형 분리형 컨볼루션을 통한 프레임 인터폴레이션
US11475536B2 (en) Context-aware synthesis for video frame interpolation
US20220092795A1 (en) Feature pyramid warping for video frame interpolation
US20220174252A1 (en) Selective culling of multi-dimensional data sets
US11202051B2 (en) System and method for distributing and rendering content as spherical video and 3D asset combination
WO2019149206A1 (zh) 深度估计方法和装置、电子设备、程序和介质
US11871127B2 (en) High-speed video from camera arrays
US11361508B2 (en) Object scanning using planar segmentation
CN113272863A (zh) 基于双像素图像的深度预测
US11954789B2 (en) System and method for sparse distributed rendering
WO2014124062A1 (en) Aligning virtual camera with real camera
KR20170073937A (ko) 영상 데이터 전송 방법 및 장치, 및 3차원 영상 생성 방법 및 장치
US20230216999A1 (en) Systems and methods for image reprojection
WO2020139766A2 (en) System and method for optimizing spatial content distribution using multiple data systems
US11954786B2 (en) Reprojection for high field rate displays
WO2023129855A1 (en) Systems and methods for image reprojection
US20140375774A1 (en) Generation device and generation method

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant