KR20160134768A - 비디오 코딩을 위한 콘텐츠 적응적 배경-전경 분할 기법 - Google Patents

비디오 코딩을 위한 콘텐츠 적응적 배경-전경 분할 기법 Download PDF

Info

Publication number
KR20160134768A
KR20160134768A KR1020167028636A KR20167028636A KR20160134768A KR 20160134768 A KR20160134768 A KR 20160134768A KR 1020167028636 A KR1020167028636 A KR 1020167028636A KR 20167028636 A KR20167028636 A KR 20167028636A KR 20160134768 A KR20160134768 A KR 20160134768A
Authority
KR
South Korea
Prior art keywords
background
foreground
split
mask
frame
Prior art date
Application number
KR1020167028636A
Other languages
English (en)
Other versions
KR101894649B1 (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 KR20160134768A publication Critical patent/KR20160134768A/ko
Application granted granted Critical
Publication of KR101894649B1 publication Critical patent/KR101894649B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • G06T7/0081
    • G06T7/0097
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/174Segmentation; Edge detection involving the use of two or more images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/194Segmentation; Edge detection involving foreground-background segmentation
    • G06T7/2066
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/254Analysis of motion involving subtraction of images
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/182Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a pixel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/20Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/20Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding
    • H04N19/23Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding with coding of regions that are present throughout a whole video segment, e.g. sprites, background or mosaic
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20036Morphological image processing
    • G06T2207/20144
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20212Image combination
    • G06T2207/20224Image subtraction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30196Human being; Person
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/167Position within a video image, e.g. region of interest [ROI]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Image Analysis (AREA)

Abstract

배경-전경 분할 시스템은 컴퓨터-구현 시스템일 수 있으며, 분할 마스크 또는 맵을 배경-전경 분할 시스템로부터 수신하는 비디오 인코더 또는 비디오 객체 인코더와 별도로 고려될 수 있다. 다른 대안들에서, 배경-전경 분할 시스템은 비디오 인코더 또는 비디오 객체 인코더의 일부로 간주되거나 비디오 인코더 또는 비디오 객체 인코더를 가질 수 있으며/있고 상기 시스템은 코더용 제어기이거나 이 제어기를 가질 수 있다.

Description

비디오 코딩을 위한 콘텐츠 적응적 배경-전경 분할 기법{CONTENT ADAPTIVE BACKGROUND-FOREGROUND SEGMENTATION FOR VIDEO CODING}
양호한 품질 비디오 이미지들을 제공하고, 개선된, 차세대 비디오 코덱 애플리케이션들을 제공하기 위해, 비디오 코덱의 일부 바람직한 속성들은 (1) 한정된 비디오 코딩 비트레이트 또는 대역폭이 주어진 경우에 이미지 내의 중요한 영역들의 감지 비디오 품질을 최대화시키는 능력, 및 (2) 이미지 내의 객체들이 검출되는 객체-기반 비디오 코덱이 코덱 정밀도를 적절히 조절할 수 있는 능력을 포함한다. 제 1 속성은, 정상적인 비디오 코딩(이는 영역 분할-기반 코딩을 사용하지 않는 코딩을 의미함)에 의해 그리고 비디오 코딩 표준들, 예를 들어, H.264, 스케일가능한 비디오 코딩(SVC), 고효율 비디오 코딩(HEVC), 또는 스케일가능한 HEVC(SHVC)에 의해 또는 비-표준 대안 비디오 코덱들, 예를 들어, 말하자면, VP8 및 VP9에 의해 적어도 어느 정도 처리될 수 있다. 그러나, 이러한 표준들을 사용하여 최상의 결과들을 얻기 위해, 중요한 영역들(영역 분할)을 알 필요가 있다. 또한, 원칙적으로, 예를 들어, 객체들의 명시적 코딩을 지원하는 MPEG-4와 같은 표준은 제 2 속성을 달성하는데 필요하다. 그러나, MPEG-4, H.264 또는 HEVC와 같은 표준들은 오직 비트스트림 신택스 및 디코딩 시멘틱스들만을 기술하고, 인코더의 세부사항들을 느슨하게 지시하며, 분할의 정밀도를 너무 작게 한다. 진보된 애플리케이션들을 실시하는데 바람직하지만, 비디오의 추가 분할은 계산적으로 복잡하고 매우 컨텍스트 의존적일 수 있다. 이는 상기 표준들이 비디오의 분할을 커버(cover)하지 않기 때문에 더 복잡하다.
한정된 대역폭 비디오 코딩 시에, 인간 지각적 및/또는 시각적 요건들에 적응되는 양자화가 사용되어 사용자들에 의해 감지되는 개선된 비디오 품질을 달성할 수 있다. 구체적으로, 비디오 인코딩 시에, 루마 및 크로마 픽셀 값들이 주파수 계수들, 예를 들어, 개별 코사인 변환 계수들로 변환되고, 이는 이어서 인간의 눈에서 감지가능한 정도를 넘는 계수들에서의 불필요한 정밀도를 줄이기 위해 특정 값들로 양자화되거나 근사화된다. 예를 들어, 인간의 눈은 밝기보다 컬러에 덜 민감하며, 인간의 눈은 밝기 및 컬러에서의 차의 특정 레벨만을 감지할 수 있다. 이로써, 감지 이미지 품질을 높이기 위해, 예를 들어 다음과 같은 몇몇 프로세스들이 이용될 수 있지만, 다음으로 한정되지 않는다: (1) 시각적으로 인식가능한 아티팩트(artifact)를 부가하지 않고 보다 많은 잡음이 부가될 수 있는 강하게 텍스처링된 구역들을 식별하는 것, (2) 어느 정도 높은 양자화 아티팩트가 숨겨질 수 있는, 매우 높거나 매우 낮은 밝기 영역들을 식별하는 것, (3) 보다 많은 양자화 잡음이 매우 가시적이지 않으면서 도입될 수 있는 장면 컷들(cuts) 바로 이전 또는 바로 이후의 프레임들을 식별하는 것, 및 (4) ROI 구역들, 예를 들어, 전경은 보다 정밀한 양자화 및 보다 양호한 품질로 코딩되고, 다른 구역들, 예를 들어, 배경은 상대적으로 낮은 품질로 코딩되도록, 가장 관심이 가는 비디오 내의 인간의 안면 및 다른 객체들과 같은 집중 영역들(관심 영역(ROI))을 식별하는 것.
가장 나중의 기법은 특정 애플리케이션들, 예를 들어, 화상 회의, 비디오 채팅, 및 배경 상에 전경 오버레이를 사용하는 애플리케이션들을 포함하는 다른 애플리케이션들에서는 특히 적합하다. 이러한 실례들의 경우에, 통상적으로 정적이거나, 또는 적어도 보다 정적인 배경(BG)을 전경(FG) 내의 통상적으로 움직이는 인간의 머리 및 어깨, 또는 다른 오버레이 객체들로부터 분할하는 것은 코딩을 개선하기 위해 전경 상에 정밀한 코딩을 집중시키는데 사용된다. 배경으로부터 전경을 분할하기 위한 수많은 일반적 기술들이 가용하지만, 대부분의 기술들은 컴퓨팅 집약적이거나, 전경으로부터 배경을 분할하는 것을 불량하게 수행하거나 이 모두이다. 보다 양호한 품질 실제적 분할을 사용하여, 가용한 한정된 코딩 대역폭이 ROI로 보다 양호하게 집중되어, 예를 들어, 장면 내의 인간 또는 다른 전경 객체들을 개선하고, 이로써 이미지 품질에서의 인지된 전반적인 개선을 제공할 수 있다.
본 명세서에서 기술된 내용은 첨부 도면들에서 예시적으로 그리고 비한정적으로 예시된다. 예시의 단순성 및 명료성을 위해, 도면에서 예시된 요소들은 반드시 실제 크기대로 된 것은 아니다. 예를 들어, 일부 요소들의 치수들은 명료성을 위해 다른 요소들에 비해 강조될 수 있다. 또한, 적절하다고 고려되는 한, 참조 부호들은 도면들에서 반복되어 대응하는 또는 유사한 요소들을 나타낸다.
도 1은 배경-전경 분할(background-foreground segmentation)을 위한 비디오 코딩 시스템의 예시도이다.
도 2는 배경-전경 분할을 위한 프로세스를 도시하는 흐름도이다.
도 3은 배경-전경 분할을 위한 프로세스의 배경 모델 학습 국면을 도시하는 흐름도이다.
도 4는 배경-전경 분할 프로세스의 임계치 방식을 위한 피크들 및 밸리들을 도시하는 차트이다.
도 5 내지 도 8은 배경-전경 분할 프로세스의 배경 모델 학습 국면에서의 동작들을 예시하는 이미지들을 도시한다.
도 9는 배경-전경 분할을 위한 프로세스의 분할 루프 국면을 도시하는 흐름도이다.
도 10은 언커버링된 현 배경 구역들로 배경-전경 분할을 업데이트하기 위한 프로세스를 도시하는 흐름도이다.
도 11 내지 도 12는 배경-전경 분할 프로세스의 분할 루프 국면의 ROI 마킹(marking) 동작들을 예시하는 이미지들을 도시한다.
도 13 내지 도 16은 배경-전경 분할 프로세스의 분할 루프 국면에서의 공간적 시간적 큐(cue) 동작들을 예시하는 이미지들을 도시한다.
도 17은 본 명세서에서의 배경-전경 분할 프로세스를 사용하는 배경-전경 분할을 도시하는 최종 이미지이다.
도 18 내지 도 21은 배경-전경 분할 프로세스의 분할 루프 국면에서의 다양한 동작들을 예시하는 이미지들을 도시한다.
도 22a 내지 도 22b는 배경-전경 분할 프로세스의 배경 모델 학습 국면의 상세한 흐름도이다.
도 23은 배경-전경 분할 프로세스의 분할 루프 국면의 상세한 흐름도이다.
도 24a는 배경-전경 분할 프로세스의 배경 모델 학습 국면의 학습 레이트 컴퓨팅 동작에서 사용되는 결정 트리의 표 1이다.
도 24b는 프레임의 복잡도를 도시하며 표 1을 형성하는데 사용되는 차트이다.
도 25는 ROI-특정 파라미터들에 대한 비디오 해상도에 기초한 분할 설정사항들의 표 2이다.
도 26은 분할 마스크 클리닝(segmentation mask cleaning)을 위한 설정사항들의 표 3이다.
도 27은 배경-전경 분할 프로세스를 제공하기 위한 동작에서 예시적인 시스템의 예시도이다.
도 28은 예시적인 시스템의 예시도이다.
도 29는 다른 예시적인 시스템의 예시도이다.
도 30은 모두가 본 발명의 적어도 일부 구현예들에 따라서 구성된 다른 예시적인 디바이스를 예시한다.
도 31은 본 명세서에서의 구현예들의 적어도 일부에 따른, 비디오 코덱 시스템의 예시도이다.
도 32는 본 명세서에서의 구현예들의 적어도 일부에 따른, 다른 비디오 코덱 시스템의 예시도이다.
하나 이상의 구현예들이 이제 첨부 도면들을 참조하여 기술된다. 특정 구성들 및 배열들이 논의되지만, 이는 단지 예시적인 목적을 위해 이루어진다는 것이 이해되어야 한다. 본 기술 분야의 당업자는 다른 구성들 및 배열들이 본 설명의 범위 및 사상을 벗어나지 않으면서 사용될 수 있다는 것을 인식할 것이다. 본 명세서에서 기술된 기술들 및/또는 구성들은 또한 본 명세서에서 기술된 것이 아닌 다른 다양한 시스템들 및 애플리케이션들에서 사용될 수도 있다는 것이 본 기술 분야의 당업자에게 명백할 것이다.
다음의 상세한 설명은 예를 들어, 시스템-온-칩(SoC) 아키텍처들과 같은 아키텍처들에서 나타날 수 있는 다양한 구현예들을 제시하지만, 본 명세서에서 기술된 기술들 및/또는 구성들의 구현예는 특정 아키텍처들 및/또는 컴퓨팅 시스템들로 제한되지 않고, 유사한 목적들을 위해 임의의 아키텍처 및/또는 컴퓨팅 시스템에 의해 구현될 수 있다. 예를 들어, 다수의 집적 회로(IC) 칩들 및/또는 패키지들, 및/또는 다양한 컴퓨팅 디바이스들 및/또는 소비자 전자(CE) 디바이스들, 예를 들어, 셋톱 박스들, 스마트폰, 등을 사용하는 다양한 아키텍처들이 본 명세서에서 기술된 기술들 및/또는 구성들을 구현할 수 있다. 또한, 다음의 상세한 설명은 수많은 특정 세부사항들, 예를 들어, 로직 구현예들, 타입들 및 시스템 구성요소들의 관계, 로직 파티셔닝/통합 선택사항들, 등을 제시하지만, 청구된 청구 대상은 이러한 특정 세부사항들 없이도 실시될 수 있다. 다른 사례들에서, 일부 내용, 예를 들어, 제어 구조들 및 전체 소프트웨어 인스트럭션 시퀀스들은 본 명세서에서 논의된 내용을 모호하게 하지 않도록 세밀하게 도시되지 않을 수 있다.
본 명세서에서 논의되는 내용들은 하드웨어, 펌웨어, 소프트웨어, 또는 이들의 임의의 조합으로 구현될 수 있다. 본 명세서에서 논의되는 내용들은 또한 머신-판독가능한 매체 상에 저장된 인스트럭션들로서 구현될 수 있으며, 이 인스트럭션들은 하나 이상의 프로세서들에 의해 판독 및 실행될 수 있다. 머신-판독가능한 매체는 머신(예를 들어, 컴퓨팅 디바이스)에 의해 판독가능한 형태로 정보를 저장 또는 전송할 수 있는 임의의 매체 및/또는 메카니즘를 포함할 수 있다. 예를 들어, 머신-판독가능한 매체는 판독 전용 메모리(ROM); 랜덤 액세스 메모리(RAM); 자기 디스크 저장 매체; 광학 저장 매체; 플래시 메모리 디바이스들; 전기, 광학, 음향 또는 다른 형태들의 전파 신호들(예를 들어, 반송파들, 적외선 신호들, 디지털 신호들, 등), 및 기타를 포함할 수 있다. 다른 형태에서, 비일시적 제품, 예를 들어, 비일시적 컴퓨터 판독가능한 매체가 일시적 신호 자체를 포함하지 않는 것을 제외하면, 상술한 실례들 또는 다른 실례들 중 임의의 것과 함께 사용될 수 있다. 이는 데이터를 임시적으로 "일시적" 방식으로 유지할 수 있는 신호 자체가 아닌 이러한 요소들, 예를 들어, RAM 등을 포함한다.
"일 구현예", "구현예", "예시적인 구현예", 등이 명세서에서 참조되면, 이는 기술된 구현예가 특정 특징, 구조, 또는 특성을 포함할 수 있지만, 모든 구현예가 반드시 이러한 특정 특징, 구조, 또는 특성을 포함해야하는 것은 아님을 나타낸다. 또한, 이러한 구절들은 반드시 동일한 구현예를 말하는 것도 아니다. 또한, 특정 특징, 구조, 또는 특성이 구현예와 관련하여 기술될 때에, 본 명세서에서 명시적으로 기술되는지와 상관없이, 이러한 특징, 구조, 또는 특성을 다른 구현예들과 관련하여 실시하는 것은 본 기술 분야의 지식 내에 있음이 이해되어야 한다.
비디오 코딩을 위한 콘텐츠 적응적 배경-전경 분할을 위한 시스템들, 제품들, 및 방법들이 이하에서 기술된다.
상술한 바와 같이, 이미지 감지 품질을 개선하기 위한 한가지 방법은 해당 이미지의 어느 부분들이 배경(BG) 내에 있고 해당 이미지의 어느 부분이 전경(FG) 내에서 있는지를 파악하여 보다 세밀하게 전경을 코딩하기 위해 보다 큰 대역폭을 제공하도록 배경은 보다 덜 세밀하게 코딩하는 것이다. 이러한 방식은 때로 화상 회의에서와 같이 배경이 정적이고 하나 이상의 사람의 머리와 어깨가 전경이 되는 장면들에서 제공된다. 화상 회의 이외에도, 보다 효율적인 배경-전경 분할은 관심 영역(ROI) 코딩, 감시, 유연성이 있는 멀티미디어 구성 등과 같은 다른 용도들에서도 유익하다. 일부 경우들에서, 수정된 교번 교체 배경 장면들 또는 배경들 상에 전경을 중첩시키는 것이 바람직할 수 있다. 다른 경우들에서, 해당 장면에서의 참여자들 또는 객체들에 대한 인물정보 또는 통계사항들과 같은 정보가 해당 장면에서 오버레이(overlay)로서 제공될 수 있다. 이러한 요건은 반드시 화상 회의 장면들로만 한정되지 않고, 수많은 상이한 타입들의 장면들에 적용될 수 있다. 이러한 장면들은 배경으로부터 개별적으로 전경을 조작하고 이미지의 어느 부분이 객체들에 의해 커버(cover)되거나 커버되지 않는지를 결정하기 위해 전경으로부터의 배경 분할을 요구할 수 있다.
일례로서, 화상 회의의 맥락에서, 배경은 대역폭을 절감하기 위해 다수의 장면들에서 사용되게 오직 한번 디코더에 전송될 수 있다. 마찬가지로, 교번 배경 이미지 또는 비디오는 개별적으로 제공되거나, 배경이 상이한 최초의 배경을 가졌던 전경과 함께 사용되기 위해 다른 방법들에 의해 생성될 수 있다. 이러한 모든 경우들에서, 오직 코딩된 전경 객체들만이 새로운 이미지를 위해 디코더에 전송될 수 있다. 전경 객체들의 형상에 대한 데이터를 전송하기 위한 대역폭은 낮게 유지되며 배경 텍스처 정보에 대한 코드가 새로운 이미지에 대해 생략되거나 실질적으로 줄어들면, 보다 많은 대역폭이 가용하여 세밀한 전경 텍스처 정보를 디코더에 전송할 수 있으며, 이는 보다 높은 감지 이미지 품질을 낳을 수 있다.
이로써, 비디오 분할 알고리즘의 하나의 기본적 목적은 프레임 픽셀들(또는 블록들)을 전경 또는 배경으로서 분류하는 것이다. 배경 모델링-기반 분할 시에, 배경이 예를 들어, 진행 중인 장면을 형성하는, 다수의 이전의 분석된 프레임들에 대해 모델링 및 추정되고, 이어서, 현 프레임(본 명세서에서, 용어, 프레임, 화상, 및 이미지는 상호교환가능하게 사용됨)으로부터 감산된다. 예를 들어, 이는 예를 들어, 평균/미디안 값들, 확률 함수 곡선들을 사용하는, 히스토그래밍과 같은 몇몇 방식들 중 하나를 사용함으로써, 그리고, 프레임들 간에서 또는 다수의 프레임들에 걸쳐서 픽셀 값(예를 들어, 루마 및 크로마 값들)에서의 차들에 대한 임계치들을 형성함으로써 수행될 수 있다. 이는 전경 이동 객체들은 프레임들 간에서 픽셀 값들에서의 큰 차들을 유발할 것이지만, 배경은 프레임들 간에서 픽셀 값들에서의 작은 차들을 유지할 것으로 예상된다는 사상에 기초한다. 이러한 타입의 방식은 예를 들어, 화상 회의 및 유사한 용도들에서와 같이, 상대적으로 정적인 카메라를 사용하는 장면들에서 적합하다.
2개의 알려진 배경 모델링 분할 알고리즘들은 MoG(Mixture of Gaussians) 방식, 및 FPDF(Filtered Probabilistic Distribution Function) 방식을 포함한다. MoG 방식은 배경 픽셀들의 값들에 대한 모델로서 다수의 진화하는 Gaussian 분포들을 사용한다. MoG 방식은 K개의 Gaussian 분포들의 혼합으로서, 각 픽셀, {XI,..., Xt}의 최근 이력을 모델링하는 것을 포함한다. 모든 새로운 픽셀 X는 매칭이 발견될 때까지(즉, X 값이 해당 분포의 표준 편차 임계치 내에 있을 때까지) 기존의 K개의 Gaussian 분포들에 대해 체크된다. 매칭이 발견되지 않으면, 최소 확률의 분포가 평균으로서의 X를 갖고 초기의 높은 편차를 갖는 새로운 분포로 대체된다. 이러한 방식은 수많은 옥내 및 옥외 시퀀스들에 대한 양호한 전경 객체 분할 결과들을 제공한다. 그러나, 주기적 배경 이동을 갖는 시퀀스들에서 MoG 방식의 성능은 불량하다. MoG 방식이 추정하고자 시도하는 PDF들(probability distribution Functions)의 형상은 사전결정된 개수의 Gaussian 곡선들로 근사화될 수 있는 임의의 형상일 수 있다. 실제로, 무한 개수의 Gaussian 곡선들로, 임의의 곡선을 근사화할 수 있다. 그러나, 컴퓨팅상의 복잡성으로 인해서, MoG 방식은 통상적으로 한정된 개수의 3개 내지 5개의 Gaussian 분포들을 모델링을 위해 사용한다. 이는 부정확한 PDF들 근사화를 낳으며, 복합한 시퀀스들에서 불량한 성능에 대한 수많은 이유들 중 하나이다.
이러한 시퀀스들을 보다 양호하게 다루기 위해, FPDF 분할 방식은 필터링 및 확률적 방식들의 혼합이다. FPDF 방식에서, 초기 분할은 필터-기반이며, 모델은 배경의 모델로서 기준 배경 이미지를 유지한다. 이는 저역 IIR(Infinite Impulse response) 필터가 프레임들의 시퀀스에 적용되는 것과 같은 방식들에서 의해 수행될 수 있다. 하나의 FPDF 방식은 복잡한 장면들에서 전경 객체들 및 배경 객체들의 이동들 간을 구별하지 못하는 통상적인 필터-기반 방식들의 무능을 다룬다. FPDF 방식에서, 모델은 초기 분할 시에 픽셀 값들의 PDF들을 검출한다. FPDF 모델은 진정한 전경 픽셀들 및 초기 분할 시에서의 오차들 간을 구별할 수 있다. 예를 들어, 이는 시간이 지나면 업데이트되는 PDF들, 및 단일 픽셀에서 가장 빈번하게 관찰되는 픽셀 값들은 배경이 될 가능성이 높다는 가정하에서 작성된 Bayes의 규칙 기반 결정 프레임워크를 사용하여 달성될 수 있다.
이러한 2개의 방식들은 수많은 감시 타입들의 시퀀스들에서 매우 양호하거나 적합한 분할 결과들을 가질 수 있지만, 이러한 방식들은 모델이 확립되기 이전에 처음의 수백 개의 프레임들의 시퀀스에 대해는 매우 빈약한 성능을 갖는다. 또한, 테스트 동안에, 비디오-회의 영역으로부터의 수많은 시퀀스들은 매우 부정확한 결과들을 낳았다. 또한, 이러한 방식들 모두는 고 해상도 비디오(예를 들어, 1080p 또는 그 이상)에 적용되는 경우에는 매우 느리다. 통상적인 개인용 컴퓨터(PC) 구현은 CIF(common intermediate format) 해상도에 대해 초당 수 프레임들을 낳지만, 이는 통상적인 최신의 비디오 애플리케이션 요건들을 만족하지 않는다.
이러한 단점들을 다루기 위해, 최신의 화상 회의 타입들의 용도들에 대해 보다 신속한 학습률을 제공하고자 하는 공지된 제안된 MSB(다중-스테이지 배경) 모델링 분할 방식을 사용하여 실험들이 수행되었다(A. Parolin, G.P. Fickel, C.R. Jung, T. Malzbender, and R. Samadani, "Bilayer segmenation for videoconferencing applications" in Proc. of IEEE ICME 2011 참조). 이러한 MSB 방식에서, 안면 추적 알고리즘과 같은 객체 검출이 사용되어 머리 및 어깨의 일반적 Ω-형상의 템플릿을 가이드한다. 이어서, 관심 영역(ROI)이 이 일반적 Ω-형상의 템플릿 주변에서 생성되고, 에지, 컬러 및 모션 큐들에 기초한 에너지 함수가 사용되어 인물과 배경 간의 경계를 정의한다. MSB 방식에서 배경 모델링은 추적 스테이지의 성분으로서 사용된다. MSB 방식은 안면 검출 및 추적 알고리즘에 의지하여 화상 회의에서의 참여자들을 결정한다. 안면이 해당 프레임 내에서 검출되면, 안면의 크기 및 위치가 사용되어 머리 및 어깨 영역을 나타내는 일반적 Ω-형상의 템플릿을 정의한다. 템플릿이 재-스케일링되고 프레임으로 중첩되어, ROI를 구획한다. 소정의 템플릿-기반 ROI가 주어지면, 객체의 실루엣은 객체 경계 상에 크고 그렇지 않으면 작은 특정 에너지 함수를 최대화시키는 ROI 내의 곡선이다. MSB 방식에서, 객체 경계를 찾는 과제는 그래프 내에서의 최대 비용 경로로서 작성되며, Dijkstra의 알고리즘은 객체 경계를 추정하기 위해 해당 경로를 찾도록 제안된다. 이러한 프로세스에서 하나의 중요한 부분은 최단 경로를 가이드하는 에너지 맵이다. MSB 방식은 에너지 함수에 대한 모든 3개의 큐들: 에지들, 컬러 및 모션에 의존한다. 에지 큐 정보는 Sobel 연산자를 사용하여 추출되며, 모션 큐는 10/255로 설정된 임계치와 차별되는 연속하는 프레임에 의존하며, 컬러 큐는 컬러 스패시오그램(spatiogram)(이는 부가된 공간 정보를 갖는 히스토그램임)에 의존한다. 최종 에너지 맵은 이러한 3개의 큐들의 가중화된 합으로서 결정되며, 가중치들은 에지 큐에 대해는 0.1로, 모션 큐에 대해는 0.7로, 컬러 큐에 대해는 0.2로 실험적으로 결정된다. 상기 기법의 품질 및/또는 성능을 결정할 시의 핵심 사항은 상기 기법에 의해 사용된 바와 동일한 안면 검출 시스템을 갖는 것에 있다. 일반화된 분할과 유사하게, 안면 검출은 컨텍스트에 의존하는 결과들로 인해서 컴퓨팅적으로 복잡할 수 있다.
MSB 방식을 사용하는 실험들에서, 다음과 같은 단점들이 관찰되었다: (1) MSB 방식이 머리 및 어깨 타입들의 장면들로 너무 집중되어 다른 타입들의 장면들에 적용되는 때에는 그 성능이 불량하며, (2) MSB 방식에 의해 사용되는 추적 알고리즘은 고가이며, 분할 프로세스의 속도를 저하시키며, 이로써 MSB 방식은 낮은 해상도의 시퀀스들에만 적용가능하며, (3) 객체 주변의 추적 영역들 내의 추정된 경계를 파악하는데 사용되는 에너지 맵은 보다 일반적인 경우들에 있어서 너무 단순하게 보이며 대화 중인 머리/머리 및 어깨 시퀀스들의 테스트 세트에 적용되는 때에는 가시적인 분할 오차를 낳는다.
이러한 공지된 방식들의 전술한 단점들은 프로세스의 복잡성을 줄이면서 고 품질의 이미지들을 제공하는 본 배경-전경 분할 프로세스에 의해 극복된다. 본 배경-전경 분할 프로세스는 초기의 정확한 배경 모델을 신속하게 학습하기 위한 일 국면을 포함하는 적어도 2개의 국면들을 사용하는 다중-국면 방법이다. 이어서, 분할 루프 국면에서, 배경 감산 기법 및 이후의 형태학적 연산자가 수행된다. 가시적 추정 오차를 낳을 수 있는 영역 경계를 직접적으로 분별하기 위해 ROI 및 다른 큐들을 사용하는 대신에, 본 분할 프로세스는 마킹된 ROI 내의 다수의 큐들(예를 들어, 캐니(Canny) 에지 큐들, 구배 큐들, 및 모션-기반 큐들)을 사용함으로써 전경 픽셀들로부터 커버되지 않은 배경을 재분류하기 위해 후-프로세서로서 단지 ROI-기반 타입의 분석을 수행한다. 이러한 기법은 (1) 대략적인 ROI 추정치를 결정하기 위해 안면 추적자들을 사용할 필요를 제거 또는 감소시키고, 이어서 (2) 영역 경계의 실제 추정치들을 결정하기 위해 매우 단순한 큐들에 의존할 필요를 제거 또는 감소시킨다. 이어서, 컴퓨팅된 배경이 사용되어 배경 모델을 업데이트하고, 해당 프로세스는 다음 프레임로 진행한다.
도 1 및 도 31 및 도 32를 참조하면, 비디오 시퀀스의 코딩을 위한 비디오 코딩 시스템(150 또는 160)은 각각 배경-전경 분할을 수행하기 위한 배경-전경 분할 시스템(또는 모듈 또는 유닛)(100)을 가질 수 있다. 배경-전경 분할 시스템(100)은 컴퓨터-구현 시스템일 수 있으며 인코더(152 또는 162)로부터 개별적으로 간주될 수 있으며, 이 인코더는 분할 마스크 또는 맵을 배경-전경 분할 시스템(100)으로부터 수신한다. 다른 대안들에서, 배경-전경 분할 시스템(100)은 인코더(152 또는 162)의 일부로 간주되거나 인코더(152 또는 162)를 가질 수 있고/있거나, 배경-전경 분할 시스템(100)은 또는 코더를 위한 제어기를 가질 수 있다. 분할 시스템(100)이 비디오 시퀀스 내의 이미지들(또는 프레임들)의 픽셀 데이터를 수신한다면 수많은 변형사항들이 가능하다. 이로써, 제공된 최초의 비디오는 YUV, YCbCr, 등을 포함하는 다수의 상이한 비디오 코딩 프로토콜들 내에 루마 값들 및/또는 크로마 값들을 포함할 수 있으며, 배경 및 전경 부분들을 갖는 이미지들을 포함하는 한 특별히 제한되지 않는다. 분할 시스템(100)에 의해 생성된 전경/배경 분할은 수많은 상이한 코딩 표준들, 예를 들어, MPEG, H.264, 및 HEVC 및 비-표준 대안 비디오 코덱들, 예를 들어, VP8 및 VP9와 호환가능하며, 이러한 예들은 몇 개의 비한정적 실례들을 말한 것이며 이하에서 언급될 바들이다.
이로써, 분할 시스템(100)은 어느 픽셀들이 배경 내에 있고, 어느 픽셀들이 전경 내에 있는지를 식별하는 식별사항의 형태로, 결과들을 제공할 수 있다. 이러한 식별사항은 때로 (예를 들어, 단일 전경에 대해) 분할 마스크로서 또는 (다수의 전경 객체들에 대해) 분할 맵으로서 지칭된다. 또한, 일 형태로, 분할 마스크 또는 맵 이외에, 이는 또한 분할된 프레임들을 출력할 수 있다. 일 예에 의하면, 이는 예를 들어, 프레임들이 코딩 블록들로 분할되고 코더 내의 변환 및 양자화 유닛으로 제공되기 이전에 비디오 코딩의 사전-프로세싱 스테이지 동안에 수행될 수 있다. 이어서, 배경이 덜 세밀하게 코딩될 수 있으며, 전경(관심 영역/ROI)은 보다 세밀하게 코딩될 수 있다.
도 31을 참조하면, 비디오 코딩 시스템(150)은 배경-전경 분할 시스템(100)으로서 전경 ROI/ 배경 분할기(100a)를 갖는다. 이러한 형태에서, 전경 ROI/배경 분할기(100a)는 하나 이상의 장면들을 형성하는 프레임들 또는 이미지들의 비디오 시퀀스를 수신하고, 이어서, 배경(BG)을 전경 관심 영역(FG(ROI))으로부터 분리한다. 이는 분할 마스크를 형성하는데, 이 마스크는 해당 이미지 내의 어느 픽셀들이 배경 내에 있고 어느 것이 전경 내에 있는지를 나타낸다. 이는 코딩 비디오 시퀀스 동안에 그리고 이미지 또는 장면 상의 객체 검출을 사용하지 않고 수행된다. 일 형태에 의해, 분할 마스크는 이진 마스크일 수 있으며, 이 이진 마스크는 예를 들어, 배경을 나타내는 0 및 전경을 나타내는 1을 가질 수 있다. 분할 마스크는 비디오 인코더(152)에 제공되어 이 인코더가 비디오 데이터를 인코딩하여 비트스트림(154)을 통해서 비디오 디코더(156)로 전송하게 한다. 이어서, 비디오 디코더(156)는 코딩 데이터를 디코딩하여 디스플레이(158) 상에 표시되게 한다.
비디오 인코더는 분할 마스크를 사용하여 예를 들어, qp와 같은 양자화 파라미터들을 조절하여 비디오 시퀀스를 코딩하며, 이는 변환 계수 정밀도에 영향을 준다. 상술한 바와 같이, 배경 픽셀들은 덜 정밀하게 제공되며, 전경 픽셀들은 보다 정밀하게 제공될 수 있다. 이는 블록 단위로 수행되거나(블록 내의 모든 픽셀들이 동일한 값을 수신함) 또는 픽셀 단위로 수행된다(동일한 블록 내의 개별 픽셀들이 상이한 분할 값들을 수신함). 비디오 인코더(154)는 파티션들(또는 이들의 맵들), 모드(예를 들어, 인트라-코딩 또는 인터-코딩), 모션 데이터(예를 들어, 모션 벡터들(mv) 및/또는 기준 프레임 정보(ref)), 및 텍스처 데이터, 예를 들어, qp 및 tcoef를 전송한다. 분할 마스크 자체는 디코더에 전송될 필요가 없는데, 그 이유는 분할 마스크가 분할 마스크에 의존하여 qp 값들을 조절함으로써 이미 고려되었기 때문이다. 이어서, 비디오 디코더(156)는 비디오 데이터를 분할 마스크 정보 데이터 필요 없이 디코딩한다.
도 32를 참조하면, 대안적으로, 비디오 코딩 시스템(160)은 전경 객체들/ 배경 객체들 분할기(100b)를 배경-전경 분할 시스템(100)으로서 갖는다. 비디오 코딩 시스템(150)에서와 같이, 전경 객체들(FGO)/배경 객체들(BGO) 분할기(100b)는 비디오 데이터를 수신하고, 분할 데이터를 인코더(162)에 제공한다. 그러나, 이 경우에, 전경 객체들/배경 객체들 분할기(100b)는 객체 검출, 예를 들어, 안면 검출을 사용하여, 다수의 개별 전경들을 형성하거나, 단일 전경으로서 그리고 단일 대형 배경에 대해 집합적으로 간주되도록 하나 이상의 객체들을 정의한다. 이 경우에, 배경 및 개별 전경 객체들 각각을 표시하는, 예를 들어, 배경에 대해는 0을, 일 객체에 대해는 1을, 다른 객체에 대해는 2를 표시하는 등으로 하는 분할 맵이 형성된다. 분할 맵은 픽셀 기반이거나, 예를 들어, 8×8 블록보다 정확한 다른 기반을 가질 수 있는데, 예를 들어, 4-픽셀 정확도를 가질 수 있으며, 이로써 감지가능한 "블록 보임" 또는 "재깅(jagged)" 이미지를 피할 수 있다.
분할 맵이 비디오 객체들 인코더(162)에 제공될 수 있으며, 이어서 이 인코더는 각 객체를 분할 맵에 따라서 qp를 수정함으로써 다른 객체들과는 독립적으로 코딩한다. 인코더(162)는 또한 이미지 내의 개별 검출된 객체들의 형상의 크기 및 위치를 조절하는 형상 데이터(코드맵들)를 형성하여 이 데이터를 비트스트림(164)을 통해서, 비디오 코딩 시스템(150)에 대해 기술된 바와 같은 파티션, 모드, 모션, 및 텍스처 데이터와 함께 전송한다. 이어서, 비디오 객체들 디코더(166)는 이 데이터에 대해 디코딩을 수행하여 배경 및 전경 객체들을 재구성하고 이어서 컴포지터(167)가 객체들을 일례로서 형상 데이터를 사용하여 이미지 내에 배치한다. 이어서, 이미지가 디스플레이(168) 상에 표시될 수 있다. 이러한 구성은 해당 이미지 내의 다른 객체들에 영향을 주지 않으면서 개별 객체들을 수정함으로써 이미지를 편집하는데 있어서 실질적인 유연성을 제공한다. 이로써, 하나의 객체는 다른 객체들, 등에 비해 크게 될 수 있다. 이러한 시스템은 예를 들어, MPEG 4와 같은, 이러한 객체 기반 코딩과 호환가능한 표준을 사용한다.
도 1을 보다 세부적으로 참조하면, 분할 시스템(100)은 적어도 2개의 국면들에서 분할 알고리즘을 실행하기 위한 적어도 2개의 분할 유닛들(102 및 104)을 갖는다. 이는 배경 모델 학습 유닛(102)은 포함하며, 이 유닛은 초기 국면을 운영하여 배경 모델, 및, 이 경우에, 초기 배경 모델을 학습한다. 분할 루프 유닛(104)은 분할 프레임들을 생성하고 배경 모델을 업데이트하는 다른 국면(분할 루프 프로세스)을 운용한다.
배경 모델 학습 유닛(102)은 초기 배경 모델을 확립하고, 이 모델을 초기화하고, 이를 분할 루프 유닛(104)에 제공한다. 구체적으로, 배경 모델 학습 유닛(102)은 배경-전경 분할 분석을 위해 사용할 기준 프레임들을 확립하기 위한 학습 레이트 컴퓨팅(LRC) 유닛(106), 및 기본 프레임 내에서 픽셀 또는 블록 활성도를 표시하는 누적 분할 마스크들을 형성하기 위한 누적 초기 분할 컴퓨팅(CISC) 유닛(108)을 갖는다. 또한, 적응적 임계치 계산(ATC) 유닛(110)이 제공되어 분할 마스크들에 기초하여 배경 임계치를 설정하고, 배경 모델 초기화(BMI) 유닛(112)이 분할 마스크들에 기초하여 초기 배경 모델을 구성한다.
분할 루프 유닛(104)은 상술한 바와 같이 픽셀 데이터의 형태로 최초의 비디오를 수신하고, 적응적 분할 임계치 컴퓨팅(ASTC) 유닛(114)을 가지며, 이 유닛(114)은 배경 모델 학습 유닛(102)에 의해 초기화된 배경 모델(118)을 사용하여 배경 감산(BS)(116)을 위한 임계치들을 제공한다. 형태학적 개방 및 폐쇄(MOC) 유닛(120), 미지의 배경 언커버링(unknown background uncovering)(UBU)유닛(122), 및 분할 마스크 잡음 제거(SMNR) 유닛(124)이 사용되어 (배경으로의 가산 및/또는 배경으로부터의 감산을 함으로써) 모델을 수정하거나 이와 달리 데이터로부터 잡음을 제거한다. 이어서, 분할된 비디오(또는 프레임)의 형태로 된 수정된 모델이 코딩을 위해 제공되며, 배경 모델(118)을 업데이트하도록 배경 모델 업데이트(BMU) 유닛(126)에 제공된다. 이러한 루프는 이미지가 실질적으로 변하는 장면 또는 비디오 시퀀스의 끝부분까지 계속된다.
도 2를 참조하면, 흐름도는 본 발명의 적어도 일부 구현예들에 따라서 구성된, 예시적인 프로세스(200)를 예시한다. 일반적으로, 프로세스(200)는 상술한 바와 같은 학습 배경 모델을 포함하는, 비디오 코딩을 위한 배경-전경 분할을 위한 컴퓨터-구현 방법을 제공할 수 있다. 예시된 구현예에서, 프로세스(200)는 짝수로 표시된 동작들(202 내지 208) 중 하나 이상의 것에 의해 예시된 바와 같은 하나 이상의 동작들, 기능들 또는 액션들을 포함할 수 있다. 비한정적 예를 들자면, 프로세스(200)는 위의 도 1을 참조하여 논의된 동작들을 참조하여 본 명세서에서 기술될 것이며, 이하에서 논의되는 예시적인 시스템(100 또는 2800)을 참조하여 논의될 수 있다.
분할 프로세스(200)는 "기본 프레임 및 장면을 형성하는 비디오 시퀀스의 복수의 기준 프레임들 각각 간의 프레임 차 크기들을 누적하는 동작"(202)을 포함할 수 있다. 기본 프레임은 비디오 시퀀스 내의 장면들 또는 비디오 시퀀스의 시작 프레임 또는 제 1 프레임이지만, 언제나 제 1 프레임일 필요는 없다. 일 옵션에 의하면, 시작 프레임들 중 하나는 비디오 시퀀스 또는 비디오 시퀀스 내의 장면의 시작 부분을 지칭한다. 이와 달리, 기본 프레임은 실제로 사용 가능하다면 비디오 시퀀스 또는 비디오 시퀀스 내의 장면 내에 있을 수 있다.
분할 프로세스(200)는 또한 "픽셀 또는 픽셀들의 블록이 활성인지 비활성인지를 결정하기 위해 개별 차 크기들을 복수의 활성도 임계치들과 비교하는 동작"(204)을 포함할 수 있다. 이로써, 각 기준 프레임(또는 구체적으로, 픽셀 또는 픽셀들의 블록)은 기본 프레임과 함께 차를 가지며, 각 차는 다수의 복잡도 임계치들과 비교된다. 이러한 복잡도 임계치들의 선택은 이하에서 설명된다.
분할 프로세스(200)는 또한 "픽셀들 또는 픽셀들의 블록이 활성인 프레임 기준-활성도 임계치 조합들의 동일한 총 개수를 갖는 픽셀들 또는 픽셀들의 블록들의 양인 복수의 누적 분할 마스크들을 형성하는 동작"(206)을 포함할 수 있다. 이로써, 본 명세서에서 조합은 하나의 기준 프레임를 갖는 차와 해당 기준 프레임과 함께 사용된 복잡도 임계치들 중 하나이다. 일 예에 의하면, 5개의 기준 프레임들이 8개의 임계치들과 함게 사용되면, 40개의 조합들이 존재한다. 누적 분할 마스크는 조합들의 동일한 개수 내에서 활성 상태에 있는 블록들(또는 픽셀들)의 수의 카운트이다. 예를 들어, 16개의 조합들 내에서는 활성 상태에 있는 100개의 블록들이 존재하거나, 모든 40개의 조합들 내에서는 활성 상태에 있는 1000개의 블록들이 존재한다면, 이는 조합들의 수에 의해, 이러한 블록들이 전경 블록들임을 나타내며, 단지 하나 또는 둘의 조합들 내에서 활성 상태에 있는 1000개의 블록들이 존재한다면, 이는 이러한 블록들이 배경 블록들임을 나타낸다.
분할 프로세스(200)는 "누적 분할 마스크들을 사용함으로써 기본 프레임의 배경 또는 전경에 블록들 또는 픽셀들을 할당하는데 사용될 배경 임계치를 결정하는 동작"(208)을 또한 포함할 수 있다. 일 예에 의하면, 이하에서 설명될 바와 같이, 누적 분할 마스크는 활성상태 조합들의 수에 의해 배열되며, 배경 임계치는 조합에 대해 블록들의 최대 및 최소 개수를 분석함으로써 결정될 수 있다. 이는 히스토그램(4) 상의 피크들(peaks) 및 밸리들(valleys)에 의해 도식될 수 있다. 일 예에 의하면, 배경 임계치는 가장 깊은 밸리에 대응하는 값을 결정하도록 다수의(0 내지 40개의) 조합들을 평가함으로써 결정된다. 이는 차트 상의 작은 수의 활성상태 조합들에서의 픽셀들의 고농도(또는 피크)는 프레임들 간에서 활성상태와 비활성상태 간에서 크게 변하지 않는 배경의 구역을 나타내지만, 많은 수의 활성상태 조합들에서의 피크는 프레임들 간에서 활성상태와 비활성상태 간에서 크게 변하지 않는 전경을 나타낸다는 사상에 기초한다. 특정 개수의 활성상태 조합들에서의 최저 개수의 픽셀들을 갖는 피크들 간의 밸리는 활성상태 및 비활성상태 간에서의 큰 변화 구역을 나타내며, 이는 프레임의 배경-전경 구역들 간의 경계를 나타낸다. 이로써, 수많은 다른 대안들이 유사하게 고려되지만, 배경 임계치로서 최저 픽셀 총수를 선택하는 것과는 상이하다. 이는 밸리가 픽셀들의 특정 값에 있거나, 밸리를 협력하여 형성하는 픽셀(또는 블록) 총수들의 중심에 있는 것을 포함하거나, 또는 밸리 조합은 피크들 중 적어도 하나, 또는 각 피크, 등으로부터의 특정 거리(조합 수임)일 수 있다.
이제, 도 3을 참조하면, 흐름도는 본 발명의 적어도 일부 구현예들에 따라서 구성된 예시적인 프로세스(300)를 예시한다. 일반적으로, 프로세스(300)는 배경 모델을 학습하기 위한 국면을 포함하는 비디오 코딩을 위한 배경-전경 분할을 위한 컴퓨터-구현 방법을 제공할 수 있다. 예시된 구현예에서, 프로세스(300)는 짝수로 표시된 동작들(302 내지 320) 중 하나 이상의 것에 의해 예시된 바와 같은 하나 이상의 동작들, 기능들 또는 액션들을 포함할 수 있다. 비한정적인 예로 하자면, 프로세스(300)는 위의 도 1을 참조하여 기술된 동작들을 참조하여 본 명세서에서 기술될 것이며, 이하에서 논의되는 예시적인 시스템(2800)을 참조하여 논의될 수 있다.
배경 모델 학습 국면 또는 프로세스(300)는 장면의 시작에서 다수의 프레임 차들을 분석함으로써 배경의 초기 개념을 결정한다. 이로써, 배경 모델 학습 프로세스(300)는 "장면의 학습 레이트를 결정하는 동작"(302)을 포함할 수 있다. 이는 일 예에 의하면, LRC 유닛(106)에 의해 수행될 수 있으며, 먼저 적어도 저 레이트 및 고 레이트 간에서 학습 레이트를 자동적으로 선택하는 것을 포함할 수 있다. 다른 대안들에서, 매우 낮은 레이트, 낮은 레이트, 중간 레이트, 높은 레이트, 매우 높은 레이트와 같은 추가 분류사항들이 존재할 수도 있다는 것이 이해될 것이다. 이러한 선택은 장면의 공간적 및 시간적 복잡도에 기초한다.
학습 레이트는 대응하는 프레임 차들이 유효한 응답을 보이도록 장면의 복잡도에 의존하여 소정의 장면에 대해 적합한 프레임 거리들을 설정하는데 사용된다. 프레임 거리는 현 또는 기본 프레임 및 기준 프레임 간의 프레임들의 수 + 1로서 카운트된 시간 상의 거리이다; 이 거리는 또한 pdist(화상 거리)로서 지칭된다. 일 예에 의하면, 및 후속 프레임이 배경-전경 분할을 컴퓨팅하는데 있어서 기준으로서 사용될 수 있다. 학습 국면에서, 특정 개수의 기준 프레임들 각각이 시작 또는 기본 프레임과 비교될 수 있으며, 시작 프레임 및 각 기준 프레임 간의 차들은 배경의 초기 모델을 확립하는데 사용된다. 상이한 장면들에 대해, 프레임들의 기준 리스트 내의 프레임들, 및 사용된 실제 프레임들의 수, 거리 자체는 장면 자체의 특성들에 의존할 수 있다. 공간적 복잡도(SC)는 비디오 프레임의 평균 복잡도이며 프레임 내의 플랫(flat) 구역, 에지 구역, 및 텍스처 구역의 양 및 레벨에 기초하여 결정된다. 시간적 (또는 모션) 복잡도(TC)는 프레임들 간의 시간상 복잡도이다. 고 시간적 복잡도를 갖는 장면은 프레임들 간에서 복잡하고/불량하게 보상가능한 모션을 갖는 반면에, 저 시간적 복잡도를 갖는 장면은 프레임들 간에서 양호하게 보상가능한(때로 보상이 없거나 적은) 모션을 가질 수 있다. 저속 이동 장면들에서, 보다 큰 거리들이 성공적인 전경/배경 분리를 낳는 유효 모션-기반 응답들을 생성하도록 충분하게 큰 모션을 캡처하는데 필요하다. 이 경우에, 기준 프레임들은 시작 또는 기본 프레임으로부터 멀리 떨어지게 된다. 한편, 보다 고속 장면들의 경우에, 시작 또는 기본 프레임으로부터 기준 프레임들까지의 보다 작은 거리들은 배경 모델 학습을 위해 충분하며 보다 적절하다. 본 프로세스에서, 공간적 및 시간적 복잡도 모두가 사용되어 학습 레이트가 결정된다. 또한, 기준 프레임들은 기본 프레임에 대하여 임의의 후속하는 프레임일 수 있으며 기본 프레임의 픽셀 값들과 차별될 수 있는 픽셀 값들을 갖는다.
이어서, 보다 구체적으로, 장면을 위한 학습 레이트를 결정하는 동작은 "장면의 복잡도를 결정하는 동작"(304)을 포함할 수 있다. 공간적 복잡도(SC)는 보다 낮은 값들은 대체적으로 평탄한 구역들을 갖는 장면들에 대응하고, 보다 큰 값들은 많은 수의 강한 에지들 및/또는 텍스처를 갖는 장면들에 대응하는, 인트라-프레임 복잡도의 정량적 측정치이다. 일 예에 의하면, SC는 장면 내의 시작 또는 기본 프레임 내의 이웃하는 픽셀들의 평균 RS(row-wise squared difference) 및 평균 CS(column-wise squared difference)의 유클리드 노름(Euclidean norm)일 수 있다. 컴퓨팅 복잡도를 줄이기 위해, RS 및 CS 값들은 모든 픽셀들보다 작은 픽셀들, 예를 들어, 프레임의 열들 및/또는 행들을 교번하여 픽셀들을 샘플링하는 것에 기초한 차들로부터 컴퓨팅될 수 있다.
시간적 복잡도(TC)는 현 프레임 및 기준 프레임 간에 프레임 값들이 얼마나 많이 변하는지를 정량화하는 인터-프레임 측정치이다. TC는 장면 또는 비디오 시퀀스를 따르는 2개의 이격된 프레임들 간의 SAD(sum of absolute difference) 컴퓨팅을 사용하여 평균 픽셀로 설정될 수 있다.
해당 장면에 대해 SC 및 TC 값들이 주어지면, 결정 트리(표 1, 도 24a)가 사용되어 학습 레이트를 고(보다 고속 및/또는 보다 복잡한 장면들) 또는 저(보다 저속의 및/또는 보다 덜 복잡한 장면들) 중 하나로 선택하여 "기본 프레임에서 기준 프레임까지의 거리에서 그리고 장면을 형성하는 프레임들의 시퀀스들을 따라서 기준 프레임들 각각을 선택하며"(306), 상기 선택은 장면의 복잡도에 의존한다. 다음의 프레임 거리들은 2개의 학습 레이트들에 대응한다. 고 학습 레이트에 대해, 시작 프레임이 프레임 1라고 가정하면, 본 프로세스는 시작 프레임으로부터 프레임 거리들 2, 4, 8, 16, 및 24 프레임들에 있는 시작 프레임에 상대적으로 근접한 5개의 기준 프레임들을 사용하여 누적 초기 분할 마스크를 생성한다. 저 학습 레이트에 대해, 본 프로세스는 프레임 거리들 24, 32, 40, 및 48에 있는 프레임들을 사용하여 누적 초기 분할 마스크를 생성한다. 표 1은 학습 레이트 컴퓨팅 동작에서 사용되는 하나의 가능한 결정 트리를 나타낸다. 표 1은 최상의 장면 분류사항들(배경 모델에 대한 거리)로 분류될 수 있는 테스트 시퀀스들로부터의 측정치들을 포함하며, 달리 말하면, 기준 프레임들까지의 거리들을 결정하기 위한 측정치들을 포함한다. 여기서, h는 분석 중인 프레임들의 수직 해상도(라인들 또는 열들의 수임)에 대응하며, SC는 공간적 복잡도 측정치에 대응하며, TC는 시간적 복잡도 측정치에 대응한다. 시퀀스의 시간적 공간적 특성들은 프레임 크기에 의존하기 때문에, 수직 비디오 해상도 h가 또한 공간적 시간적 결정 트리에서 사용되어 학습 레이트를 선택한다. 본 예에서, 복잡도는 도시된 바와 같이, h가 DVD(digital versatile disk)(DVD) 또는 SD(standard definition) 비디오 시퀀스들에 대해 352개의 픽셀들보다 큰지 또는 h가 LD(low definition) 비디오 시퀀스들에 대해 352개의 픽셀들 이하인지에 따라서 결정된다.
도 24a를 참조하면, 표 1 결정 트리는 학습 레이트 컴퓨팅(LRC) 단계에서 사용되며, 구체적으로 공간적 및 시간적 복잡도에 기초한 시퀀스 프레임이 2개의 카테고리들 중 하나로 분류될 것인지의 여부를 결정하는데 사용되며, 여기서 제 1 카테고리는 장면 내에서의 보다 고속 모션을 암시하는 고 복잡도에 대한 것이며, 제 2 카테고리는 장면 내에서 보다 느린 모션을 암시하는 저 복잡도에 대한 것이다. 장면이 제 1 카테고리에 속한 것으로서 분류되면, 근처의 프레임들이 기준 비교를 위해 사용될 수 있으며, 장면이 제 2 카테고리에 속한 것으로서 분류되면, 멀리 떨어진 프레임들이 기준 비교들을 위해 필요하다.
예를 들어, 프레임 내에 352 픽셀들보다 많은 픽셀들이 존재하고, SC는5.9 내지 6.0이며 TC가 0.8 내지 0.9이면, 프레임은 고 복잡도를 가지며, 위에서 언급한 보다 근접한 거리들에 있는 프레임들의 그룹들이 사용된다. SC 및 TC가 모두 결정 트리 내의 동일한 열을 따르는 범위들 내에 있거나, 또는 프레임 크기가 DVD/SD에 대해 352개의 픽셀들보다 크면(LD에 대해는 352개의 픽셀들보다 작으면), 프레임은 저 복잡도를 가지며, 보다 멀리 떨어진 거리들을 갖는 프레임들의 그룹이 사용된다. 사용된 SC 및 TC 범위들은 실험 동안에 결정되며 오직 유효한 조합들이 아닐 수 있다. 이로써, 차트(도 24b)가 유효할 수 있는 값들의 범위들을 나타내도록 제공된다.
도 24b를 참조하면, 차트는 공간적 및 시간적 복잡도 간의 관계를 나타내고 표 1로부터의 범위들의 근원들을 설명하는데 제공된다. 시간적 복잡도는 수직 축을 형성하고 공간적 복잡도는 수평 축을 형성한다. 차트는 3개의 구역들로 분할된다. 첫 번째로, 확률이 없는(또는 불가능한) 구역은 매우 낮은 SC 내지 낮은 SC 와 중간 TC 내지 높은 TC의 조합으로서 정의된다. 두 번째로, 저 복잡도 구역(표 1 상에 열거된 바와 같음)에서는 매우 낮은 SC 내지 낮은 SC가 매우 낮은 TC 내지 중간 TC와 조합된다. 세 번째로, 고 복잡도 구역(표 1 상에 열거된 바와 같음)에서는 낮은 SC 내지 높은 SC가 낮은-중간 TC 내지 높은 TC와 조합된다. 차트의 원들 각각은 표 1 상의 열로부터의 범위 조합들을 나타내며, 원의 에지들은 인용된 범위의 한계치들에 개략적으로 대응한다. 차트에 의해 도시된 바와 같이, 수많은 다른 조합들이 프레임을 고 또는 저 복잡도로서 분류하는데 사용될 수 있다.
프로세스(300)는 "장면의 적어도 일부 내의 픽셀들 또는 픽셀들의 블록들의 활성도를 나타내는 누적 분할 마스크를 형성하는 동작"(308)을 또한 포함할 수 있다. 이는 누적 초기 분할 컴퓨팅(CISC) 유닛(108)에 의해 수행될 수 있으며, "각 기준 프레임의 픽셀 데이터와 기본 프레임의 픽셀 데이터 간의 차 값들을 형성하는 동작"(310)을 포함할 수 있다. 일 예에 의하면, 이는 수많은 다른 파티션 크기들이 가능하지만, 8×8 블록 레벨을 포함하는, 블록 레벨에서의 픽셀 값들의 프레임 차 크기들을 누적하는 동작을 포함할 수 있으며, 이는 블록 내의 픽셀 값들을 평균하여 블록에 대한 단일 값을 컴퓨팅함으로써 이루어질 수 있다. 프레임 차들은 상술한 바와 같이 선택된 기준 프레임들 각각 및 제 1 또는 기본 프레임 간에서 컴퓨팅된다. 이어서, 각 8×8 블록에서의 에너지 응답의 크기가 계산된다.
보다 구체적으로, 누적 초기 분할 컴퓨팅의 일 목적은 프레임 내의 8×8 블록들의 인터-프레임 활성도 레벨들을 결정하는 것이다. 기준 프레임들에 대응하는 소정의 n 개의 프레임 거리들 dx, ... , dn에 대해, 누적 분할 마스크 C는 다음과 같이 개별 8×8 블록-기반 분할 마스크들의 합으로서 컴퓨팅된다.
di, i = 1 ... n에서의 각 기준 프레임에 대해, P 루마 프레임으로부터의 거리 dt에서의 루마 프레임과 제 1 P 루마 프레임(시작 프레임(sf)) 간의 픽셀 값(여기에서는, 루마) 차들인 절대 프레임 차들 di를 계산한다. 여기서, 프레임 차는 차들 Di의 프레임을 낳는 각 픽셀 위치에 대한 차이다. 이어서, Di를 8×8 블록들로 분할하고, Di 내의 각 픽셀을 이 픽셀이 속한 8×8 블록 내의 평균 값으로 설정한다. 이로써 생성된 프레임 D'i는 보다 평탄한 잡음 및 보다 강하고 보다 연결된 모션 구역들을 갖는다. 본 예에서, 5개의 D'i가 존재할 것이며, 하나는 결정 트리(표 1)에 의해 위치가 파악되는 각 기준 프레임에 대한 것이다.
이어서, 프로세스(300)는 "기준 프레임들의 차 값들을 복수의 활성도 임계치들과 비교하여 어느 픽셀들 또는 어느 픽셀들의 블록들이 활성상태인지를 결정하는 동작"(312)을 포함할 수 있다. 이로써, 소정의 프레임 D'i 및 일례로서, m 개의 제 1 잠재적 임계치들의 소정의 세트 t1 ... , tm(이는 실험적으로 결정되며, t1, ... , tm = {1, 2, 3, 4, 5, 6, 8, 12}로 설정됨)에 대한 것이다. 이러한 제 1 활성도 임계치들은 넓은 범위의 비디오 시퀀스들에 걸친 실험에 의해 획득되었으며 단일 고유 임계치를 컴퓨팅하기 위한 후보들로서 사용된다. 임계치들은 픽셀들의 전경 또는 배경 그룹에 속하도록 픽셀들을 분류하는 것을 가능하게 하는 픽셀 차의 절대 값에 대한 제한치들을 나타낸다. 달리 말하면, 이는 초기(또는 테스트) 배경 임계치들(또는 프로브값)이다. 여기서, 8개의 임계치들이 사용되지만, 보다 많거나 보다 적은 임계치들이 대신 사용될 수 있다는 것이 이해될 것이다. 최종 동작은 다음과 같이 활성도 임계치들과의 비교의 결과로서, 이진 분할 마스크 Si,j, j = 1 ... m을 낳는다:
Figure pct00001
여기서,(x, y)는 프레임 내의 블록 위치이다. 이로써, 블록 레벨 분할 마스크들 Si,j에 대해, 결과적인 '0'는 시작 및 기준 프레임간의 차가 없거나 차가 작음을 나타내며, 따라서 활성도가 없음을 나타낸다. 결과적인 '1'은 보다 큰 차들을 말하며, 따라서, 활성도가 존재한다. 이로써, 이러한 등식은 각 기준 프레임(1 내지 n) 내의 각 블록에 대해 그리고 각 임계치(1 내지 m)에 대해 0 또는 1을 낳는다.
이어서, 프로세스(300)는 "복수의 누적 분할 마스크들을 형성하는 동작으로서, 각 마스크는 픽셀 또는 블록의 활성도를 결정하는데 사용되는 활성도 임계치 및 기준 프레임의 동일한 개수의 조합들 내에서 활성상태인 픽셀들 또는 픽셀들의 블록들의 총량인, 상기 마스크 형성 동작"(314)을 포함할 수 있다. 구체적으로, 이진화된 블록들로부터의 것들이 이어서 모두 합해져서 블록 단위로 누적 분할 마스크를 형성한다(또는 달리 말하면, 조합들에 걸친 각 블록 또는 블록 위치에 대한 "활성도"의 총 레벨을 형성한다). 누적 분할 마스크 C는 다음의 합으로 설정된다:
Figure pct00002
여기서,(x, y)는 각 기준 프레임에 대해 그리고 각 임계치 비교를 위한 단일 픽셀들의 블록(또는 보다 정확하게는 단일 블록 위치)을 나타낸다. 이어서, 본 경우에, C는 조합들의 총 개수이다(여기서, 최대 40개를 가짐(5개의 기준 프레임들 x 8개의 활성도 임계치들)). 각 조합은 블록이 활성상태인 이진 값들(1들)에 의해 표시된다. 이로써, 일 예에 의하면, C = 10는 10개의 조합들에서 블록이 활성상태임을 의미한다. 조합들의 개수 + 제로에 대한 1개(임의의 조합에 대해 활성상태에 있지 않은 블록)만큼의 누적 분할 마스크 C 값들이 존재할 것이다. 이어서, 동일한 개수의 조합들 내에서 활성상태인 픽셀들 또는 블록들의 양이 도 4에서 도시된 바와 같이 히스토그램 내에 배치될 수 있는 모든 조합들에 걸쳐서 최종 누적 분할 마스크를 형성하도록 더해진다.
프로세스(300)는 또한 "장면에 대한 적어도 하나의 배경 임계치를 결정하는 동작"(316)을 포함할 수 있으며, 이는 적응적 임계치 계산(ATC) 유닛(110)에 의해 수행될 수 있으며, 누적 마스크들을 전경 및 배경 응답 블록들로 분할하기 위한 임계치를 자동적으로 결정하는 것을 포함한다. 이로써, 프로세스(300)는 "배경 임계치로서, 누적 분할 마스크들의 수치적 배열을 따라서 2개의 최대 누적 분할 마스크들 간의 최소 누적 분할 마스크를 선택하는 동작"(318)을 포함한다. 달리 말하면, 일 예에 의하면, 임계치는 누적 마스크의 평탄화된 히스토그램 내의 2개의 피크들 간의 최저 밸리로 설정된다. 제 1 피크(피크 1)는 최대 카운트를 갖는 히스토그램 지점으로서 설정된다. 제 2 피크(피크 2)는 피크 1 및 그의 바로 이웃하는 지점들(피크 1의 좌측 및 우측으로 단조 방식으로 감소하는 피크 1 주변의 지점들)을 제외한 최대 카운트를 갖는 히스토그램 지점으로 설정된다. 달리 말하면, 누적 분할 마스크가 획득되면, 이는 움직이는 객체들에 적절한 8×8 블록 구역들을 결정하는데 사용된다.
프로세스(300)는 "블록들 내의 픽셀 정확 분할으로 배경 모델을 결정하는 동작"(320)을 또한 포함할 수 있다. 이는 일 예에 의하면 배경 모델 초기화(BMI) 유닛(112)에 의해 수행될 수 있으며, 먼저 제 1 또는 기본 프레임 내의 가능성이 있는 배경 구역을 결정하는 것을 포함한다. 이어서, 이는 배경 모델(118)을 초기화하는데 사용될 수 있다. 배경 구역이 프레임 거리들 및 임계치들의 세트(제 1 단계에서 사전설정됨)로부터 컴퓨팅된 최소 에러 픽셀 정확(홀 채워짐)이진 프레임 차를 찾기 위해 이진 누적 8×8 마스크를 사용함으로써 결정된다. 달리 말하면, 초기 배경 모델은 일 예에 의하면 SAD를 사용하여, 기준 프레임-활성도 임계치 조합들 중 하나와 기본 프레임 간의 이진화된 차 및 배경 임계치에 대해 비교된 조합 값들의 이진화된 프레임 간에서 가장 작은 값에서 설정된다. 일 예에 의하면, 가장 근사한 기준 프레임 및 가장 작은 활성도 임계치를 갖는 조합이 비교를 위해 선택된다. 하나의 예가 정확한 분할 마스크들과 픽셀 정확 분할 마스크들을 비교하는 것을 수반하는, 이하에서 기술되는 프로세스(2200)의 동작(2254)과 함께 설명된다.
이로써, 픽셀-정확 분할 마스크(또는 배경 모델)를 얻기 위해, 다음의 오차들이 이진화된 8×8 누적 분할 마스크 C를 사용하여 컴퓨팅된다:
Figure pct00003
여기서, i = l.. n, j = l.. m이며 (x, y)는 프레임 내의 픽셀들의 블록의 좌표들이다. 값 'n'은 검사 중인 프레임 거리들 d1,...dn의 수와 관련되며, 값 'm'은 검사 중인 임계치들 T1,..Tm의 수를 말한다.
이어서, 최소 오차 Erra,b의 임계치 tb 및 거리 da가 사용되어 픽셀- 정확 분할 마스크 S를 생성한다. 상기 임계치 tb 및 거리 da 값들은 SAD의 최소치를 낳는 경우에 대응한다.
일 예에 의하면, 형태학적 프로세싱은 또한 홀들을 채우고 이와 달리 프레임으로부터 잡음을 제거하기 위해 동작(2256)(도 22b)과 함께 이하에서 기술되는 바와 같은 먼저 폐쇄하고 이어서 개방하는 것에 의해 적용될 수 있다.
마지막으로, 픽셀 정확 마스크 S가 이어서 사용되어, S 내의 0 값을 갖는 픽셀 위치들에서만 초기 프레임의 YUV 값들으로 모델을 설정함으로써 초기 배경 모델이 획득된다. 이러한 픽셀 위치들에 대한 카운터는 1로 설정된다(이는 모델이 해당 픽셀 위치에서 1개의 배경 값을 포함함을 의미한다). 다른 픽셀들(마스크 S 내의 값들 1에 대응하는 것들)에 대한 카운터는 0로 설정되며(이는 모델이 이러한 픽셀 위치들에서 어떠한 배경 값도 가지지 않음을 의미함), 이러한 픽셀들에 대한 배경 모델은 미지이다. 이는 도 7의 채워진 백색 구역(702)으로서 도시된다.
구체적으로, 배경 학습 모델 프로세스(300)를 예시하는 도 5 내지 도 8을 참조하면, 도 5는 최초의 프레임(500)을 도시하고, 도 6은 그레이 스케일로 누적 8×8 마스크(600)를 도시하며, 여기서 이 스케일은 블록이 어두울수록 블록이 덜 활성상태인 조합들의 수에 의존한다. 도 7은 배경 임계치 적용 이후의 이진 누적 8×8 마스크(700)를 도시하며, 여기서 전경 또는 미지의 구역(702)은 백색이며, 배경(704)은 블랙이다. 도 8은 도 7의 이진 누적 8×8 마스크로부터 얻어진 초기 배경 모델(800)을 예시한다. 도 8에서 채워진 그레이 구역(802)은 "미지의" 배경, 또는 달리 말하면, 가장 전경일 가능성이 높은 것을 나타낸다.
마지막으로, 배경 모델이 각 컬러 성분 (Y, U, 및 V)에 대해 개별적으로 학습될 수 있다는 것이 이해될 것이다. 이는 계산들을 위해 관련 픽셀 값들(Y, U, 또는 V)의 차들을 취하는 것을 포함할 수 있다. 이어서, 그 결과는 실제로 분할 루프에 의해 사용될 3개의 학습된 배경 모델들이다.
도 9를 참조하면, 흐름도는 본 발명의 적어도 일부 구현예들에 따라서 구성된 예시적인 프로세스(900)를 예시한다. 일반적으로, 프로세스(900)는 분할 루프 프로세스 또는 국면을 포함하는 비디오 코딩을 위한 배경-전경 분할을 위한 컴퓨터-구현 방법을 제공할 수 있다. 예시된 구현예에서, 프로세스(900)는 짝수로 표시된 동작들(902 내지 912) 중 하나 이상의 것에 의해 예시된 바와 같은 하나 이상의 동작들, 기능들 또는 액션들을 포함할 수 있다. 비한정적인 예로 하자면, 프로세스(900)는 위의 도 1을 참조하여 기술된 동작들을 참조하여 본 명세서에서 기술될 것이며, 이하에서 논의되는 예시적인 시스템(2700)을 참조하여 논의될 수 있다.
초기 배경 모델이 확립된 후에, 분할 루프 국면은 보다 많은 프레임들의 분할을 위해 배경 모델을 사용한다. 일 형태에 의하면, 분할 알고리즘은 분할될 모든 프레임들을 계속 돈다. 달리 말하면, 일 예에 의하면, 분할 루프는 (시간상) 인접하는 프레임들을 사용하여 배경-전경 임계치를 결정한다. 각 반복 시에, 프레임은 전경/배경 영역들로 분할되고, 배경 모델이 다음 프레임에서 사용되기 위해 업데이트된다.
보다 구체적으로, 프로세스(900)는 "현 프레임에 대한 분할 임계치를 결정하는 동작"(902)를 포함할 수 있으며, 이 동작은, 일 예에 의하면, 적응적 분할 임계치 컴퓨팅(ASTC) 유닛(114)에 의해 수행될 수 있다. 이 동작은 소정의 또는 현 프레임에 대한 분할 임계치를 자동적으로 결정하는 것을 포함한다. 배경 모델이 모든 3개의 플레인들(Y, U 및 V)에 대해 유지되기 때문에, 분할 임계치는 트리플(TY, TU, TV)을 말한다. 임계치는 프레임 크기에 기초한 선형 리그레션 모델(linear regression model), 및 처음의 25 히스토그램 퍼센티지들 및 (pdist만큼 분리된 프레임 또는 바로 이전의 프레임일 수 있는) 이전에 프로세싱된 프레임과 현 프레임 간의 절대 프레임 차들의 미디안을 사용하여 컴퓨팅된다. 적어도 이 동작에 대해, 여기에서 배경-전경 임계치가 배경 모델과 독립적으로 형성되며 수정될 분할 마스크를 형성하고 이어서 배경 모델을 업데이트하는데 사용된다는 것이 이해될 것이다.
일 예에 의하면, 다음의 등식들은 분할 루프 국면의 일부인 현 프레임에 대한 분할 임계치를 예측하는데 사용되는 선형 리그레션 모델을 정의한다. 다음의 등식들은 자동 분할 임계치 컴퓨팅(ASTC) 동작을 위해 사용된다:
Figure pct00004
여기서, Dy_med, Du_med, 및 Dv_med는 상술한 바와 같이, 2개의 인접하는 프로세싱된 프레임들(이들은 pdist만큼 분리된 프레임들 또는 이웃하는 프레임들일 수 있음) 간의 컬러 성분(Y, U, 또는 V)의 절대 차 히스토그램으로부터의 미디안 값이며, Cu 및 Cy는 2개의 인접하는 프로세싱된 프레임들(이들은 pdist만큼 분리된 프레임들 또는 이웃하는 프레임들일 수 있음) 간의 99.9-번째 퍼센타일(percentile) 내에 있는 값을 갖는 컬러 성분 U 또는 Y의 유효 절대 차 히스토그램 지점들의 수이며, Hyn, Hun, Hvn은 2개의 인접하는 프로세싱된 프레임들(이들은 pdist만큼 분리된 프레임들 또는 이웃하는 프레임들일 수 있음) 간의 컬러 성분 Y, U, 또는 V의 n-번째 절대 차 히스토그램 지점이다.
임계치들 Ty, Tu, 및 Tv의 최종 세트는 다음과 같이 컴퓨팅된다:
Figure pct00005
여기서,
Figure pct00006
여기서, 임계치들 Ty, Tu, 및 Tv은 이하에서 기술될 바와 같이 현 프레임 및 배경 모델(초기 학습된 배경 모델 또는 가장 최근의 배경 모델인지의 여부)에서의 픽셀 값들 간의 차들과 비교될 차 크기들이다. 3, 12, 및 16의 고정된 값들이 시행착오에 의해 획득되었다.
분할 임계치가 이어서 사용되어 현 프레임 및 배경 모델 간의 절대 프레임 차에 상기 임계치를 적용함으로써 이진 분할 마스크가 생성된다. 이로써, 프로세스(900)는 또한 "배경 감산 및 배경 모델을 사용하여 현 분할 마스크를 형성하는 동작"(904)을 포함할 수 있다. 이는 이전 동작에서 컴퓨팅된 임계치를 사용하여 프레임 및 배경 모델 간의 절대 프레임 차를 이진화함으로써 로우 분할 마스크(raw segmentation mask)를 컴퓨팅하도록 배경 감산(BS)을 사용하는 것을 포함한다. 이 배경 감산 동작은 먼저 모든 3개의 컬러 플레인들, Y, U 및 V에 대하여 가장 최근에 업데이트된 배경 모델, 또는 초기 배경 모델 및 현 화상 프레임 간의 D 절대 프레임 차를 컴퓨팅한다. 이어서, 로우 분할 마스크 S가 다음과 같이 획득된다:
Figure pct00007
여기서,(x, y)은 분할 마스크 내의 픽셀 값, 픽셀들의 블록, 또는 일부 다른 파티션 크기이며, 0은 배경을 나타내고, 1은 전경을 나타낸다.
프로세스(900)는 "분할 마스크 상에 픽셀 단위로 배경 또는 전경 표시를 조절하기 위해 형태학적 개방 및 폐쇄를 적용하는 동작"(906)을 또한 포함할 수 있으며, 일 예에 의하면, 이는 MOC 유닛(120)에 의해 수행된다. 형태학적 개방 및 폐쇄는 로우 분할 마스크에 적용되어 랜덤 픽셀 잡음을 삭제하고 분할된 전경 객체들 내에서의 보다 양호한 연결을 생성한다. 형태학적 개방 및 폐쇄는 초기의 간단한 잡음 필터링으로서 로우 분할 마스크에 적용되어, 연속하는 보다 선명한 분할 마스크를 야기하도록, 분할 잡음 픽셀 형성을 제거하고 분할된 라인들 간의 짧은 오프닝(opening)을 폐쇄한다. 형태학적 폐쇄(다일레이션(dilation) 및 이후의 이로젼(erosion))가 먼저 적용되어 전경 객체들의 연결성을 강화시키고, 이어서 형태학적 개방(이로젼 및 이후의 다일레이션)이 적용되어 초기 배경 잡음을 제거한다. 형태학적 지지 영역은 다음과 같이 2 x 2 스퀘어로 설정된다:
Figure pct00008
여기서, 다일레이션 및 이로젼 양자가 프레임의 상단 좌측 코너에서 하단 우측 코너로 래스터 스캐닝 방식으로, 이진 분할 마스크 상에 픽셀 단위로 적용되는 2 x 2 슬라이딩 윈도우로서 2 x 2 지지 영역을 사용한다. 이 동작은 상기 스퀘어 내에서 3개의 이웃하는 픽셀들에 따라서 상단 좌측 값을 업데이트한다. 2 x 2 다일레이션 스퀘어(square)에서, 다일레이션 비트는 B, C 또는 D 중 임의의 것이 1이면 1로 설정된다. 한편, 2 x 2 이로젼 스퀘어에서, 이로젼 비트는 B, C 또는 D 중 임의의 것이 0이면, 0으로 설정된다. 다일레이션 프로세스는 홀들(holes)을 채워서 보다 긴 연속하는 라인 분할 경계들을 생성하며, 이로젼 프로세스는 그렇지 않으면 완만하게 변하는 분할 경계들 상의 잡음 형성을 제거한다. 전체적인 결합된 프로세스는 픽셀들의 대다수가 전경 픽셀들인 구역 내의 전경 픽셀들로 추가 픽셀들을 변환시키며, 이 반대로 성립한다.
프로세스(900)는 "새롭게 언커버링된 배경을 분할 마스크에 부가하는 동작"(908)을 또한 포함할 수 있으며, 이 동작은 또한 미지의 배경 언커버링(UBU)으로 지칭된다. 이 동작은 일 예에 의하면, UBU 유닛(124)에 의해 수행될 수 있다. 이 동작은 전경이 움직여서 배경의 일부가 될 예정인 픽셀 위치들을 언커버링하는 때에 사용될 수 있다. 구체적으로, 초기 모델은 때로 전경 내에 포함되고 언커버링되지 않은 구역들을 때로 포함한다(도 8 참조). 이 동작은 큰 프레임 차들이 전경 또는 새롭게 언커버링된 배경에 의해 초래되는지의 여부를 결정하기 위해 현 객체 경계들 주변에 대한 진보된 시간적 공간적 분석을 사용한다.
이로써, 도 10을 참조하면, 프로세스(900)의 이 UBU 동작은 새롭게 언커버링된 배경을 배경 모델에 부가하는 프로세스(1000)를 포함할 수 있으며, 이 프로세스는 짝수로 표시된 동작들(1002 내지 1018) 중 하나 이상의 것에 의해 예시된 바와 같은 하나 이상의 동작들, 기능들 또는 액션들을 포함한다.
도 11을 참조하면, 프로세스(1000)는 "현 전경-배경 경계 주변의 관심 영역(ROI)을 생성하는 동작"(1002)을 포함한다. 이로써, 프레임 또는 분할 마스크(1100)는 전경(1102), 배경(1104), 및 테스트 관심 영역(ROI)(1106)을 가지며, 이 테스트 관심 영역은 현 분할 마스크 내에서 전경 객체들 주변에 마킹된다. 구체적으로, 테스트 ROI(1106)는 지금까지 임계치에 의해 설정된 배경 및 전경 구역들(1102 및 1104) 간의 경계(1108)를 둘러 연장된다. 일 예에 의하면, 테스트 ROI(1106)은 전경이 이동하고 아직 배경 모델의 일부가 아닐 때에 언커버링될 수 있는 픽셀들 또는 블록들을 포함하는 경계(1108)로부터 내측으로 연장된다. 테스트 ROI(1106)의 두께는 프레임 크기 또는 해상도에 기초하여 설정된다. 이는 예를 들어, 프레임 내의 픽셀들의 높이, 폭, 또는 총수와 같은 해상도의 퍼센티지일 수 있다. 이와 달리, 두께는 지금까지 총 전경 또는 배경 픽셀들의 퍼센티지일 수 있다. 대신에, 이는 프레임 또는 분할 마스크 내의 픽셀들의 총수의 퍼센티지일 수 있다.
도 12를 참조하면, 프로세스(1000)는 "ROI를 부분들로 분할하는 동작"(1004)을 포함한다. ROI가 일단 마킹되면, 이는 ROI의 외측 윤곽에 수직인 라인 세그먼트들을 사용하여 파티션된다. 이는 ROI의 외측 윤곽 또는 경계(1108)에 수직인 라인 세그먼트들(1202)을 사용하여 ROI을 부분들 또는 파티션들(1200)로 분할하는 것을 포함한다. 일 형태에서, ROI 부분들의 수는 윤곽 크기에 의존하며, 라인 세그먼트들은 서로 고정된 거리에 그려진다(그리고 거리는 또한 프레임 크기에 기초하여 사전설정될 수 있다). 이 프로세스의 목적은 긴 세그먼트들을 보다 용이하게 평가될 수 있는 피스(piece) 형태의 보다 작은 세그먼트들로 감소시켜서, 잠재적 오차가 발생할 수 있는 구역을 좁게 하는 것이다. ROI(1106)를 보다 작은 파티션들(1200)로 분할함으로써, 공간적 시간적 분석이 보다 국부화되고 오차 전파들(예를 들어, 큰 허위 선언된(falsely declared) 배경 구역들)을 제거한다.
도 25를 참조하면, 표 2는 분할 설정사항들을 제공하며, 구체적으로, 시행착오에 의해 실험들에 의해 결정된 ROI 크기들을 제공한다. ROI의 크기는 일 예에 의하면, 표 2에 도시된 바와 같이 화상 높이(프레임의 높이) h, 및 일 예에서, 프레임의 높이가 HD(high definition)인지 또는 이보다 큰지(h가 1080개의 픽셀들보다 많음)에 의존한다. 인접하는 ROI 부분들(1200)을 분할하는 ROI 세그먼트는 16 또는 24개의 픽셀들이며, (ROI의 내측 에지에 따르는) ROI의 내측 폭은 26 또는 42개의 픽셀들이며, (배경 구역을 갖는 에지를 따르는) ROI의 외측 폭은 6 또는 16개의 픽셀들이며, 여기서 h가 1080개의 픽셀들보다 클 때에 보다 큰 치수가 사용된다. 본 프로세스는 윤곽을 취하여 윤곽이 객체 내측으로 피팅될 때까지 스퀴징(squeezing)하는 것과 균등하다.
도 13 내지 도 15를 참조하면, ROI 파티션들(1200)이 생성된 후에, 3개의 상이한 큐들이 ROI의 시간적 공간적 분석을 위해 사용되어 "저 에너지 구역이 언커버링된 배경 부분들이 될 가능성이 있는 ROI 내측에 존재하는지의 여부가 결정된다"(1005). 일 예에 의하면, 저 에너지 구역들을 결정하기 위해, 프로세스(1000)는 에지 검출, 모션 검출, 및(관련 Y, U, V 컬러 성분의)구배 검출을 사용하여 저 에너지 구역들을 결정하는 것을 포함할 수 있다. 이는 "캐니 에지 검출기를 사용하여 에지 큐들을 컴퓨팅하는 동작"(1006)을 포함할 수 있다. 이러한 캐니 에지 검출기를 사용하여, 에지 큐들 EC이 프레임 내의 모든 관련 픽셀들에 대해, 그리고 프레임(1400)(도 14)(프레임(1400)은 모든 픽셀들에 대해 형성된 EC를 도시함) 상에 도시된 바와 같이 형성될 수 있다. 이는 분석 중인 시작 프레임 이후의 각 프레임에 대해 수행될 수 있으며 프레임 내의 ROI 내의 각 픽셀에 대해 수행될 수 있다.
또한, 프로세스(1000)는 이어서, "수직 구배 및 수평 구배의 크기를 사용하여 구배 큐를 컴퓨팅하는 동작"(1008)을 포함할 수 있다. 이 동작에서, 구배 큐 GC는 전체 프레임이 아니면 적어도 개별 관련 픽셀들에 대해, 그리고 캐니 에지 검출의 부산물로서 컴퓨팅된 루마(Y) 성분에서의 수직 및 수평 구배들의 크기를 사용하여 형성될 수 있다. 구배들이 전체 프레임(1500)(도 15)에 대해 도시된다.
또한, 프로세스(1000)는 이어서, "현 및 이전 프레임의 절대 차들을 사용하여 모션 큐를 컴퓨팅하는 동작"(1010)을 포함할 수 있다. 이 동작은 현(또는 기본) 및 이전 프레임(예를 들어, pdist만큼 떨어짐)의 절대 차들을 사용하여 그리고 프레임(1300)(도 13)에 도시된 바와 같이 모션 큐 Mc를 형성한다. 이는 픽셀 단위로 수행될 수 있다.
일단 큐들이 확립되면, 프로세스(1000)는 "큐들을 에너지 맵 내로 퓨징하는 동작"(1012)을 포함할 수 있으며, 일 예에 의하면, 최종 에너지 맵은 정규화된 가중치된 합들을 사용한다. 큐들이 사용되어 다음과 같이 최종 에너지 맵을 생성한다:
Figure pct00009
여기서, E는 픽셀(또는 사용된 다른 유닛)의 총 에너지이다. 에너지 맵은 활성도의 가변 레벨의 맵을, 일 경우에, 픽셀 단위로 제공하며, 이로써 배경이 될 가능성이 있는 저 에너지 구역들이 드러나게 될 수 있다.
프로세스(1000)는 이어서 "각 ROI 부분의 내측에 저 에너지 구역들을 마킹하는 동작"(1014), 및 이어서 "배경에 강하게 연결된 저 에너지 구역들을 언커버링된 현 배경(UCB)으로서 분류하는 동작"(1016)을 포함할 수 있다. 이로써, 각 ROI 부분 내의 저 에너지 구역들은 잠재적으로 새롭게 언커버링된 배경으로서 마킹된다. 마킹된 구역의 둘레, 크기, 및 형상이 이어서 검사되어 배경과 마킹된 구역의 연결성의 정도를 결정한다. (a) 구역 둘레의 길이의 적어도 1/8이 배경에 연결되고, (b) 구역의 크기가 적어도 16 픽셀들이고, 및 (c) 형상 복잡도가 낮으면, 이 구역은 언커버링된 배경으로 마킹된다. 형상 둘레가 형상 면적의 1/8보다 크면, 소정의 형상이 복잡하다고 선언된다. 도 17을 참조하면, 프레임(1700)은 큐-퓨징된 에너지 맵을 사용하여 ROI 부분들(1704) 내측에서 컴퓨팅된 (전경의 백색 에지를 따라서 그리고 전경의 바로 외측의 그레이 구역으로서 마킹된) 최종 언커버링된 배경 구역(1702)을 갖게 형성된다. 프로세스(1000)는 이어서 "언커버링된 현 배경(UCB) 구역들을 따라서 분할 마스크를 업데이트하는 동작"(1018)을 포함할 수 있으며, 이는 이러한 구역들을 배경의 부분으로서 추가함으로써 이루어진다.
프로세스(900)는 또한 잡음-유사 객체들을 제거하고 전경 내에 포함된 일부 작은 홀들을 채움으로써 "분할 마스크를 완성하는 동작"(910)을 포함할 수 있다. 이는 일 예에 의하면, 분할 마스크 잡음 제거(SMNR) 유닛(124)에 의해 수행될 수 있다. 분할 마스크 잡음 제거는 수직으로 그리고 수평으로 스캐닝된 2-펠(pel) 폭의 스캐닝 라인들을 삭제하고 전경 내에 완전히 포함된 작은 격리된 영역들 및 배경 구역들을 제거하고, 마스크의 샤프한 에지들을 평탄화시킴으로써 분할 마스크를 평탄화시키는 것을 포함한다. 표 3(도 26)은 전경 객체 윤곽을 평탄화시키고 소형 잡음 유사 스파이크들 및 블럽(blob)을 삭제함으로써 분할 마스크의 클리닝을 하기 위한 설정사항들을 도시한다. 양 설정사항들은 입력 비디오 해상도(여기서, w = 프레임 폭이며, h = 프레임 높이)에 기초한다. (일 예에 의하면, 픽셀 해상도 내의) 프레임 크기에 의존하여, 최소 객체 크기가 설정되고, 표 3에 도시된 바와 같은 평탄화 이진 필터 길이도 설정된다.
프로세스(900)는 "현 배경 모델을 업데이트하는 동작"(912)을 또한 포함할 수 있다. 구체적으로, 이 동작은 현 분할 마스크를 사용하여 현 배경 모델을 업데이트한다. 배경 모델은 현 분할 마스크의 배경 픽셀들을 기존의 모델에 부가하고 이동 평균을 생성함으로써 업데이트된다. 이 동작은 일 예에 의하면, 배경 모델 업데이트(BMU) 유닛(126)에 의해 수행될 수 있다.
분할 마스크가 완성되면, 분할 마스크는 인코더로(또는 사전-프로세싱 부분으로부터 인코더의 프로세싱 부분으로) 제공될 수 있다. 이어서, 시스템(150)(도 31)을 참조하여 상술한 바와 같이, 인코더는 분할 마스크를 사용하여 양자화 파라미터들을 수정할 수 있다. qp가 배경에 대한 정밀도 및 품질을 감소시키도록 증가될 수 있으며, qp가 전경에 대한 정밀도 및 품질을 증가시키도록 감소될 수 있다. qp들은 이어서 이미지를 재구성하기 위해 디코더로 전송된다. 분할 마스크는 이 경우에 디코더로 전송되지 않으며, 이는 대역폭을 절감한다.
다른 대안들이 바람직하다면 존재할 수 있다는 것이 이해될 것이다. 이로써, 예를 들어, qp은 배경에 비해 전경의 이미지 품질을 감소시키도록 또는 전경 및/또는 배경의 다른 부분들에 비해 전경의 일부의 이미지 품질을 감소시키도록 조절될 수 있다. 마찬가지로, qp는 전경에 비해 배경의 이미지 품질을 또는 배경 및/또는 전경의 다른 구역들에 비해 배경의 일부의 이미지 품질을 증가시키도록 조절될 수 있다.
시스템(160)(도 32)을 참조하여 논의될 바와 같은 객체 지향 코딩과 관련하여, 배경 모델 학습 프로세스(300) 및 분할 루프 프로세스(900)는, 분할 마스크가 검출된 객체들의 분할 맵이며 프로세스들(300 및 900)은 각 검출된 전경 객체를 ROI로서 유효하게 간주할 수 있으며, 이로써 각 전경 객체가 형태학적, 언커버링 배경에 대해 그리고 마무리하는 동작들(906, 908, 및 910)에 대해 개별적으로 분할 루프 내에서 세밀-조절될 수 있다는 점을 제외하면, 유사하다. 그러나, 하나의 방식에 의하면, 개별 객체들은 함께 그룹화되며 단일 전경 또는 전경 객체로서 간주되며, 배경은 배경 객체로써 간주되며 이로써 오직 2개의 객체들만이 분할 맵 내에 존재한다. 하나의 형태에 의하면, 분할 맵은 적어도 하나의 전경 객체 및 적어도 하나의 배경 객체의 맵이다.
도 18 내지 도 21을 참조하면, 분할 루프 국면의 예가 제공되며, 여기서 현 프레임(1800)은 배경 및 전경 구역들 모두를 포함한다. 대응하는 현 배경 모델(1900)이 전경 구역들이 제거된 상태로 그 전체가 도시된다. 로우 분할 마스크(2000)는 백색으로된 제거된 전경 구역들 및 블랙으로 된 배경을 갖는 배경 감산 이후에 형성된다. 최종 분할 마스크(2100)는 형태학적 오퍼레이터들, 미지의 배경 언커버링, 및 최종 분할 잡음 제거 이후에 형성된다. 이 경우에, 농구 네트가 분할 마스크(2100)로부터 제거되는데 그 이유는 이 네트는 움직이며 따라서 전경으로서 고려되기 때문이다.
도 22a 내지 도 22b 및 도 23을 참조하면, 프로세스들(2200 및 2300)은 본 명세서에서 기술된 분할 프로세스들을 수행하는데 사용될 수 있는 동작들의 보다 세부사항들을 나타낸다. 프로세스(2200)는 배경 모델 학습 프로세스를 기술하며, 프로세스(2300)는 분할 루프 프로세스를 기술한다. 다음의 표기는 프로세스들(2200 및/또는 2300)을 설명하기 위한 흐름도들 내에서 사용된다.
표 4: 차트들(도 22 및 도 23) 상에 등장한 순서로 분할 시스템 흐름도들에서 사용되는 용어들.
Figure pct00010
Figure pct00011
Figure pct00012
예시적인 배경 모델 학습 프로세스(2200)은 본 발명의 적어도 일부 구현예들에 따라서 구성된다. 일반적으로, 프로세스(2200)는 배경 모델을 학습하기 위한 국면을 포함하는 비디오 코딩을 위한 배경-전경 분할을 위한 컴퓨터-구현 방법에서 사용될 수 있는 절차들 및/또는 알고리즘들을 제공한다. 예시된 구현예에서, 프로세스(2200)는 짝수로 표시된 동작들(2202 내지 2256) 중 하나 이상의 것에 의해 예시된 바와 같은 하나 이상의 동작들, 기능들 또는 액션들을 포함할 수 있다. 비한정적인 예로 하자면, 프로세스(2200)는 위의 도 1을 참조하여 기술된 동작들을 참조하여, 이하에서 논의되는 예시적인 시스템(2800)을 참조하여 또는 본 명세서에서 논의되는 임의의 다른 구현예를 참조하여 본 명세서에서 기술될 것이다.
프로세스(2200)는 동작들(2202 내지 2212)에서 시간적 복잡도 TC 가 복잡도 임계치, 및 구체적으로 장면 동적 임계치 Td보다 큰지의 여부를 결정하는 동작들을 포함할 수 있다. 시간적 복잡도를 획득하기 위해, 기본 또는 시작 프레임 픽셀 값들이 SAD를 사용하여 다음 프레임(이는 pdist만큼 분리될 수 있음)에 비교되며, 평균화될 수 있다. 이어서, 그렇다면, 통계치 stat는 1로 설정되고, 그렇지 않으면 0으로 설정된다. 이어서, TC에 대해, F[sf] 현 프레임이 F[sf+pd*4]와 비교되며, 여기서 pd는 (ref 프레임들 리스트들이 거리 4만큼 떨어져 있는 프레임들을 사용하도록) 분할 마스크가 컴퓨팅되고 있는 중인 한 쌍의 프레임들 간의 pdist(pdistance)이며, 시간적 복잡도가 상술한 바와 같이 계산될 수 있으며, 전체 복잡도는 공간적 및 시간적 복잡도들의 조합, 및, 잠재적으로는, 예를 들어, 프레임의 수직 해상도와 같은 다른 인자들에 의존한다. 이어서, 총 복잡도 C가 상술한 바와 같이 그리고 표 1(도 24a)에 도시된 결정 트리를 사용하여 결정될 수 있다.
장면이 저 복잡도를 갖는 것으로 결정되면(2216), C = 0이며 기본 프레임(sf)으로부터의 상이한 거리들 d에 있는 보다 작은 수의 기준들이 사용될 수 있다. 거리들 d은 고 복잡도에 대해 사용되는 것에 비해 적어도 대체적으로 더 먼 거리들이다. 상술한 바와 같이, 기준 프레임들(거리들)의 수 nd = 4, 및 d = [24, 32, 40, 및 48]가 "보다 멀리 있는 기준 프레임들"이며, 하나의 가능한 예시적인 동작에 의해 사용된다(2220). 고 복잡도가 구해지면, C = 1 및 nd= 5, 및 거리들 d = [2, 4, 8, 16, 24]이 예를 들어 사용되며(2218), "보다 가까운" 기준 프레임들이다. 상술한 바와 같이, 기준 프레임들의 수 및 기준 프레임들까지의 거리들은 상이할 수 있다.
이어서, 프로세스(2200)는 도시된 t의 8개의 값들(일 예에 의하면, 1, 2, 3, 4, 5, 6, 8, 12)에서의 8개의 활성도 임계치들(nt)에 대해 "프레임 버퍼 Fo를 0으로 초기화하는 동작"(2222)을 포함하며, 카운터 i는 0으로 설정되며, 여기서 카운터 i는 기준 프레임들을 카운트하여 어느 기준 프레임이 활성도 임계치들 t와 비교되는 기준 프레임인지를 설정한다. 이어서, 프로세스(2200)는 "AFD(F[sf], F[sf+d[i]])의 대응하는 평균 8×8 블록 값으로 Ft의 각 8×8 블록을 설정하는 동작"(2224)을 포함한다. 이로써, 임계치 t와 비교되는 각 기준 프레임과 시작 프레임 간의 차들의 프레임에 대해, Ft는 일 예에 의하면, 각 블록의 평균 차 값을 포함한다. 이와 달리, 블록 내의 각 픽셀은 블록 내의 평균 값으로 설정될 수 있다.
이어서, 프로세스(2200)는 거리들 d에서 각 기준 프레임과 비교되는 임계치들 t을 카운트하기 위해 카운터 j를 0로 설정하는 동작(2226)을 포함할 수 있다. 프로세스(2200)는 이어서 이진 프레임을 "Clean(BIN(Ft, t[j]))"로 설정하여(2228) 활성도 임계치 t에 대한 각 비교를 위해 그리고 각 블록에 대한 이진 값들을 제공할 수 있다. 이진 값들의 프레임이 클리닝되며, 여기서 소형 객체들이 플러드-필 알고리즘들을 따라서 제거된다. 블록 카운터 k는 동작(2230)에서 0으로 설정되고, 분석되고 있는 블록 B[k]은 동작(2232)에서 프레임 Fs의 k-번째 블록으로서 설정된다. 이어서, B[k] = 1인지의 여부(또는 달리 말하면, 블록 내의 모든 픽셀 값들이 1인지의 여부)가 결정된다(2234). 그렇다면, 프로세스(2200)는 기준 프레임의 조합들의 어느 수(또한, 거리 d로서 지칭됨) 및 활성도 임계치 t에서 활성상태에 있는 블록들(또는 픽셀들)의 카운트를 유지하기 위해, "1을 Fo 버퍼의 k-번째 블록의 모든 픽셀들에 더한다"(2236). 상술한 바와 같이, 5개의 기준 프레임들 및 8개의 활성도 임계치들에 있어서, 40개의 가능한 조합들이 존재한다. 버퍼 Fo는 얼마나 많은 블록들이 0 내지 40개의 조합들에서 활성상태에 있는지를 추적한다. 예를 들어, 블록은 소수의 실례들을 말하자면, 10개의 조합들, 또는 32개의 조합들에서 활성상태에 있을 수 있다. 버퍼 Fo는 모든 기준들 및 임계치들 t에 걸쳐서 얼마나 많은 블록들(또는 픽셀들)이 10개의 조합들, 또는 32개의 조합들에서 활성상태에 있는지를 결정하기 위해 카운트를 유지할 것이다. 이러한 총수들이 누적 분할 마스크들이 될 것이다.
이어서, 프로세스(2200)는 다음 블록을 분석하기 위해 1을 블록 카운트 k에 가산하는 것으로 진행한다(2238). 이와 달리, 블록 B[k]가 동작(2236)에서 0을 가지면, 이는 활성상태가 아니며, 프로세스는 버퍼 카운트에 가산하지 않으며 다음 블록으로 바로 간다(2238). 이어서, B[k]가 최종 블록인지의 여부가 결정된다(2240). 그렇지 않다면, 프로세스는 돌아서 다음 블록을 분석한다. 그렇다면, 프로세스는 1을 활성도 임계치 카운트에 가산하는 것으로 진행하여 기본 프레임(sf) 및 기준 프레임(sf+d[i]) 간의 차를 다음 활성도 임계치 t와 비교한다(2242). 이로써, j > nt(최종 활성도 임계치 t)인지의 여부가 결정된다(2244). 그렇지 않다면, 프로세스는 뒤로 돌아가서 프레임 Fs을 형성하고 다음 활성도 임계치 t로의 분석을 수행한다. 그렇다면, 프로세스(2200)는 1을 기준 프레임 카운트 i 에 더하는 것으로 진행하여(2246)d[i]에서의 다음 기준 프레임과의 비교사항들을 분석한다. 먼저, i > nd(최종 기준 프레임 거리)인지의 여부가 결정된다(2248). 그렇지 않다면, 프로세스는 뒤로 돌아가서 Ft를 형성하고 다음 기준 프레임으로의 분석을 수행한다. 그렇다면, 프로세스(2200)는 배경 임계치를 결정하는 것으로 진행한다.
예시된 실례에 의해 그리고 전술한 바와 같이, 프로세스(2200)는 버퍼 Fo 내의 총 값들(또는 누적 분할 마스크들)의 히스토그램을 사용할 수 있다. 이로써, 프로세스(2200)는 "p = HIST(Fo) 내에서의 처음의 최대 피크 및 q = HIST(Fo) 내에서의 다음의 최대 피크"로 진행하며(2250), 이어서 "Ta = p 및 q 간의 최소 값 HIST(Fo)"으로 진행한다(2252). 일 예에 의하면, 두번째 피크는 첫번째 피크에 인접할 수 없거나, 또는 첫번째 피크로부터 일부 다른 거리 내에 있지 않을 수 있다. Ta는 도 4의 히스토그램에서 상술한 바와 같이, 피크들 또는 최대치들 간의 최소 또는 밸리 누적 분할 마스크 값 또는 총수에서 설정된 배경 임계치이다.
이어서, 초기 배경 모델을 구축하기 위해, 프로세스(2200)는 "BIN(Fo, Ta) 및 BIN(AFD(F[sf], F[sf + d_min]), t_min)이 최소 SAD 오차를 갖는, 집합 t로부터 t_min을 찾고 집합 d로부터 d_min을 찾는다"(2254). 이로써, 이 동작은(예를 들어, 0이 배경이 되고 1이 전경이 되도록)배경 임계치 Ta를 사용하여, 버퍼 Fo로부터의 이진화된 분할 프레임 또는 맵을 제공하고, 이 분할 마스크를 기본 프레임 및 기준 프레임 간의 차를 활성도 임계치 t와 비교함으로써 형성된 이진화된 분할 마스크와 비교한다. 하나의 형태에 의하면, 기준 프레임들 및 활성도 임계치는 최저 값으로 시작하여 세트들을 통과하여 최대 값까지 진행하면서 테스트된다. 최근접(최소 차 또는 SAD) 조합이 초기 배경 모델로서 설정된다. 지금까지의 배경 모델이 블록-정확성에 기초할 때에, 배경 모델은 프로세스(300)에서 상술한 바와 같이 최소 오차를 결정함으로써 픽셀 정확 분할 마스크로 변환될 수 있다.
일 방식에 의하면, 프로세스(2200)는 또한 초기 배경 모델을 클리닝하기 위해 형태학적 동작을 포함할 수 있다. 이는 프로세스(900)와 관련하여 상술한 바와 같은 2 x 2 스퀘어 지지 영역을 사용하여 형태학적 폐쇄(다일레이션 및 이후의 이로젼) 및 이후의 형태학적 개방(이로젼 및 이후의 다일레이션)를 포함할 수 있다. 일단 완성된 초기 배경 모델은 분할 루프 유닛(104)으로 제공될 수 있다.
예시적인 분할 루프 프로세스(2300)는 본 발명의 적어도 일부 구현예들에 따라서 구성된다. 일반적으로, 프로세스(2300)는 시퀀스 내의 다수의 프레임들에 대한 배경 모델을 제공하기 위한 분할 루프 국면을 포함하는 비디오 코딩을 위한 배경-전경 분할을 위한 컴퓨터-구현 방법에서 사용될 수 있는 알고리즘들을 제공한다. 예시된 구현예에서, 프로세스(2300)는 짝수로 표시된 동작들(2302 내지 2324) 중 하나 이상의 것에 의해 예시된 바와 같은 하나 이상의 동작들, 기능들 또는 액션들을 포함할 수 있다. 비한정적인 예로 하자면, 프로세스(2300)는 위의 도 1을 참조하여 기술된 동작들을 참조하여, 이하에서 논의되는 예시적인 시스템(2800)을 참조하여 또는 본 명세서에서 논의되는 임의의 다른 구현예를 참조하여 본 명세서에서 기술될 것이다.
프로세스(2300)는 상술한 바와 같이 "배경 국면 학습 방법을 사용하여 초기 배경 모델 B을 제공하는 동작"(2302)을 포함할 수 있다. 프로세스는 역시 다른 프로세스들에 의해 제공되는 배경 모델들을 사용할 수 있다. 이어서, 프로세스(2300)는 분석되고 있는 중인 입력 시퀀스 내의 프레임들의 수를 카운트하기 위해 카운터 i를 0으로 설정하는 동작(동작 2304)을 포함할 수 있으며, 여기서 'i'는 어느 기준 프레임이 분석되고 있는 중이었는지를 나타내도록 프로세스(2200)에서 사용된 카운터 i와는 상이하다. 프로세스(2300)는 이어서 "선형 리그레션 모델을 사용하여 F[0]의 통계치들로부터 분할 임계치 Ts를 컴퓨팅하는 동작"(2306)을 포함할 수 있다. 상술한 바와 같이, 3개의 모델들이 형성될 수 있으며, 각각은 각 컬러 성분(Y, U, V)에 대한 것이며, 상기 모델들은 초기 배경 모델과는 별도로, 시퀀스 내의 프레임들의 쌍(pdist만큼 분리됨) 간의 차들에 기초할 수 있다.
프로세스(2300)는 이어서 초기 배경 모델을 현 프레임으로부터 감산하고, 결과를 이진화함으로써 차를 프레임 임계치 Ts와 비교함으로써 배경 감산을 포함할 수 있다. 프로세스(2300)는 이어서, 프로세스들(300 및 900)에 대해 상술한 바와 동일한 방식으로, 형태학적 동작(동작 2308)을 이로써 생성된 이진 프레임, 또는 현 분할 마스크에 적용하여, 프레임을 클리닝할 수 있다.
이 동작이 완료되면, 프로세스(2300)는 새롭게 언커버링된 배경을 현 분할 마스크에 부가하는 동작을 포함할 수 있다. 이는 관심 영역(ROI) 중 어느 구역들이 배경일 가능성이 있는 저 에너지 구역들인지를 결정하는 동작을 포함한다. 이로써, 프로세스(2300)는 Fe 에지 에너지, 구배가 현상 중인 배경에 대한 루마/밝기(Y) 성분에 대해 컴퓨팅되는 Fg 구배 에너지, 및 Fm 모션 에너지를 결정하는 동작(2310)을 포함할 수 있으며, 이 3개의 에너지 모두는 (큐들 Ec, Gc, 및 Mc로서 상술되었지만) 상술되었다. 이 에너지들은 일 예에 의하면 (위의 등식(12)과 동일할 수 있는) 다음과 같은 가중치 공식으로 총 에너지 E로 퓨징된다(2312):
Figure pct00013
ROI는 "등거리 부분들로 분할된 Fseg[i]의 전경 객체 주변의 경계로서 ROI들을 마킹하는 동작"(2314)에 의해 형성된다. 이 거리는 상술한 바와 같이 해상도에 의존할 수 있다. 이어서, "저 에너지 펠들(pels)을 포함하는 ROI들을 제거함으로써 Fseg[i]를 업데이트하고"(2316), 일 경우에, 상기 저 에너지 펠들은 대략적으로 델타 = 0.035 보다 작은 펠들, 및 다른 실례들에서는, 델타 = 0.03 또는 델타 = 0.04보다 작은 펠들, 또는 다른 값들이다.
프로세스(2300)는 이어서 예를 들어, 소형 객체들을 제거하기 위해 현 분할 마스크를 클리닝함으로써 현 분할 마스크를 마무리하는 동작 (2318)을 포함할 수 있다. 이는 플러드-필링(flood-filling)으로서 기술된 잘 알려진 프로세스들에 의해 수행될 수 있다. 이어서, 프로세스(2300)는 프로세스(900)와 관련하여 상술한 바와 같이 "Fseg[i]의 배경으로 배경 모델 B을 업데이트하는 동작"(2320)을 포함할 수 있다. 카운터 i가 이어서 1만큼 증분될 수 있으며(동작 2322), i = 프레임들의 수(nof), 또는 달리 말하면, 입력 시퀀스 내의 최종 프레임인지가 결정될 수 있다(2324). 그렇지 않다면, 프로세스는 뒤로 돌아가서 현 프레임 i에 대한 새로운 임계치 Ts를 결정하며, 그렇다면, 프로세스는 종료되고, 및 업데이트된 배경 모델이 비디오 시퀀스의 추가 코딩을 위해 제공된다. 프로세스는 새로운 입력 시퀀스가 제공되는 때에 초기 배경 모델을 형성하는 것으로 재시작한다.
이제 도 27을 참조하면, 시스템(2800)은 동작으로 도시되고, 본 발명의 적어도 일부 구현예들에 따라서 구성된 예시적인 배경-전경 분할 프로세스(2700)를 위해 사용될 수 있다. 예시된 구현예에서, 프로세스(2700)는 짝수로 표시된 동작들(2702 내지 2726) 중 하나 이상의 것에 의해 표시된 바와 같거나 이와 달리 또는 임의의 조합으로 사용될수 있는 하나 이상의 동작들, 기능들, 또는 액션들을 포함할 수 있다. 비한정적인 예로 하자면, 프로세스(2700)는 본 명세서에서 기술된 구현예들 중 임의의 것을 참조하여 논의되는 동작들을 참조하여 본 명세서에서 기술될 것이다.
예시된 구현예에서, 시스템(2800)은 로직 유닛들 또는 로직 회로들 또는 모듈들(2850), 등, 및/또는 이들의 조합들을 갖는 프로세싱 유닛(2820)을 포함할 수 있다. 일 예에서, 로직 회로들 또는 모듈들(2850)은 비디오 인코더(2852) 및/또는 비디오 디코더(2854)를 포함할 수 있다. 코더(2852 또는 2854) 중 어느 하나 또는 양 코더는 배경 모델 학습 유닛(102) 및 분할 루프 유닛(104)을 갖는 분할 시스템(100)을 포함할 수 있다. 도 28에 도시된 바와 같은 시스템(2800)은 특정 모듈들과 연관된 동작들 또는 액션들의 하나의 특정 세트를 포함할 수 있지만, 이러한 동작들 또는 액션들은 본 명세서에서 예시된 특정 모듈과 다른 모듈들과 연관될 수 있다.
프로세스(2700)는 "비디오 시퀀스의 입력 비디오 프레임들을 수신하는 동작"(2702)을 포함할 수 있으며, 여기서 시스템은 분석될 비디오 또는 화상 프레임의 픽셀 데이터로의 액세스를 획득할 수 있다. 데이터는 RAM 또는 ROM, 또는 다른 영구 또는 임시 메모리, 메모리 드라이브, 또는 라이브러리로부터 획득되거나 판독될 수 있다. 액세스는 예를 들어, 진행중인 비디오 스트림의 분석을 위한 연속적인 액세스일 수 있다.
프로세스(2700)는 "장면의 학습 레이트를 결정하는 동작"(2704)을 포함할 수 있다. 상술한 바와 같이, 이는 프레임들의 복잡도에 기초하여 입력 시퀀스 내에서 사용할 기준 프레임들의 그룹을 결정하는 것을 포함할 수 있다. 특히, 시간적 및 공간적 복잡도 및 프레임 크기 사용되어 결정 트리(표 1, 도 24a) 상에 도시된 바와 같이, 총(고 또는 저) 복잡도를 결정할 수 있다.
프로세스(2700)는 "장면의 적어도 부분 내의 픽셀들 또는 픽셀들의 블록들의 활성도를 표시하는 누적 분할 마스크를 형성하는 동작"(2706)을 포함할 수 있다. 이는 활성도 임계치들을 사용하는 동작, 다수의 기준 프레임들와 기본 프레임 간의 차 크기들과 임계치들을 비교하는 동작 및 이어서 결과들을 이진화하는 동작을 포함할 수 있다.
프로세스(2700)는 "장면에 대한 적어도 하나의 배경 임계치를 결정하는 동작"(2708)을 포함할 수 있다. 이는 또한 상술하였고 2개의 최대 값 누적 분할 마스크들 간의 최소 값을 사용하는 것을 포함하며, 여기서 각 분할 마스크는 동일한 수의 조합들(기준 프레임-활성도 임계치 조합)에서 활성상태인 블록들 또는 픽셀들의 총수이다.
프로세스(2700)는 "블록들 내의 픽셀 정확 분할으로 배경 모델을 결정하는 동작"(2710)을 포함할 수 있다. 이는 먼저, 위의 구현예들에서 상술한 바와 같이 누적 분할 마스크들의 프레임에 적용된 배경 임계치에 가장 근접한(최소 SAD) 조합을 선택함으로써 초기 배경 모델을 형성하는 동작을 포함할 수 있다. 이어서, 블록-기반 모델은 상술한 바와 같은, 오차 최소화 등식들을 사용함으로써 픽셀-정확 모델로 변환될 수 있다.
프로세스(2700)는 "초기 배경 모델을 제공하는 동작"(2711)을 포함할 수 있으며, 이는 단순히 초기 배경 모델로의 분할 루프 유닛 액세스를 가능하게 하는 것을 포함할 수 있다.
프로세스(2700)는 "현 프레임에 대한 분할 임계치를 결정하는 동작" (2712)을 포함할 수 있다. 구체적으로, 이는 입력 시퀀스 내의 장면 또는 비디오 시퀀스를 따라서 이격된 프레임들을 사용하여, 초기 배경 모델과는 별도인 선형 리그레션에 기초하여 프레임에 대한 임계치를 결정하는 동작을 포함할 수 있다.
프로세스(2700)는 "배경 감산 및 배경 모델을 사용하여 현 분할 마스크를 형성하는 동작"(2714)을 포함할 수 있다. 이로써, 현 분할 마스크는 배경 모델 및 현 프레임 간의 차와 현 임계치를 비교함으로써 형성될 수 있다. 프로세스(2700)는 이어서, 본 명세서에서 기술된 바와 같은 지지 구조를 사용하여, "픽셀 단위로 배경 또는 전경 표시를 조절하기 위해 형태학적 개방 및 폐쇄를 적용하는 동작"(2716)을 포함할 수 있다.
프로세스(2700)는 "새롭게 언커버링된 배경을 분할 마스크에 부가하는 동작"(2718)을 포함할 수 있으며, 이는 ROI의 어느 부분들이 저 에너지를 갖는 것을 결정하도록 에지, 구배, 및 모션 큐들을 사용하여 ROI를 설정 및 분할하고, 이어서, 이러한 부분들을 전경 구역으로부터 제거하고 이들을 배경에 부가함으로써 이루어진다.
프로세스(2700)는 잡음 등을 제거함으로써 "분할 마스크를 완성하는 동작"(2720)을 포함할 수 있으며, 이어서, 프로세스(2700)는, 상기 완성된 현 분할 마스크를 사용하여 "현 배경 모델을 업데이트하는 동작"(2722)을 포함할 수 있다. 이후에, 프로세스(2700)는 "입력 시퀀스의 끝까지 다수의 프레임들에 대해 반복하는 동작"(2724)을 포함할 수 있으며, 이 경우에, 프로세스는 동작(2712)으로 뒤로 돌아가서 입력 시퀀스가 끝날때까지 새로운 프레임에 대한 새로운 임계치를 결정한다. 일 예에 의하면, 입력 시퀀스는 분할 마스크 컴퓨팅들에서 사용된 2개의 이격된 프레임들(pd만큼 이격됨) 간의 모든 프레임들보다 작을 수 있으며, 일 경우에, 비디오 시퀀스의 이러한 부분의 시작 부분일 수 있으며, 일 예에 의하면, 기본 또는 시작 프레임 이후의 또는 비디오 시퀀스 내의 첫번째 프레임 이후의 처음의 25개의 프레임들이다. 프로세스(2700)는 "추가 코딩을 위한 배경 모델을 제공하는 동작"(2726)을 포함할 수 있다.
일반적으로, 프로세스(2700)는 필요한 바와 같이, 직렬로 또는 병렬로 임의의 다수의 회수로 반복될 수 있다. 또한, 일반적으로, 로직 유닛들 또는 로직 모듈들, 예를 들어, 유닛들(102 및 104)은 적어도 부분적으로, 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 임의의 조합으로 구현될 수 있다. 도시된 바와 같이, 일부 구현예들에서, 모듈(102/104)은 프로세서(들)(2803)를 통해서 구현될 수 있다. 다른 구현예들에서, 모듈(102/104)은 하나 이상의 다른 중앙 프로세싱 유닛(들)에 의해 구현되는 하드웨어 또는 소프트웨어로 구현될 수 있다. 일반적으로, 본 명세서에서 논의된 모듈(102/104) 및/또는 동작들은 시스템 레벨에서 실시될 수 있다. 그러나, 사용된 타입의 압축 방식 또는 압축 비를 제어하기 위한 일부 부분들은 예를 들어, 사용자 레벨에서 제공되거나 조절될 수 있다.
예시적인 프로세스(200, 300, 900, 2200, 2300, 또는 2700)의 구현예들은 예시된 순서로 도시된 모든 동작들을 착수하는 것을 포함할 수 있지만, 본 발명은 이로 한정되지 않고, 다양한 실례들에서, 본 명세서에서의 프로세스들 중 임의의 것의 구현예는 예시된 것과는 다른 순서로 및/또는 도시된 동작들의 오직 하위세트만을 착수하는 것을 포함할 수 있다.
구현예들에서, 본 명세서에서 기술된 특징들은 하나 이상의 컴퓨터 프로그램 제품들에 의해 제공된 인스트럭션들에 응답하여 착수될 수 있다. 이러한 프로그램 제품들은 예를 들어, 프로세서에 의해 실행되어, 본 명세서에서 기술된 기능들을 제공할 수 있는 인스트럭션들을 제공하는 신호 보유 매체를 포함할 수 있다. 컴퓨터 프로그램 제품들은 하나 이상의 머신-판독가능한 매체의 형태로 제공될 수 있다. 이로써, 예를 들어, 하나 이상의 프로세서 코어(들)를 포함하는 프로세서는 하나 이상의 머신-판독가능한 매체에 의해 프로세서로 전달된 프로그램 코드 및/또는 인스트럭션들 또는 인스트럭션 세트들에 응답하여 본 명세서에서 기술된 하나 이상의 특징들을 착수할 수 있다. 일반적으로, 머신-판독가능한 매체는 본 명세서에서 기술된 디바이스들 및/또는 시스템들 중 임의의 것으로 하여금 명세서에서 기술된 특징들 중 적어도 일부들을 구현하게 할 수 있는 프로그램 코드 및/또는 인스트럭션들 또는 인스트럭션 세트들의 형태로 소프트웨어를 반송할 수 있다. 전술한 바와 같이, 다른 형태로는, 비일시적 제품, 예를 들어, 비일시적 컴퓨터 판독가능한 매체가 일시적 신호 자체를 포함하지 않는 것을 제외하면, 상술한 실례들 또는 다른 실례들 중 임의의 것에서 사용될 수 있다. 이는 데이터를 임시적으로 "일시적" 방식으로 유지할 수 있는 신호 자체가 아닌 이러한 요소들, 예를 들어, RAM 등을 포함한다.
본 명세서에서 기술된 임의의 구현예에서 사용된 바와 같이, 용어 "모듈"은 본 명세서에서 기술된 기능들을 제공하도록 구성된 소프트웨어 로직, 펌웨어 로직 및/또는 하드웨어 로직의 임의의 조합을 말한다. 소프트웨어는 본 명세서에서 기술된 임의의 구현예에서 사용된 바와 같은, 소프트웨어 패키지, 코드 및/또는 인스트럭션 세트 또는 인스트럭션들, 및 "하드웨어"로서 실시될 수 있으며, 예를 들어, 단독으로 또는 임의의 조합으로, 하드와이어된 회로들, 프로그램가능한 회로들, 상태 머신 회로들, 및/또는 프로그램가능한 회로들에 의해 실행되는 인스트럭션들을 저장하는 펌웨어를 포함할 수 있다. 모듈들은 집합적으로 또는 개별적으로, 예를 들어, 집적 회로(IC), 시스템 온-칩(SoC), 등과 같은 보다 대형 시스템의 일부를 형성하는 회로들로서 실시될 수 있다. 예를 들어, 모듈은 본 명세서에서 논의된 코딩 시스템들의 소프트웨어, 펌웨어, 또는 하드웨어를 통해서 구현을 위한 로직 회로들로 실시될 수 있다.
본 명세서에서 기술된 임의의 구현예에서 사용된 바와 같이, 용어 "로직 유닛"은 본 명세서에서 기술된 기능들을 제공하도록 구성된 펌웨어 로직 및/또는 하드웨어 로직의 임의의 조합을 말한다. 본 명세서에서 기술된 임의의 구현예에서 사용된 바와 같이, "하드웨어"는 예를 들어, 단독으로 또는 임의의 조합으로, 하드와이어된 회로들, 프로그램가능한 회로들, 상태 머신 회로들, 및/또는 프로그램가능한 회로들에 의해 실행되는 인스트럭션들을 저장하는 펌웨어를 포함할 수 있다. 로직 유닛들은 집합적으로 또는 개별적으로, 예를 들어, 집적 회로(IC), 시스템 온-칩(SoC), 등과 같은 보다 대형 시스템의 일부를 형성하는 회로들로서 실시될 수 있다. 예를 들어, 로직 유닛은 본 명세서에서 논의된 코딩 시스템들의 펌웨어, 또는 하드웨어를 통해서 구현을 위한 로직 회로들로 실시될 수 있다. 하드웨어 및/또는 펌웨어에 의해 수행된 동작들은 이와 달리, 소프트웨어를 통해서 구현될 수 있으며, 이 소프트웨어는 소프트웨어 패키지, 코드 및/또는 인스트럭션 세트 또는 인스트럭션들로서 실시될 수 있다는 것을 본 기술 분야의 당업자는 이해할 것이며, 또한 로직 유닛은 또한 그의 기능들을 구현하기 위해 소프트웨어의 일부를 사용할 수도 있다는 것을 이해할 것이다.
도 28을 참조하면, 비디오 시퀀스의 프레임들의 배경-전경 분할을 제공하기 위한 예시적인 비디오 코딩 시스템(2800)이 본 발명의 적어도 일부 구현예들에 따라서 구성될 수 있다. 예시된 구현예에서, 시스템(2800)은 하나 이상의 중앙 프로세싱 유닛들 또는 프로세서들(2803), 디스플레이 디바이스(2805), 및 하나 이상의 메모리 저장부들(2804)을 포함할 수 있다. 중앙 프로세싱 유닛들(2803), 메모리 저장부(2804), 및/또는 디스플레이 디바이스(2805)는 예를 들어, 버스, 와이어, 또는 다른 액세스를 통해서 서로 통신할 수 있다. 다양한 구현예들에서, 디스플레이 디바이스(2805)는 시스템(2800) 내에 통합될 수 있거나 시스템(2800)으로부터 개별적으로 구현될 수 있다.
도 28에 도시된 바와 같이, 그리고 상술한 바와 같이, 프로세싱 유닛(2820)은 인코더(2852) 및/또는 디코더(2854)를 갖는 로직 회로들(2850)을 가질 수 있다. 코더들 양자 또는 어느 하나는 본 명세서에서 기술된 프로세스들과 함께 설명된 바와 같은, 그리고 본 명세서에서 기술된 기능들 중 다수를 제공하도록 배경 모델 학습 유닛(102) 및/또는 분할 루프 유닛(104)을 갖는 배경-전경 분할 시스템(100)을 가질 수 있다.
이해될 바와 같이, 도 28에서 예시된 모듈들은 소프트웨어 또는 하드웨어 또는 이들의 조합들을 통해서 구현될 수 있는 다양한 소프트웨어 및/또는 하드웨어 모듈들 및/또는 모듈들을 포함할 수 있다. 예를 들어, 모듈들은 프로세싱 유닛들(2820)을 통해서 소프트웨어로서 구현될 수 있거나, 또는 모듈들은 전용 하드웨어 부분을 통해서 구현될 수 있다. 또한, 도시된 메모리 저장부들(2804)은 예를 들어, 프로세싱 유닛들(2820)을 위한 공유 메모리일 수 있다. 분할 마스크 데이터가 상술한 옵션들 중 임의의 것 상에 저장될 수 있거나, 이러한 옵션들의 조합 상에 저장되거나, 또는 그 밖의 장소에 저장될 수 있다. 또한, 시스템(2800)은 다양한 방식들로 구현될 수 있다. 예를 들어, 시스템(2800)(디스플레이 디바이스(2805)를 실행함)은 그래픽 프로세서, 쿼드-코어 중앙 프로세싱 유닛, 및/또는 메모리 제어기 입출력(I/O)모듈을 갖는 단일 칩 또는 디바이스로서 구현될 수 있다. 다른 실례들에서, 시스템(2800)(역시 디스플레이 디바이스(2805)를 실행함)은 칩셋으로서 구현될 수 있다.
중앙 프로세싱 유닛들(2803)은 예를 들어, 마이크로프로세서(들), 다중코어 프로세서들, 애플리케이션 특정 집적 회로들, 칩(들), 칩셋들, 프로그램가능한 로직 디바이스들, 그래픽 카드들, 통합된 그래픽, 범용 그래픽 프로세싱 유닛(들), 등을 포함하는 임의의 적합한 구현예를 포함할 수 있다. 또한, 메모리 저장부들(2804)은 임의의 타입의 메모리, 예를 들어, 휘발성 메모리(예를 들어, 정적 랜덤 액세스 메모리(SRAM), 동적 랜덤 액세스 메모리(DRAM), 등) 또는 비휘발성 메모리(예를 들어, 플래시 메모리, 등), 등일 수 있다. 비한정적 예에서, 메모리 저장부들(2804)은 또한 캐시 메모리를 통해서 구현될 수 있다. 다양한 실례들에서, 시스템(2800)은 칩셋 또는 시스템 온 칩으로서 구현될 수 있다.
도 29를 참조하면, 본 발명 및 다양한 구현예들에 따른 예시적인 시스템(2900)은 미디어 시스템일 수 있지만, 시스템(2900)은 이러한 맥락으로 한정되지 않는다. 예를 들어, 시스템(2900)은 개인용 컴퓨터(PC), 랩탑 컴퓨터, 울트라-랩탑 컴퓨터, 태블릿, 터치 패드, 휴대용 컴퓨터, 핸드헬드 컴퓨터, 팜탑 컴퓨터, 개인용 디지털 보조장치(PDA), 셀룰러 전화, 조합 셀룰러 전화/PDA, 텔레비전, 스마트 디바이스(예를 들어, 스마트 폰, 스마트 태블릿 또는 스마트 텔레비전), 이동 인터넷 디바이스(MID), 메시징 디바이스, 데이터 통신 디바이스, 등 내에 통합될 수 있다.
다양한 구현예들에서, 시스템(2900)은 디스플레이(2920)에 통신가능하게 연결된 플랫폼(2902)을 포함한다. 플랫폼(2902)은 콘텐츠 디바이스, 예를 들어, 콘텐츠 서비스 디바이스(들)(2930) 또는 콘텐츠 전달 디바이스(들)(2940) 또는 다른 유사한 콘텐츠 소스들로부터 콘텐츠를 수신할 수 있다. 하나 이상의 내비게이션 특징부들을 포함하는 내비게이션 제어기(2950)는 예를 들어, 플랫폼(2902) 및/또는 디스플레이(2920)와 상호작용하는데 사용될 수 있다. 이러한 구성요소들 각각은 이하에서 보다 상세하게 기술된다.
다양한 구현예들에서, 플랫폼(2902)은 칩셋(2905), 프로세서(2910), 메모리(2912), 저장부(2914), 그래픽 서브시스템(2915), 애플리케이션들(2916) 및/또는 무선부(2918)의 임의의 조합을 포함할 수 있다. 칩셋(2905)은 프로세서(2910), 메모리(2912), 저장부(2914), 그래픽 서브시스템(2915), 애플리케이션들(2916) 및/또는 무선부(2918) 간의 상호통신을 제공할 수 있다. 예를 들어, 칩셋(2905)은 저장부(2914)와의 상호통신을 제공할 수 있는 저장부 어댑터(미도시)를 포함할 수 있다.
프로세서(2910)는 CISC(Complex Instruction set Computer) 또는 RISC(Reduced Instruction set Computer) 프로세서들, x86 인스트럭션 세트 호환가능한 프로세서들, 다중-코어, 또는 임의의 다른 마이크로프로세서 또는 중앙 프로세싱 유닛(CPU)으로서 구현될 수 있다. 다양한 구현예들에서, 프로세서(2910)는 듀얼-코어 프로세서(들), 듀얼-코어 이동 프로세서(들), 등을 포함할 수 있다.
메모리(2912)는 예를 들어, 다음으로 한정되지 않지만, 랜덤 액세스 메모리(RAM), 동적 랜덤 액세스 메모리(DRAM), 또는 정적 RAM(SRAM)를 포함하는 휘발성 메모리 디바이스로서 구현될 수 있다.
저장부(2914)는 비휘발성 저장 디바이스, 예를 들어, 다음으로 한정되지 않지만, 자기 디스크 드라이브, 광학 디스크 드라이브, 테이프 드라이브, 내부 저장 디바이스, 부착형 저장 디바이스, 플래시 메모리, 배터리 지원 SDRAM(동기식 DRAM), 및/또는 네트워크 액세스가능한 저장 디바이스로서 구현될 수 있다. 다양한 구현예들에서, 저장부(2914)는 예를 들어, 다수의 하드 드라이브가 포함되는 경우에 중요한 디지털 미디어에 대한 저장 성능 개선 보호성을 증가시키는 기술을 포함할 수 있다.
그래픽 서브시스템(2915)은 디스플레이할 정지 영상 또는 비디오와 같은 이미지들의 프로세싱을 수행할 수 있다. 그래픽 서브시스템(2915)은 예를 들어, 그래픽 프로세싱 유닛(GPU) 또는 시각적 프로세싱 유닛(VPU)일 수 있다. 아날로그 또는 디지털 인터페이스가 사용되어 그래픽 서브시스템(2915) 및 디스플레이(2920)와 통신하게 연결될 수 있다. 예를 들어, 인터페이스는 고해상도 멀티미디어 인터페이스, 디스플레이포트, 무선 HDMI, 및/또는 무선 HD 준수 기술들 중 임의의 것일 수 있다. 그래픽 서브시스템(2915)은 프로세서(2910) 또는 칩셋(2905) 내로 통합될 수 있다. 일부 구현예들에서, 그래픽 서브시스템(2915)은 칩셋(2905)에 통신가능하게 연결된 독립형 카드일 수 있다.
본 명세서에서 기술된 그래픽 및/또는 비디오 프로세싱 기술들은 다양한 하드웨어 아키텍처들로 구현될 수 있다. 예를 들어, 그래픽 및/또는 비디오 기능들은 칩셋 내에 통합될 수 있다. 이와 달리, 개별 그래픽 및/또는 비디오 프로세서가 사용될 수 있다. 또 다른 실시예로서, 그래픽 및/또는 비디오 기능들이 다중-코어 프로세서를 포함하는, 범용 프로세서에 의해 구현될 수 있다. 다른 구현예들에서, 이 기능들은 소비자 전자 디바이스에서 구현될 수 있다.
무선부(2918)는 다양한 적합한 무선 통신들 기술들을 사용하여 신호들을 송수신할 수 있는 하나 이상의 무선부들을 포함할 수 있다. 이러한 기술들은 하나 이상의 무선 네트워크들에 걸친 통신들을 수반할 수 있다. 예시적인 무선 네트워크들은 (다음으로 한정되지 않지만) 무선 로컬 구역 네트워크들(WLAN들), 무선 개인용 구역 네트워크들(WPAN들), 무선 메트로폴리탄 구역 네트워크(WMAN들), 셀룰러 네트워크들, 및 인공위성 네트워크들을 포함한다. 이러한 네트워크들을 통한 통신 시에, 무선부(2918)는 임의의 버전으로 된 하나 이상의 적용가능한 표준들에 따라서 동작할 수 있다.
임의의 구현예들에서, 디스플레이(2920)는 임의의 텔레비전 타입 모니터 또는 디스플레이를 포함할 수 있다. 디스플레이(2920)는 예를 들어, 컴퓨터 디스플레이 스크린, 터치 스크린 디스플레이, 비디오 모니터, 텔레비전-유사 디바이스, 및/또는 텔레비전을 포함할 수 있다. 디스플레이(2920)는 디지털 및/또는 아날로그일 수 있다. 실시예들에서, 디스플레이(2920)는 홀로그래픽 디스플레이일 수 있다. 또한, 디스플레이(2920)는 시각적 프로젝션을 수신할 수 있는 투명 표면일 수 있다. 이러한 프로젝션들은 정보, 이미지들, 및/또는 객체들의 다양한 형태들을 나를 수 있다. 예를 들어, 이러한 프로젝션들은 이동 증강 현실(MAR)애플리케이션을 위한 시각적 오버레이일 수 있다. 하나 이상의 소프트웨어 애플리케이션들(2916)의 제어 하에서, 플랫폼(2902)은 사용자 인터페이스(2922)를 디스플레이(2920) 상에 표시할 수 있다.
다양한 구현예들에서, 콘텐츠 서비스 디바이스(들)(2930)는 임의의 국가적, 국제적 및/또는 독립적 서비스에 의해 호스트될 수 있으며, 이로써 예를 들어, 인터넷을 통해서 플랫폼(2902)에 액세스될 수 있다. 콘텐츠 서비스 디바이스(들)(2930)는 플랫폼(2902) 및/또는 디스플레이(2920)에 연결될 수 있다. 플랫폼(2902) 및/또는 콘텐츠 서비스 디바이스(들)(2930)는 네트워크(2960)에 연결되어 매체 정보를 네트워크(2960)와 주고받을 수 있다(예를 들어, 송신 및/또는 수신할 수 있다). 콘텐츠 전달 디바이스(들)(2940)는 또한 플랫폼(2902) 및/또는 디스플레이(2920)에 연결될 수 있다.
다양한 구현예들에서, 콘텐츠 서비스 디바이스(들)(2930)는 케이블 텔레비전 박스, 개인용 컴퓨터, 네트워크, 전화, 디지털 정보 및/또는 콘텐츠를 전달할 수 있는 인터넷 가능한 디바이스들 또는 어플라이언스, 및 네트워크(2960)를 통해서 또는 직접적으로 콘텐츠 제공자들 및 플랫폼(2902) 및/또는 디스플레이(2920) 간에서 콘텐츠를 단일방향으로 또는 양방향으로 송수신할 수 있는 임의의 다른 유사한 디바이스를 포함할 수 있다. 콘텐츠가 네트워크(2960)를 통해서 시스템(2900) 내의 구성요소들의 임의의 하나 및 콘텐츠 제공자로부터 그리고 이로 단일방향으로 및/또는 양방향으로 송수신될 수 있다는 것이 이해될 것이다. 콘텐츠의 실례들은 예를 들어, 비디오, 음악, 의료 및 게임 정보, 등을 포함하는 임의의 매체 정보를 포함할 수 있다.
콘텐츠 서비스 디바이스(들)(2930)는 콘텐츠, 예를 들어, 케이블 텔레비전 프로그램, 예를 들어, 매체 정보, 디지털 정보, 및/또는 다른 콘텐츠를 수신한다. 콘텐츠 제공자들의 실례는 임의의 케이블 또는 인공위성 텔레비전 또는 무선 또는 인터넷 콘텐츠 제공자들을 포함할 수 있다. 제공된 실례들은 본 개시에 따른 구현예들을 임의의 방식으로 한정하는 것은 아니다.
다양한 구현예들에서, 플랫폼(2902)은 하나 이상의 내비게이션 특징부들을 갖는 내비게이션 제어기(2950)로부터 제어 신호들을 수신할 수 있다. 제어기(2950)의 내비게이션 특징부들은 예를 들어, 사용자 인터페이스(2922)와 상호작용하는데 사용될 수 있다. 실시예들에서, 내비게이션 제어기(2950)는 사용자로 하여금 공간적(예를 들어, 연속적이면서 다차원적인) 데이터를 컴퓨터로 입력하게 하는 컴퓨터 하드웨어 구성요소(구체적으로, 인간 인터페이스 디바이스)일 수 있는 포인팅 디바이스일 수 있다. 수많은 시스템들, 예를 들어, 그래픽 사용자 인터페이스들(GUI), 및 텔레비전들 및 모니터들이 사용자로 하여금 물리적 제스처를 사용하여 데이터를 제어하고 이를 컴퓨터 또는 텔레비전으로 제공하게 할 수 있다.
제어기(2950)의 내비게이션 특징부들의 이동은 디스플레이 상에 표시되는 포인터, 커서, 포커스 링, 또는 다른 시각적 표시자들에 의해 디스플레이(예를 들어, 디스플레이(2920)) 상에 똑같이 반영될 수 있다. 예를 들어, 소프트웨어 애플리케이션들(2916)의 제어 하에서, 내비게이션 제어기(2950) 상에 위치한 내비게이션 특징부들은 예를 들어, 사용자 인터페이스(2922) 상에 표시된 가상 내비게이션 특징부들로 맵핑될 수 있다. 구현예들에서, 제어기(2950)는 개별 구성요소가 아니라 플랫폼(2902) 및/또는 디스플레이(2920) 내로 통합될 수 있다. 그러나, 본 개시는 본 명세서에서 기술되거나 도시된 요소들 또는 맥락으로 한정되지 않는다.
다양한 구현예들에서, 드라이버들(미도시)은 예를 들어, 인에이블될 시에, 초기 부팅 후에, 사용자들로 하여금 버튼의 터치로 텔레비전과 같은 플랫폼(2902)을 즉시 턴 온 및 오프시키게 하는 기술을 포함할 수 있다. 플랫폼이 턴 오프되면, 프로그램 로직은 플랫폼(2902)으로 하여금 콘텐츠를 매체 어댑터들 또는 다른 콘텐츠 서비스 디바이스(들)(2930) 또는 콘텐츠 전달 디바이스(들)(2940)에 스트리밍하게 한다. 또한, 칩셋(2905)은 예를 들어, 5.1 써라운드 사운드 오디오 및/또는 HD(high definition) 7.1 써라운드 사운드 오디오에 대한 하드웨어 및/또는 소프트웨어 지원사항을 포함할 수 있다. 드라이버들은 통합된 그래픽 플랫폼들을 위한 그래픽 드라이버를 포함할 수 있다. 실시예들에서, 그래픽 드라이버는 PCI(peripheral component interconnect) Express 그래픽 카드를 포함할 수 있다.
다양한 구현예들에서, 시스템(2900)에 도시된 구성요소들 중 임의의 하나 이상은 통합될 수 있다. 예를 들어, 플랫폼(2902) 및 콘텐츠 서비스 디바이스(들)(2930)이 통합될 수 있거나, 또는 플랫폼(2902) 및 콘텐츠 전달 디바이스(들)(2940)이 통합될 수 있거나, 또는 예를 들어, 플랫폼(2902), 콘텐츠 서비스 디바이스(들)(2930), 및 콘텐츠 전달 디바이스(들)(2940)이 통합될 수 있다. 다양한 실시예들에서, 플랫폼(2902) 및 디스플레이(2920)는 통합형 유닛일 수 있다. 예를 들어, 디스플레이(2920) 및 콘텐츠 서비스 디바이스(들)(2930)가 통합될 수 있거나, 또는 디스플레이(2920) 및 콘텐츠 전달 디바이스(들)(2940)가 통합될 수 있다. 이러한 실례들은 본 개시를 한정하고자 하는 것은 아니다.
다양한 구현예들에서, 시스템(2900)은 무선 시스템, 유선 시스템, 또는 이 둘의 조합으로서 구현될 수 있다. 무선 시스템으로서 구현되는 경우에, 시스템(2900)은 무선 공유 매체, 예를 들어, 하나 이상의 안테나들, 송신기들, 수신기들, 송수신기들, 증폭기들, 필터들, 제어 로직, 등을 통해서 통신하기 위해 적합한 구성요소들 및 인터페이스들을 포함할 수 있다. 무선 공유 매체의 실례는 무선 대역의 일부들, 예를 들어, RF 대역 등을 포함할 수 있다. 유선 시스템으로서 구현되는 경우에, 시스템(2900)은 유선 통신 매체, 예를 들어, 입출력(I/O)어댑터들, I/O 어댑터를 대응하는 유선 통신 매체와 연결시키는 물리적 커넥터들, 네트워크 인터페이스 카드(NIC), 디스크 제어기, 비디오 제어기, 오디오 제어기, 등을 통해서 통신하기 위해 적합한 구성요소들 및 인터페이스들을 포함할 수 있다. 유선 통신 매체의 실례는 배선, 케이블, 금속 리드들, 인쇄 회로 기판(PCB), 백플레인, 스위치 패브릭, 반도체 재료, 트위스트-쌍 와이어, 동축 케이블, 광섬유, 등을 포함할 수 있다.
플랫폼(2902)은 정보를 송수신하기 위한 하나 이상의 논리적 또는 물리적 채널들을 확립할 수 있다. 정보는 매체 정보 및 제어 정보를 포함할 수 있다. 매체 정보는 사용자에게로 향하는 콘텐츠를 나타내는 임의의 데이터를 말할 수 있다. 콘텐츠의 실례들은 예를 들어, 음성 대화로부터의 데이터, 비디오 컨퍼런스, 스트리밍 비디오, 전자 메일("email") 메시지, 음성 메일 메시지, 문자숫자 부호들, 그래픽, 이미지, 비디오, 텍스트, 등을 포함할 수 있다. 음성 대화로부터의 데이터는 예를 들어, 스피치 정보, 사일런스 기간들, 백그라운드 노이즈, 컴포트 노이즈, 톤 등일 수 있다. 제어 정보는 자동화된 시스템을 향하는 명령들, 인스트럭션들 또는 제어어들을 나타내는 임의의 데이터를 말할 수 있다. 예를 들어, 제어 정보는 매체 정보를 시스템을 통해서 라우팅되거나, 또는 노드에게 지시하여 사전결정된 방식으로 매체 정보를 프로세싱하도록 하는데 사용될 수 있다. 그러나, 구현예들은 도 29에 도시되거나 기술된 맥락 또는 요소로 한정되지 않는다.
상술한 바와 같이, 시스템(2800 또는 2900)은 상이한 물리적 스타일들 또는 폼 팩터들로 구현될 수 있다. 도 20은 시스템(2800 또는 2900)이 실시될 수 있는 소형 폼 팩터 디바이스(3000)의 실시예들을 예시한다. 실시예들에서, 예를 들어, 디바이스(3000)는 무선 기능들을 갖는 이동 컴퓨팅 디바이스로서 구현될 수 있다. 이동 컴퓨팅 디바이스는 예를 들어, 하나 이상의 배터리들과 같은, 프로세싱 시스템 및 이동 전력 소스 또는 공급부를 갖는 임의의 디바이스를 말할 수 있다.
상술한 바와 같이, 이동 컴퓨팅 디바이스의 실례들은 개인용 컴퓨터(PC), 랩탑 컴퓨터, 울트라-랩탑 컴퓨터, 태블릿, 터치 패드, 휴대용 컴퓨터, 핸드헬드 컴퓨터, 팜탑 컴퓨터, 개인용 디지털 보조장치(PDA), 셀룰러 전화, 조합된 셀룰러 전화/PDA, 텔레비전, 스마트 디바이스(예를 들어, 스마트폰, 스마트 태블릿 또는 스마트 텔레비전), 이동 인터넷 디바이스(MID), 메시징 디바이스, 데이터 통신 디바이스, 등을 포함할 수 있다.
이동 컴퓨팅 디바이스의 실례들은 또한 개인이 착용하도록 구성된 컴퓨터들, 예를 들어, 손목 컴퓨터, 손가락 컴퓨터, 링 컴퓨터, 안경 컴퓨터, 벨트-클립 컴퓨터, 암-밴드 컴퓨터, 신발 컴퓨터들, 의류 컴퓨터들, 및 다른 웨어러블 컴퓨터들을 포함할 수 있다. 다양한 구현예들에서, 예를 들어, 이동 컴퓨팅 디바이스는 컴퓨터 애플리케이션들, 및 음성 통신들 및/또는 데이터 통신들을 실행할 수 있는 스마트 폰으로서 구현될 수 있다. 일부 구현예들이 예시적으로 스마트 폰으로서 구현된 이동 컴퓨팅 디바이스로 기술될 수 있지만, 다른 구현예들이 역시 다른 무선 이동 컴퓨팅 디바이스들을 사용하여 구현될 수 있다는 것이 이해될 것이다. 구현예들은 이러한 맥락으로 한정되지 않는다.
도 30에 도시된 바와 같이, 디바이스(3000)는 하우징(3002), 디스플레이(3004), 입출력(I/O) 디바이스(3006), 및 안테나(3008)를 포함할 수 있다. 디바이스(3000)는 또한 내비게이션 특징부들(3012)을 포함할 수 있다. 디스플레이(3004)는 이동 컴퓨팅 디바이스에 적합한 정보를 표시하기 위한 임의의 적합한 디스플레이 유닛을 포함할 수 있다. I/O 디바이스(3006)는 이동 컴퓨팅 디바이스 내로 정보를 입력하기 위한 임의의 적합한 I/O 디바이스를 포함할 수 있다. I/O 디바이스(3006)의 실례들은 문자숫자 키보드, 수치 키패드, 터치 패드, 입력 키들, 버튼, 스위치, 로커 스위치, 마이크로폰, 스피커, 음성 인식 장치, 및 소프트웨어, 등을 포함할 수 있다. 정보는 또한 마이크로폰(미도시)에 의해 디바이스(3000) 내로 입력될 수 있다. 이러한 정보는 음성 인식 디바이스(미도시)에 의해 디지털화될 수 있다. 구현예들은 이러한 맥락으로 한정되지 않는다.
다양한 구현예들은 하드웨어 요소들, 소프트웨어 요소들, 또는 이 둘의 조합을 사용하여 구현될 수 있다. 하드웨어 요소들의 실례들은 프로세서들, 마이크로프로세서들, 회로들, 회로 요소들(예를 들어, 트랜지스터들, 저항기들, 커패시터들, 인더턱들, 등), 집적 회로들, 애플리케이션 특정 집적 회로들(ASIC), 프로그램가능한 로직 디바이스들(PLD), 디지털 신호 프로세서들(DSP), 필드 프로그램가능한 게이트 어레이(FPGA), 로직 게이트들, 레지스터들, 반도체 디바이스, 칩들, 마이크로칩들, 칩 세트들, 등을 포함할 수 있다. 소프트웨어의 실례들은 소프트웨어 구성요소들, 프로그램들, 애플리케이션들, 컴퓨터 프로그램들, 애플리케이션 프로그램들, 시스템 프로그램들, 머신 프로그램들, 운영 체제 소프트웨어, 미들웨어, 펌웨어, 소프트웨어 모듈들, 루틴들, 서브루틴들, 함수들, 방법들, 절차들, 소프트웨어 인터페이스들, 애플리케이션 프로그램 인터페이스들(API), 인스트럭션 세트들, 컴퓨팅 코드, 컴퓨터 코드, 코드 세그먼트들, 컴퓨터 코드 세그먼트들, 워드들, 값들, 심볼들, 또는 이들의 임의의 조합을 포함할 수 있다. 구현예가 하드웨어 요소들 및/또는 소프트웨어 요소들을 사용하여 구현될지는 임의의 개수의 인자들, 예를 들어, 목표 컴퓨팅 레이트, 전력 레벨들, 열 허용치, 프로세싱 사이클 버짓, 입력 데이터 레이트, 출력 데이터 레이트, 메모리 자원들, 데이터 버스 속도 및 다른 설계 또는 성능 제약사항들에 따라서 변할 수 있다.
상술한 하나 이상의 양태들은 머신에 의해 판독되어 머신으로 하여금 본 명세서에서 기술된 기술들을 수행하는 로직을 형성하게 하는, 프로세서 내의 다양한 로직을 나타내는 머신-판독가능한 매체 상에 저장된 표현적인 인스트럭션들에 의해 구현될 수 있다. "IP 코어들"로서 알려진 이러한 표현 사항들은 유형의, 머신 판독가능한 매체 상에 저장되어 다양한 소비자들 또는 제조 설비들에 공급되어 로직 또는 프로세서를 실제로 형성하는 형성 머신들 내로 로딩될 수 있다.
본 명세서에서 제시된 특정 특징들이 다양한 구현예들을 참조하여 기술되었지만, 본 설명은 한정적으로 해석되지 말아야 한다. 따라서, 본 명세서에서 기술된 구현예들의 다양한 수정사항들, 및 본 기술 분야의 당업자에 명백한 다른 구현예들은 본 발명의 사상 및 범위 내에 있다고 간주된다.
다음의 실례들은 추가 구현예들에 관한 것이다.
컴퓨터로 구현되는, 비디오 코딩을 위한 배경-전경 분할을 위한 방법은 기본 프레임의 배경 모델을 학습하는 단계를 포함하며, 상기 기본 프레임의 배경 모델을 학습하는 단계는, 상기 기본 프레임과 장면을 형성하는 비디오 시퀀스의 복수의 기준 프레임들 각각 간의 프레임 차 크기들을 누적하는 단계와; 개별 차 크기들을 복수의 활성도 임계치들과 비교하여 상기 차 크기와 연관된 픽셀 또는 픽셀들의 블록이 활성상태 또는 비활성상태인지를 결정하는 단계를 포함한다. 상기 방법은 또한 각각이, 상기 픽셀들 또는 픽셀들의 블록이 활성상태에 있는 프레임 기준-활성도 임계치 조합들의 동일한 총수를 갖는 픽셀들 또는 픽셀들의 블록들의 양인, 복수의 누적 분할 마스크들을 형성하는 단계; 및 상기 누적 분할 마스크들을 사용함으로써 상기 기본 프레임의 배경 또는 전경으로 상기 블록들 또는 픽셀들을 할당하는데 사용되는 배경 임계치를 결정하는 단계를 포함한다.
다른 방식들에 의하면, 상기 방법은 상기 장면의 복잡도에 따라서 상기 장면의 학습 레이트를 결정하고 상기 복수의 기준 프레임들을 선택하는 단계; 덜 복잡한 장면의 기본 프레임으로부터 상기 비디오 시퀀스 내에서 그리고 상기 비디오 시퀀스를 따라서 적어도 대체적으로 멀리 떨어진 상기 복수의 기준 프레임들을 선택하는 단계를 포함하며; 각 정의된 복잡도 레벨 및 8개의 활성도 임계치들에 대해 선택된 4개 또는 5개의 기준 프레임들이 존재하며; 상기 배경 임계치를 결정하는 단계는, 활성상태 조합들의 수에 의한 상기 누적 분할 마스크들의 수치적 배열(numerical ordering)을 따르는 2개의 최대 누적 분할 마스크들 간의 최소 누적 분할 마스크를, 상기 배경 임계치로서 선택하는 단계를 포함하며; 상기 배경 임계치를 결정하는 단계는, 히스토그램을 사용하여 상기 최대 누적 분할 마스크들을 상기 히스토그램 상의 피크들로서 간주하고 상기 최소 누적 분할 마스크를 상기 히스토그램 상의 피크들 간의 최저 밸리(lowest valley)로서 간주하는 단계를 포함하며; 상기 배경 임계치보다 높은 누적 분할 마스크 총수를 갖는 블록들은 전경 블록들이며, 상기 배경 임계치보다 낮은 누적 분할 마스크 총수를 갖는 블록들은 배경 블록들이며; 상기 방법은 프레임 상에 픽셀-정확 분할(pixel-accurate segmentation)을 결정하는 단계를 포함하며, 상기 픽셀-정확 분할을 결정하는 단계는, (1) 상기 누적 분할 마스크 값들 및 상기 배경 임계치에 기초하여 이진화된 프레임과, (2) 상기 조합들 중 하나를 사용하여 이진화된 프레임 간의 최소 차를 구하는 단계를 포함한다.
비디오 코딩을 위한 배경-전경 분할 방법은, 배경 모델을 학습하는 단계; 상기 배경 모델과는 별도로 현 프레임에 대한 배경-전경 분할 임계치를 결정하는 단계; 상기 배경-전경 분할 임계치를 상기 현 프레임과 상기 배경 모델 간의 차와 비교함으로써 현 분할 마스크를 형성하는 단계; 상기 현 분할 마스크 상에 픽셀들 또는 블록들의 배경 또는 전경 할당사항을 조절하도록 형태학적 개방 및 폐쇄를 적용하는 단계; 새로운 언커버링된(uncovered) 배경을 결정하는 단계; 상기 새로운 언커버링된 배경으로 상기 현 분할 마스크를 업데이트하는 단계; 및 상기 새로운 언커버링된 배경으로 상기 배경 모델을 업데이트하는 단계를 포함한다.
이 방법의 다른 방식들에 의하면, 상기 배경-전경 분할 임계치를 결정하는 단계는 선형 리그레션(linear regression)을 수행하는 단계를 포함하며; 상기 현 분할 마스크는 이진화된 형태로 존재하며, 상기 현 분할 마스크를 업데이트하는 단계는 복구된 배경을 사용하여 상기 현 분할 마스크를 수정하는 단계를 포함하며; 상기 방법은 스파이크들 및 블럽들(blobs)을 제거함으로써 최종 분할 마스크를 형성하도록 상기 현 분할 마스크를 클리닝하는 단계를 포함하며; 상기 배경 모델을 업데이트하는 단계는 상기 배경 내의 픽셀들의 카운트를 업데이트하고 각 배경 픽셀 위치와 연관된 평균 픽셀 값을 업데이트하는 단계, 및 상기 현 분할 마스크의 배경 픽셀들을 기존의 배경 모델에 부가하고 이동 평균을 생성하는 단계 중 하나를 포함하며; 상기 형태학적 개방 및 폐쇄를 적용하는 단계는, 슬라이딩 윈도우로서 2 x 2 지지 영역을 사용하는 단계, 및 상기 배경과 전경 간의 지지 영역 내의 위치들 중 하나를 상기 지지 영역 내의 다른 위치들 중 적어도 하나에서의 배경 또는 전경 할당사항에 따라서 변경하는 단계를 포함하며; 상기 새로운 언커버링된 배경을 결정하는 단계는, 현 전경-배경 경계 주변의 관심 영역(ROI)을 생성하는 단계, 상기 ROI을 부분들로 분할하는 단계, 상기 ROI 부분들 내측의 저 에너지 구역들을 마킹하는 단계, 및 상기 배경과 연관된 저 에너지를 분류하는 단계를 포함하며; 상기 저 에너지 구역들을 마킹하는 단계는 에너지 맵을 형성하는 단계를 포함하며, 상기 에너지 맵을 형성하는 단계는, 에지 큐들을 컴퓨팅하는 단계; 구배 큐들을 컴퓨팅하는 단계; 모션 큐들을 컴퓨팅하는 단계; 및 상기 큐들을 상기 에너지 맵 내로 퓨징시키는 단계를 포함한다.
상기 방법에서, 상기 에지 큐들을 컴퓨팅하는 단계는 캐니(canny) 에지 검출기를 사용하며, 상기 구배 큐들을 컴퓨팅하는 단계는 수평 구배 및 수직 구배의 크기를 사용하며, 상기 모션 큐들을 컴퓨팅하는 단계는 현 프레임과 이전 프레임의 절대 차들을 사용하며; 상기 방법은 상기 배경 모델을 업데이트하도록 상기 현 분할 마스크를 사용하기 이전에 상기 현 분할 마스크를 완성하는 단계를 또한 포함하며, 상기 현 분할 마스크를 완성하는 단계는 수직으로 그리고 수평으로 스캐닝된 2-펠(pel) 폭 스캐닝 라인들을 삭제함으로써 상기 현 분할 마스크를 평탄화하는 단계를 적어도 포함하며; 상기 현 분할 마스크는, 배경 영역 및 전경 영역을 포함하는 분할 마스크, 및 적어도 하나의 전경 객체 및 적어도 하나의 배경 객체의 분할 맵 중 하나이며; 상기 방법은 상기 비디오 시퀀스의 프레임의 배경 또는 전경 또는 상기 비디오 시퀀스의 프레임의 전경 객체 또는 배경 객체 내의 배경 또는 전경 관심 영역(ROI)의 코딩 품질을 변경하는 단계를 포함하며; 상기 관심 영역은, 표준 기반 스케일가능하지 않은 인코더, 스케일가능한 인코더, 및 비표준 인코더 중 적어도 하나에 의해 인코딩되며, 상기 표준 기반 스케일가능하지 않은 인코더는 H.264 표준 및 HEVC 표준 중 적어도 하나를 사용하며, 상기 스케일가능한 인코더는 SVC 표준 및 SHVC 표준 중 적어도 하나를 사용하며, 상기 비표준 인코더는 VP8 및 VP9 중 적어도 하나를 사용하며; 상기 코딩 품질을 변경하는 단계는, (1) 전경 영역 또는 전경 객체의 코딩 품질을 변경하는 단계로서, 비디오 인코딩 동안에, 프레임의 다른 구역들에 대해 사용되는 양자화 파라미터(qp)에 비해, 상기 전경 영역 또는 객체를 형성하는 블록들의 변환 코딩을 위해 보다 낮은 양자화 파라미터(qp)를 사용함으로써 상기 전경 영역 또는 객체의 코딩 품질을 증가시키는 단계를 포함하는, 상기 전경 영역 또는 전경 객체의 코딩 품질을 변경하는 단계, (2) 배경 영역 또는 배경 객체의 코딩 품질을 변경하는 단계로서, 비디오 인코딩 동안에, 상기 프레임의 다른 구역들에 대해 사용되는 양자화 파라미터(qp)에 비해, 상기 배경 영역 또는 객체를 형성하는 블록들의 변환 코딩을 위해 보다 높은 양자화 파라미터(qp)를 사용함으로써 상기 배경 영역 또는 객체의 코딩 품질을 감소시키는 단계를 포함하는, 상기 배경 영역 또는 배경 객체의 코딩 품질을 변경하는 단계, (3) 상기 (1) 및 (2)의 조합; 및 (4) 배경 영역 또는 배경 객체의 코딩 품질을 변경하는 단계로서, 비디오 인코딩 동안에, 상기 프레임의 다른 구역들에 대해 사용되는 양자화 파라미터(qp)에 비해, 상기 배경 영역 또는 객체를 형성하는 블록들의 변환 코딩을 위해 보다 낮은 양자화 파라미터(qp)를 사용함으로써 상기 배경 영역 또는 객체의 코딩 품질을 증가시키는 단계를 포함하는, 상기 배경 영역 또는 배경 객체의 코딩 품질을 변경하는 단계 중 하나를 포함하며; 상기 배경 모델을 학습하는 단계는, 기본 프레임과 장면을 형성하는 비디오 시퀀스의 복수의 기준 프레임들 각각 간의 프레임 차 크기들을 누적하는 단계; 개별 차 크기들을 복수의 활성도 임계치들과 비교하여 상기 차 크기와 연관된 픽셀 또는 픽셀들의 블록이 활성상태 또는 비활성상태인지를 결정하는 단계; 각각이, 상기 픽셀들 또는 픽셀들의 블록이 활성상태에 있는 프레임 기준-활성도 임계치 조합들의 동일한 총수를 갖는 픽셀들 또는 픽셀들의 블록들의 양인, 복수의 누적 분할 마스크들을 형성하는 단계; 및 상기 누적 분할 마스크들을 사용함으로써 상기 기본 프레임의 배경 또는 전경으로 상기 블록들 또는 픽셀들을 할당하는데 사용되는 배경 임계치를 결정하는 단계를 포함한다.
다른 실례에서, 적어도 하나의 머신 판독가능한 매체는 복수의 인스트럭션들을 포함할 수 있으며, 상기 복수의 인스트럭션들은 컴퓨팅 디바이스 상에 실행되는 것에 응답하여, 상기 컴퓨팅 디바이스로 하여금 상기 실례들 중 어느 하나에 따른 방법을 수행하게 한다.
또 다른 실례에서, 장치는 상기 실례들 중 어느 하나에 따른 방법을 수행하기 위한 수단을 포함할 수 있다.
상기 실례들은 특징들의 특정 조합을 포함할 수 있다. 그러나, 상기 실례들은 이로 한정되지 않으며, 다양한 구현예들에서, 상기 실례들은 이러한 특징들의 상이한 순서를 착수하는 것, 상기 특징들의 하위세트만을 착수하는 것, 상기 특징들의 상이한 조합을 착수하는 것, 및/또는 명시적으로 열거된 상기 특징들이 아닌 추가 특징들을 착수하는 것을 포함할 수 있다. 예를 들어, 예시적인 방법들을 참조하여 기술된 모든 특징들은 예시적인 장치, 예시적인 시스템들, 및/또는 예시적인 제품들과 관련하여 구현될 수 있으며 그 반대도 성립한다.

Claims (25)

  1. 컴퓨터로 구현되는, 비디오 코딩을 위한 배경-전경 분할(background-foreground segmentation) 방법으로서,
    기본 프레임의 배경 모델을 학습하는 단계를 포함하되,
    상기 기본 프레임의 배경 모델을 학습하는 단계는,
    상기 기본 프레임과 장면을 형성하는 비디오 시퀀스의 복수의 기준 프레임들 각각 간의 프레임 차 크기들을 누적하는 단계와,
    개별 차 크기들을 복수의 활성도 임계치들과 비교하여 상기 차 크기와 연관된 픽셀 또는 픽셀들의 블록이 활성상태 또는 비활성상태인지를 결정하는 단계와,
    각각이, 상기 픽셀들 또는 픽셀들의 블록이 활성상태에 있는 프레임 기준-활성도 임계치 조합들의 동일한 총수를 갖는 픽셀들 또는 픽셀들의 블록들의 양인, 복수의 누적 분할 마스크들을 형성하는 단계와,
    상기 누적 분할 마스크들을 사용함으로써 상기 기본 프레임의 배경 또는 전경에 상기 블록들 또는 픽셀들을 할당하는데 사용되는 배경 임계치를 결정하는 단계를 포함하는
    배경-전경 분할 방법.
  2. 제 1 항에 있어서,
    상기 장면의 복잡도에 따라서 상기 장면의 학습 레이트를 결정하고 상기 복수의 기준 프레임들을 선택하는 단계를 포함하는
    배경-전경 분할 방법.
  3. 제 2 항에 있어서,
    덜 복잡한 장면의 기본 프레임으로부터 상기 비디오 시퀀스 내에서 그리고 상기 비디오 시퀀스를 따라서 적어도 대체적으로 멀리 떨어진 상기 복수의 기준 프레임들을 선택하는 단계를 포함하는
    배경-전경 분할 방법.
  4. 제 1 항에 있어서,
    각 정의된 복잡도 레벨 및 8개의 활성도 임계치들에 대해 선택된 4개 또는 5개의 기준 프레임들이 존재하는
    배경-전경 분할 방법.
  5. 제 1 항에 있어서,
    상기 배경 임계치를 결정하는 단계는, 활성상태 조합들의 수에 의한 상기 누적 분할 마스크들의 수치적 배열(numerical ordering)을 따르는 2개의 최대 누적 분할 마스크들 간의 최소 누적 분할 마스크를, 상기 배경 임계치로서 선택하는 단계를 포함하는
    배경-전경 분할 방법.
  6. 제 5 항에 있어서,
    상기 배경 임계치를 결정하는 단계는, 히스토그램을 사용하여 상기 최대 누적 분할 마스크들을 상기 히스토그램 상의 피크들로서 간주하고 상기 최소 누적 분할 마스크를 상기 히스토그램 상의 피크들 간의 최저 밸리(lowest valley)로서 간주하는 단계를 포함하는
    배경-전경 분할 방법.
  7. 제 5 항에 있어서,
    상기 배경 임계치보다 높은 누적 분할 마스크 총수를 갖는 블록들은 전경 블록들이며, 상기 배경 임계치보다 낮은 누적 분할 마스크 총수를 갖는 블록들은 배경 블록들인
    배경-전경 분할 방법.
  8. 제 1 항에 있어서,
    프레임 상에 픽셀-정확 분할(pixel-accurate segmentation)을 결정하는 단계를 포함하며,
    상기 픽셀-정확 분할을 결정하는 단계는, (1) 상기 누적 분할 마스크 값들 및 상기 배경 임계치에 기초하여 이진화된 프레임과, (2) 상기 조합들 중 하나를 사용하여 이진화된 프레임 간의 최소 차를 구하는 단계를 포함하는
    배경-전경 분할 방법.
  9. 제 1 항에 있어서,
    상기 장면의 복잡도에 따라서 상기 장면의 학습 레이트를 결정하고 상기 복수의 기준 프레임들을 선택하는 단계와,
    덜 복잡한 장면의 기본 프레임으로부터 상기 비디오 시퀀스 내에서 그리고 상기 비디오 시퀀스를 따라서 적어도 대체적으로 멀리 떨어진 상기 복수의 기준 프레임들을 선택하는 단계를 포함하고,
    각 정의된 복잡도 레벨 및 8개의 활성도 임계치들에 대해 선택된 4개 또는 5개의 기준 프레임들이 존재하고,
    상기 배경 임계치를 결정하는 단계는, 활성상태 조합들의 수에 의한 상기 누적 분할 마스크들의 수치적 배열을 따르는 2개의 최대 누적 분할 마스크들 간의 최소 누적 분할 마스크를, 상기 배경 임계치로서 선택하는 단계를 포함하며,
    상기 배경 임계치를 결정하는 단계는, 히스토그램을 사용하여 상기 최대 누적 분할 마스크들을 상기 히스토그램 상의 피크들로서 간주하고 상기 최소 누적 분할 마스크를 상기 히스토그램 상의 피크들 간의 최저 밸리로서 간주하는 단계를 포함하고,
    상기 배경 임계치보다 높은 누적 분할 마스크 총수를 갖는 블록들은 전경 블록들이며, 상기 배경 임계치보다 낮은 누적 분할 마스크 총수를 갖는 블록들은 배경 블록들이며,
    (1) 상기 누적 분할 마스크 값들 및 상기 배경 임계치에 기초하여 이진화된 프레임과, (2) 상기 조합들 중 하나를 사용하여 이진화된 프레임 간의 최소 차를 구하는 것을 포함하는, 프레임 상에 픽셀-정확 분할을 결정하는 단계를 포함하는
    배경-전경 분할 방법.
  10. 비디오 코딩을 위한 배경-전경 분할 방법으로서,
    배경 모델을 학습하는 단계와,
    상기 배경 모델과는 별도로 현 프레임에 대한 배경-전경 분할 임계치를 결정하는 단계와,
    상기 배경-전경 분할 임계치를 상기 현 프레임과 상기 배경 모델 간의 차와 비교함으로써 현 분할 마스크를 형성하는 단계와,
    상기 분할 마스크 상에 픽셀들 또는 블록들의 배경 또는 전경 할당사항을 조절하도록 형태학적 개방 및 폐쇄를 적용하는 단계와,
    새로운 언커버링된(uncovered) 배경을 결정하는 단계와,
    상기 새로운 언커버링된 배경으로 상기 분할 마스크를 업데이트하는 단계와,
    상기 새로운 언커버링된 배경으로 상기 배경 모델을 업데이트하는 단계를 포함하는
    배경-전경 분할 방법.
  11. 제 10 항에 있어서,
    상기 배경-전경 분할 임계치를 결정하는 단계는 선형 리그레션(linear regression)을 수행하는 단계를 포함하는
    배경-전경 분할 방법.
  12. 제 10 항에 있어서,
    상기 현 분할 마스크는 이진화된 형태로 존재하는
    배경-전경 분할 방법.
  13. 제 10 항에 있어서,
    상기 분할 마스크를 업데이트하는 단계는 복구된 배경을 사용하여 상기 분할 마스크를 수정하는 단계를 포함하며,
    최종 분할 마스크를 형성하도록 스파이크들 및 블럽들(blobs)을 제거함으로써 상기 분할 마스크를 클리닝하는 단계를 포함하는
    배경-전경 분할 방법.
  14. 제 10 항에 있어서,
    상기 배경 모델을 업데이트하는 단계는 상기 배경 내의 픽셀들의 카운트를 업데이트하는 단계 및 각 배경 픽셀 위치와 연관된 평균 픽셀 값을 업데이트하는 단계를 포함하는
    배경-전경 분할 방법.
  15. 제 10 항에 있어서,
    상기 형태학적 개방 및 폐쇄를 적용하는 단계는, 슬라이딩 윈도우로서 2 x 2 지지 영역을 사용하는 단계, 및 상기 배경과 전경 간의 지지 영역 내의 위치들 중 하나를 상기 지지 영역 내의 다른 위치들 중 적어도 하나에서의 배경 또는 전경 할당사항에 따라서 변경하는 단계를 포함하는
    배경-전경 분할 방법.
  16. 제 10 항에 있어서,
    상기 새로운 언커버링된 배경을 결정하는 단계는,
    현 전경-배경 경계 주변의 관심 영역(ROI)을 생성하는 단계와,
    상기 ROI을 부분들로 분할하는 단계와,
    상기 ROI 부분들 내측의 저 에너지 구역들을 마킹하는 단계와,
    상기 배경과 연관된 저 에너지를 분류하는 단계를 포함하는
    배경-전경 분할 방법.
  17. 제 16 항에 있어서,
    상기 저 에너지 구역들을 마킹하는 단계는 에너지 맵을 형성하는 단계를 포함하고,
    상기 에너지 맵을 형성하는 단계는,
    에지 큐들(edge cues)을 컴퓨팅하는 단계와,
    구배 큐들(gradient cues)을 컴퓨팅하는 단계와,
    모션 큐들(motion cues)을 컴퓨팅하는 단계와,
    상기 큐들을 상기 에너지 맵 내로 퓨징시키는 단계를 포함하며,
    상기 에지 큐들을 컴퓨팅하는 단계는 캐니(canny) 에지 검출기를 사용하고,
    상기 구배 큐들을 컴퓨팅하는 단계는 수평 구배 및 수직 구배의 크기를 사용하며,
    상기 모션 큐들을 컴퓨팅하는 단계는 현 프레임과 이전 프레임의 절대 차들을 사용하는
    배경-전경 분할 방법.
  18. 제 10 항에 있어서,
    상기 배경 모델을 업데이트하는 단계는 상기 현 분할 마스크의 배경 픽셀들을 기존의 배경 모델에 부가하는 단계 및 이동 평균(a running average)을 생성하는 단계를 포함하는
    배경-전경 분할 방법.
  19. 제 10 항에 있어서,
    상기 배경 모델을 업데이트하도록 상기 분할 마스크를 사용하기 이전에 상기 분할 마스크를 완성하는 단계를 포함하며, 상기 분할 마스크를 완성하는 단계는 수직으로 그리고 수평으로 스캐닝된 2-펠(pel) 폭 스캐닝 라인들을 삭제함으로써 상기 분할 마스크를 평탄화하는 단계를 적어도 포함하는
    배경-전경 분할 방법.
  20. 제 10 항에 있어서,
    상기 분할 마스크는, 배경 영역 및 전경 영역을 포함하는 분할 마스크와,
    적어도 하나의 전경 객체 및 적어도 하나의 배경 객체의 분할 맵
    중 하나이고,
    상기 방법은 상기 비디오 시퀀스의 프레임의 배경 또는 전경, 또는 상기 비디오 시퀀스의 프레임의 전경 객체 또는 배경 객체 내의 배경 또는 전경 관심 영역(region of interest: ROI)의 코딩 품질을 변경하는 단계를 포함하며,
    상기 관심 영역은, 표준 기반 스케일가능하지 않은 인코더, 스케일가능한 인코더, 및 비표준 인코더 중 적어도 하나에 의해 인코딩되고,
    상기 표준 기반 스케일가능하지 않은 인코더는 H.264 표준 및 HEVC 표준 중 적어도 하나를 사용하며,
    상기 스케일가능한 인코더는 SVC 표준 및 SHVC 표준 중 적어도 하나를 사용하고,
    상기 비표준 인코더는 VP8 및 VP9 중 적어도 하나를 사용하는
    배경-전경 분할 방법.
  21. 제 20 항에 있어서,
    상기 코딩 품질을 변경하는 단계는,
    전경 영역 또는 전경 객체의 코딩 품질을 변경하는 단계 및 배경 영역 또는 배경 객체의 코딩 품질을 변경하는 단계 중 적어도 하나를 포함하고,
    상기 전경 영역 또는 전경 객체의 코딩 품질을 변경하는 단계는, 비디오 인코딩 동안에, 프레임의 다른 구역들에 대해 사용되는 양자화 파라미터(qp)에 비해, 상기 전경 영역 또는 객체를 형성하는 블록들의 변환 코딩을 위해 보다 낮은 양자화 파라미터(qp)를 사용함으로써 상기 전경 영역 또는 객체의 코딩 품질을 증가시키는 단계를 포함하며,
    상기 배경 영역 또는 배경 객체의 코딩 품질을 변경하는 단계는, 비디오 인코딩 동안에, 상기 프레임의 다른 구역들에 대해 사용되는 양자화 파라미터(qp)에 비해, 상기 배경 영역 또는 객체를 형성하는 블록들의 변환 코딩을 위해 보다 높은 양자화 파라미터(qp)를 사용함으로써 상기 배경 영역 또는 객체의 코딩 품질을 감소시키는 단계를 포함하는
    배경-전경 분할 방법.
  22. 제 10 항에 있어서,
    상기 배경 모델을 학습하는 단계는,
    기본 프레임과 장면을 형성하는 비디오 시퀀스의 복수의 기준 프레임들 각각 간의 프레임 차 크기들을 누적하는 단계와,
    개별 차 크기들을 복수의 활성도 임계치들과 비교하여 상기 차 크기와 연관된 픽셀 또는 픽셀들의 블록이 활성상태 또는 비활성상태인지를 결정하는 단계와,
    각각이, 상기 픽셀들 또는 픽셀들의 블록이 활성상태에 있는 프레임 기준-활성도 임계치 조합들의 동일한 총수를 갖는 픽셀들 또는 픽셀들의 블록들의 양인, 복수의 누적 분할 마스크들을 형성하는 단계와,
    상기 누적 분할 마스크들을 사용함으로써 상기 기본 프레임의 배경 또는 전경으로 상기 블록들 또는 픽셀들을 할당하는데 사용되는 배경 임계치를 결정하는 단계를 포함하는
    배경-전경 분할 방법.
  23. 제 10 항에 있어서,
    상기 배경-전경 분할 임계치는 선형 리그레션을 수행하는 것을 포함하고,
    상기 현 분할 마스크는 이진화된 형태로 존재하며,
    상기 방법은,
    복구된 배경을 사용하여 상기 현 분할 마스크를 수정하는 것을 포함하는 상기 분할 마스크를 업데이트하는 단계와,
    스파이크들 및 블럽들을 제거함으로써 최종 분할 마스크를 형성하도록 상기 현 분할 마스크를 클리닝하는 단계를 포함하고,
    상기 배경 모델을 업데이트하는 단계는,
    상기 배경 내의 픽셀들의 카운트를 업데이트하고 각 배경 픽셀 위치와 연관된 평균 픽셀 값을 업데이트하는 단계와,
    상기 현 분할 마스크의 배경 픽셀들을 기존의 배경 모델에 부가하고 이동 평균을 생성하는 단계,
    중 하나를 포함하며,
    상기 형태학적 개방 및 폐쇄를 적용하는 단계는, 슬라이딩 윈도우로서 2 x 2 지지 영역을 사용하는 단계와, 상기 배경과 전경 사이의 지지 영역 내의 위치들 중 하나를 상기 지지 영역 내의 다른 위치들 중 적어도 하나에서의 배경 또는 전경 할당사항에 따라서 변경하는 단계를 포함하고,
    상기 새로운 언커버링된 배경을 결정하는 단계는,
    현 전경-배경 경계 주변의 관심 영역(ROI)을 생성하는 단계와,
    상기 ROI을 부분들로 분할하는 단계와,
    상기 ROI 부분들 내측의 저 에너지 구역들을 마킹하는 단계와,
    상기 배경과 연관된 저 에너지를 분류하는 단계를 포함하며,
    상기 저 에너지 구역들을 마킹하는 단계는 에너지 맵을 형성하는 단계를 포함하고,
    상기 에너지 맵을 형성하는 단계는,
    에지 큐들을 컴퓨팅하는 단계와,
    구배 큐들을 컴퓨팅하는 단계와,
    모션 큐들을 컴퓨팅하는 단계와,
    상기 큐들을 상기 에너지 맵 내로 퓨징시키는 단계를 포함하며,
    상기 에지 큐들을 컴퓨팅하는 단계는 캐니 에지 검출기를 사용하고,
    상기 구배 큐들을 컴퓨팅하는 단계는 수평 구배 및 수직 구배의 크기를 사용하며,
    상기 모션 큐들을 컴퓨팅하는 단계는 현 프레임과 이전 프레임의 절대 차들을 사용하고,
    상기 방법은, 상기 배경 모델을 업데이트하도록 상기 분할 마스크를 사용하기 이전에 상기 분할 마스크를 완성하는 단계를 포함하며, 상기 분할 마스크를 완성하는 단계는 수직으로 그리고 수평으로 스캐닝된 2-펠 폭 스캐닝 라인들을 삭제함으로써 상기 분할 마스크를 평탄화하는 단계를 적어도 포함하며,
    상기 분할 마스크는,
    배경 영역 및 전경 영역을 포함하는 분할 마스크와,
    적어도 하나의 전경 객체 및 적어도 하나의 배경 객체의 분할 맵
    중 하나이고,
    상기 방법은, 상기 비디오 시퀀스의 프레임의 배경 또는 전경 또는 상기 비디오 시퀀스의 프레임의 전경 객체 또는 배경 객체 내의 배경 또는 전경 관심 영역(ROI)의 코딩 품질을 변경하는 단계를 포함하며,
    상기 관심 영역은, 표준 기반 스케일가능하지 않은 인코더, 스케일가능한 인코더, 및 비표준 인코더 중 적어도 하나에 의해 인코딩되고,
    상기 표준 기반 스케일가능하지 않은 인코더는 H.264 표준 및 HEVC 표준 중 적어도 하나를 사용하며,
    상기 스케일가능한 인코더는 SVC 표준 및 SHVC 표준 중 적어도 하나를 사용하고,
    상기 비표준 인코더는 VP8 및 VP9 중 적어도 하나를 사용하며,
    상기 코딩 품질을 변경하는 단계는,
    (1) 전경 영역 또는 전경 객체의 코딩 품질을 변경하는 단계로서, 비디오 인코딩 동안에, 프레임의 다른 구역들에 대해 사용되는 양자화 파라미터(qp)에 비해, 상기 전경 영역 또는 객체를 형성하는 블록들의 변환 코딩을 위해 보다 낮은 양자화 파라미터(qp)를 사용함으로써 상기 전경 영역 또는 객체의 코딩 품질을 증가시키는 단계를 포함하는, 상기 전경 영역 또는 전경 객체의 코딩 품질을 변경하는 단계와,
    (2) 배경 영역 또는 배경 객체의 코딩 품질을 변경하는 단계로서, 비디오 인코딩 동안에, 상기 프레임의 다른 구역들에 대해 사용되는 양자화 파라미터(qp)에 비해, 상기 배경 영역 또는 객체를 형성하는 블록들의 변환 코딩을 위해 보다 높은 양자화 파라미터(qp)를 사용함으로써 상기 배경 영역 또는 객체의 코딩 품질을 감소시키는 단계를 포함하는, 상기 배경 영역 또는 배경 객체의 코딩 품질을 변경하는 단계와,
    (3) 상기 (1) 및 (2)의 조합과,
    (4) 배경 영역 또는 배경 객체의 코딩 품질을 변경하는 단계로서, 비디오 인코딩 동안에, 상기 프레임의 다른 구역들에 대해 사용되는 양자화 파라미터(qp)에 비해, 상기 배경 영역 또는 객체를 형성하는 블록들의 변환 코딩을 위해 보다 낮은 양자화 파라미터(qp)를 사용함으로써 상기 배경 영역 또는 객체의 코딩 품질을 증가시키는 단계를 포함하는, 상기 배경 영역 또는 배경 객체의 코딩 품질을 변경하는 단계,
    중 하나를 포함하고,
    상기 배경 모델을 학습하는 단계는,
    기본 프레임과 장면을 형성하는 비디오 시퀀스의 복수의 기준 프레임들 각각 간의 프레임 차 크기들을 누적하는 단계와,
    개별 차 크기들을 복수의 활성도 임계치들과 비교하여 상기 차 크기와 연관된 픽셀 또는 픽셀들의 블록이 활성상태 또는 비활성상태인지를 결정하는 단계와,
    각각이, 상기 픽셀들 또는 픽셀들의 블록이 활성상태에 있는 프레임 기준-활성도 임계치 조합들의 동일한 총수를 갖는 픽셀들 또는 픽셀들의 블록들의 양인, 복수의 누적 분할 마스크들을 형성하는 단계와,
    상기 누적 분할 마스크들을 사용함으로써 상기 기본 프레임의 배경 또는 전경으로 상기 블록들 또는 픽셀들을 할당하는데 사용되는 배경 임계치를 결정하는 단계를 포함하는
    배경-전경 분할 방법.
  24. 복수의 인스트럭션들을 포함하는 적어도 하나의 머신 판독가능한 매체로서,
    상기 복수의 인스트럭션들은 컴퓨팅 디바이스 상에 실행되는 것에 응답하여, 상기 컴퓨팅 디바이스로 하여금 제 1 항 내지 제 23 항 중 어느 한 항에 따른 방법을 수행하게 하는
    머신 판독가능한 매체.
  25. 제 1 항 내지 제 24 항 중 어느 한 항에 따른 방법을 수행하기 위한 수단을 포함하는
    장치.
KR1020167028636A 2014-05-15 2015-04-28 비디오 코딩을 위한 콘텐츠 적응적 배경-전경 분할 기법 KR101894649B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/277,897 2014-05-15
US14/277,897 US9584814B2 (en) 2014-05-15 2014-05-15 Content adaptive background foreground segmentation for video coding
PCT/US2015/027885 WO2015175201A1 (en) 2014-05-15 2015-04-28 Content adaptive background-foreground segmentation for video coding

Publications (2)

Publication Number Publication Date
KR20160134768A true KR20160134768A (ko) 2016-11-23
KR101894649B1 KR101894649B1 (ko) 2018-10-04

Family

ID=54480433

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167028636A KR101894649B1 (ko) 2014-05-15 2015-04-28 비디오 코딩을 위한 콘텐츠 적응적 배경-전경 분할 기법

Country Status (5)

Country Link
US (1) US9584814B2 (ko)
EP (1) EP3143768B1 (ko)
KR (1) KR101894649B1 (ko)
CN (1) CN106664417B (ko)
WO (1) WO2015175201A1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220028066A (ko) * 2019-07-17 2022-03-08 에이아이모티브 케이에프티. 카메라 스트림용 마스크를 생성하기 위한 방법, 컴퓨터 프로그램 제품 및 컴퓨터 판독 가능 매체
KR20220117768A (ko) * 2021-02-17 2022-08-24 주식회사 어노테이션에이아이 대화형 이미지 분할 알고리즘의 전경 시드와 배경 시드를 동시에 제공하는 편집 방법
KR20220132109A (ko) 2021-03-23 2022-09-30 한국항공대학교산학협력단 영상의 비활성 영역 패딩 시스템 및 방법

Families Citing this family (92)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106717007B (zh) * 2014-07-30 2020-04-03 Sk 普兰尼特有限公司 云端流媒体服务器
US10620826B2 (en) 2014-08-28 2020-04-14 Qualcomm Incorporated Object selection based on region of interest fusion
WO2016033463A1 (en) * 2014-08-29 2016-03-03 The University Of North Carolina At Chapel Hill Methods, systems, and computer readable media for compressing video images
BR112017010007B1 (pt) * 2014-11-14 2023-04-11 Huawei Technologies Co., Ltd Aparelho adaptado para gerar um conjunto de coeficientes de transformada, método para gerar um conjunto de coeficientes de transformada, aparelho adaptado para decodificar um bloco de um quadro, e método para reconstruir um bloco de um quadro
AU2014280948A1 (en) * 2014-12-24 2016-07-14 Canon Kabushiki Kaisha Video segmentation method
US10225442B2 (en) * 2015-02-16 2019-03-05 Mediatek Inc. Electronic device and method for sensing air quality
US10410398B2 (en) * 2015-02-20 2019-09-10 Qualcomm Incorporated Systems and methods for reducing memory bandwidth using low quality tiles
US9805662B2 (en) * 2015-03-23 2017-10-31 Intel Corporation Content adaptive backlight power saving technology
US20160286226A1 (en) * 2015-03-24 2016-09-29 Nokia Technologies Oy Apparatus, a method and a computer program for video coding and decoding
US9542751B2 (en) 2015-05-08 2017-01-10 Qualcomm Incorporated Systems and methods for reducing a plurality of bounding regions
US9454819B1 (en) * 2015-06-03 2016-09-27 The United States Of America As Represented By The Secretary Of The Air Force System and method for static and moving object detection
WO2017015958A1 (zh) * 2015-07-30 2017-02-02 华为技术有限公司 一种视频编解码方法及装置
US9704270B1 (en) * 2015-07-30 2017-07-11 Teradici Corporation Method and apparatus for rasterizing and encoding vector graphics
US20170193644A1 (en) * 2015-12-30 2017-07-06 Ebay Inc Background removal
US10275894B2 (en) * 2016-01-28 2019-04-30 Interra Systems Methods and systems for detection of artifacts in a video after error concealment
US9865062B2 (en) 2016-02-12 2018-01-09 Qualcomm Incorporated Systems and methods for determining a region in an image
US10015504B2 (en) * 2016-07-27 2018-07-03 Qualcomm Incorporated Compressing image segmentation data using video coding
US10395138B2 (en) 2016-11-11 2019-08-27 Microsoft Technology Licensing, Llc Image segmentation using user input speed
US10607101B1 (en) * 2016-12-14 2020-03-31 Revenue Management Solutions, Llc System and method for patterned artifact removal for bitonal images
US10242449B2 (en) * 2017-01-04 2019-03-26 Cisco Technology, Inc. Automated generation of pre-labeled training data
CN110114801B (zh) * 2017-01-23 2022-09-20 富士通株式会社 图像前景检测装置及方法、电子设备
CN106991418B (zh) * 2017-03-09 2020-08-04 上海小蚁科技有限公司 飞虫检测方法、装置及终端
WO2018189772A1 (ja) * 2017-04-10 2018-10-18 オリンパス株式会社 相関値演算装置
GB2563037A (en) * 2017-05-31 2018-12-05 Nokia Technologies Oy Method and apparatus for image compression
JP6915390B2 (ja) * 2017-06-05 2021-08-04 富士フイルムビジネスイノベーション株式会社 情報処理装置及び情報処理プログラム
KR20190004010A (ko) * 2017-07-03 2019-01-11 삼성에스디에스 주식회사 전경 추출 방법 및 장치
US10453187B2 (en) * 2017-07-21 2019-10-22 The Boeing Company Suppression of background clutter in video imagery
US11294530B2 (en) * 2017-08-07 2022-04-05 Microsoft Technology Licensing, Llc Displaying a translucent version of a user interface element
US10593066B1 (en) 2017-09-29 2020-03-17 A9.Com, Inc. Compression of multi-dimensional object representations
US10347045B1 (en) 2017-09-29 2019-07-09 A9.Com, Inc. Creating multi-dimensional object representations
CN109660807A (zh) * 2017-10-10 2019-04-19 优酷网络技术(北京)有限公司 一种视频图像转码方法及装置
CN109697724B (zh) * 2017-10-24 2021-02-26 北京京东尚科信息技术有限公司 视频图像分割方法及装置、存储介质、电子设备
CN108010037B (zh) * 2017-11-29 2019-09-13 腾讯科技(深圳)有限公司 图像处理方法、装置及存储介质
US10122969B1 (en) 2017-12-07 2018-11-06 Microsoft Technology Licensing, Llc Video capture systems and methods
CN108140245B (zh) 2017-12-25 2022-08-23 深圳市道通智能航空技术股份有限公司 测距方法、装置以及无人机
CN108305267B (zh) * 2018-02-14 2020-08-11 北京市商汤科技开发有限公司 物体分割方法、装置、设备、存储介质及程序
CN108256511B (zh) * 2018-03-15 2022-03-29 太原理工大学 基于视频编码码流的人体运动检测方法
GB201804649D0 (en) * 2018-03-23 2018-05-09 Facit Data Systems Ltd Method of processing a video
US11272209B2 (en) 2018-04-03 2022-03-08 Samsung Electronics Co., Ltd. Methods and apparatus for determining adjustment parameter during encoding of spherical multimedia content
US10950043B1 (en) 2018-04-03 2021-03-16 A9.Com, Inc. Rendering three-dimensional models on mobile devices
WO2019204577A1 (en) * 2018-04-18 2019-10-24 Trustees Of Tufts College System and method for multimedia analytic processing and display
US10515463B2 (en) * 2018-04-20 2019-12-24 Sony Corporation Object segmentation in a sequence of color image frames by background image and background depth correction
US10706556B2 (en) * 2018-05-09 2020-07-07 Microsoft Technology Licensing, Llc Skeleton-based supplementation for foreground image segmentation
KR102565849B1 (ko) * 2018-05-14 2023-08-11 한국전자통신연구원 동영상 내 작은 물체를 실시간으로 세분화하는 방법 및 장치
CN110555794B (zh) * 2018-05-31 2021-07-23 北京市商汤科技开发有限公司 图像处理方法及装置、电子设备和存储介质
EP3582181B1 (en) * 2018-06-14 2020-04-01 Axis AB Method, device and system for determining whether pixel positions in an image frame belong to a background or a foreground
US10666954B2 (en) * 2018-06-19 2020-05-26 International Business Machines Corporation Audio and video multimedia modification and presentation
EP3808086A1 (en) * 2018-08-14 2021-04-21 Huawei Technologies Co., Ltd. Machine-learning-based adaptation of coding parameters for video encoding using motion and object detection
US10694216B2 (en) 2018-09-11 2020-06-23 Google Llc Video coding using separate learning and filtering pathways
US10740901B2 (en) * 2018-12-17 2020-08-11 Nvidia Corporation Encoder regularization of a segmentation model
US10937169B2 (en) * 2018-12-18 2021-03-02 Qualcomm Incorporated Motion-assisted image segmentation and object detection
US10881956B2 (en) * 2018-12-28 2021-01-05 Intel Corporation 3D renderer to video encoder pipeline for improved visual quality and low latency
CN110110385B (zh) * 2019-04-12 2022-05-03 电子科技大学 基于复合形的自适应代理模型在电池模块优化设计中的应用方法
CN111835995A (zh) * 2019-04-16 2020-10-27 泰州市朗嘉尚网络科技有限公司 自适应清晰度调节方法
CN110163188B (zh) * 2019-06-10 2023-08-08 腾讯科技(深圳)有限公司 视频处理以及在视频中嵌入目标对象的方法、装置和设备
US11032576B2 (en) * 2019-06-10 2021-06-08 Microsoft Technology Licensing, Llc Selectively enhancing compressed digital content
CN110418142A (zh) * 2019-08-06 2019-11-05 杭州微帧信息科技有限公司 一种基于视频感兴趣区域的编码方法、装置、存储介质
US11145040B2 (en) * 2019-08-09 2021-10-12 The Boeing Company Dynamic background clutter suppression
CN110458918B (zh) * 2019-08-16 2023-05-09 北京百度网讯科技有限公司 用于输出信息的方法和装置
US10986337B2 (en) * 2019-08-22 2021-04-20 Immersive Tech, Inc. Systems and methods for selective transmission of media content
WO2021070004A1 (en) * 2019-10-08 2021-04-15 Spectalix Ltd. Object segmentation in video stream
CN110677624B (zh) * 2019-10-21 2020-09-18 浙江大学 基于深度学习的面向监控视频的前景和背景并行压缩方法
CN111160125B (zh) * 2019-12-11 2023-06-30 北京交通大学 基于铁路监控的铁路异物入侵检测方法
CN113011218B (zh) * 2019-12-19 2024-03-01 合肥君正科技有限公司 一种车内监控检测中应对人员上下车自动更新背景的方法
CN111614996B (zh) * 2020-04-07 2022-03-18 上海推乐信息技术服务有限公司 一种视频修复方法和系统
CN111444359B (zh) * 2020-04-15 2023-09-15 西安超嗨网络科技有限公司 一种关于图像差分识别放入行为的方法
JP2021175035A (ja) * 2020-04-21 2021-11-01 キヤノン株式会社 画像処理装置、画像処理方法
US11790535B2 (en) * 2020-05-12 2023-10-17 True Meeting Inc. Foreground and background segmentation related to a virtual three-dimensional (3D) video conference
US11734789B2 (en) 2020-06-02 2023-08-22 Immersive Tech, Inc. Systems and methods for image distortion correction
NO346137B1 (en) * 2020-06-17 2022-03-14 Pexip AS Method, computer program and system for detecting changes and moving objects in a video view
CN111781600B (zh) * 2020-06-18 2023-05-30 重庆工程职业技术学院 一种适用于信号交叉口场景的车辆排队长度检测方法
WO2022005274A1 (en) * 2020-06-30 2022-01-06 Mimos Berhad A system and method for detecting a moving object in a dynamic environment from a sequence of captured images
CN111812703B (zh) * 2020-07-07 2022-09-09 山东省科学院海洋仪器仪表研究所 一种伽玛能谱背景计数方法
CN111768425B (zh) * 2020-07-23 2021-08-10 腾讯科技(深圳)有限公司 图像处理方法、装置及设备
WO2022036633A1 (en) * 2020-08-20 2022-02-24 Shanghai United Imaging Healthcare Co., Ltd. Systems and methods for image registration
CN112016469A (zh) * 2020-08-28 2020-12-01 Oppo广东移动通信有限公司 图像处理方法及装置、终端及可读存储介质
CN112184773A (zh) * 2020-09-30 2021-01-05 华中科技大学 一种基于深度学习的安全帽佩戴检测方法及系统
US11263796B1 (en) * 2020-11-11 2022-03-01 Sony Interactive Entertainment Inc. Binocular pose prediction
US11544828B2 (en) * 2020-11-18 2023-01-03 Disney Enterprises, Inc. Automatic occlusion detection
EP4009635A1 (en) 2020-12-07 2022-06-08 Axis AB Method and system for producing streams of image frames
CN112767295A (zh) * 2021-01-14 2021-05-07 Oppo广东移动通信有限公司 图像处理方法、图像处理装置、存储介质与电子设备
WO2022211459A1 (ko) * 2021-04-02 2022-10-06 현대자동차주식회사 세그멘테이션을 이용하는 비디오 코딩방법 및 장치
CN113192101B (zh) * 2021-05-06 2024-03-29 影石创新科技股份有限公司 图像处理方法、装置、计算机设备和存储介质
US11582464B2 (en) * 2021-06-23 2023-02-14 Microsoft Technology Licensing, Llc Using morphological operations to process frame masks in video content
CN113747151B (zh) * 2021-07-30 2024-04-12 咪咕文化科技有限公司 视频编解码方法、装置、设备及计算机可读存储介质
US11765311B2 (en) 2021-07-30 2023-09-19 Cisco Technology, Inc. Transport mechanisms for video stream merging with overlapping video
CN113660495A (zh) * 2021-08-11 2021-11-16 易谷网络科技股份有限公司 实时视频流压缩方法、装置、电子设备以及存储介质
CN113473142B (zh) * 2021-09-03 2022-10-04 浙江智慧视频安防创新中心有限公司 视频编码、视频解码方法及装置、电子设备、存储介质
CN113989460B (zh) * 2021-10-19 2024-05-17 中国海洋大学 用于增强现实场景的实时天空替换特效控制方法及装置
CN116916033B (zh) * 2022-06-24 2024-05-10 澳门大学 一种基于随机自适应傅里叶分解的联合时空视频压缩方法
CN114898409B (zh) * 2022-07-14 2022-09-30 深圳市海清视讯科技有限公司 数据处理方法和设备
CN117278692B (zh) * 2023-11-16 2024-02-13 邦盛医疗装备(天津)股份有限公司 一种医疗检测车病患监测数据脱敏保护方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5274715A (en) * 1989-09-21 1993-12-28 Hsu Shin Yi Characterizing image texture
US6160848A (en) * 1998-01-22 2000-12-12 International Business Machines Corp. Conditional replenishment device for a video encoder
US7424175B2 (en) 2001-03-23 2008-09-09 Objectvideo, Inc. Video segmentation using statistical pixel modeling
US20060170769A1 (en) 2005-01-31 2006-08-03 Jianpeng Zhou Human and object recognition in digital video
EP2584494A3 (en) * 2006-08-03 2015-02-11 Alterface S.A. Method and device for identifying and extracting images of multiple users, and for recognizing user gestures
TW200926011A (en) * 2007-09-04 2009-06-16 Objectvideo Inc Background modeling with feature blocks
US9031279B2 (en) * 2008-07-09 2015-05-12 Disney Enterprises, Inc. Multiple-object tracking and team identification for game strategy analysis
US8379985B2 (en) 2009-07-03 2013-02-19 Sony Corporation Dominant gradient method for finding focused objects
CN102288166A (zh) * 2011-05-13 2011-12-21 河海大学 基于视频的多模型结合水面船舶检测方法
US8792013B2 (en) 2012-04-23 2014-07-29 Qualcomm Technologies, Inc. Method for determining the extent of a foreground object in an image
CN102970528B (zh) * 2012-12-28 2016-12-21 北京航空航天大学 基于变化检测和帧差累积的视频对象分割方法
US9299004B2 (en) * 2013-10-24 2016-03-29 Adobe Systems Incorporated Image foreground detection
CN103745456B (zh) * 2013-12-23 2018-07-13 深圳先进技术研究院 一种图像分割方法及装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220028066A (ko) * 2019-07-17 2022-03-08 에이아이모티브 케이에프티. 카메라 스트림용 마스크를 생성하기 위한 방법, 컴퓨터 프로그램 제품 및 컴퓨터 판독 가능 매체
KR20220117768A (ko) * 2021-02-17 2022-08-24 주식회사 어노테이션에이아이 대화형 이미지 분할 알고리즘의 전경 시드와 배경 시드를 동시에 제공하는 편집 방법
KR20220132109A (ko) 2021-03-23 2022-09-30 한국항공대학교산학협력단 영상의 비활성 영역 패딩 시스템 및 방법

Also Published As

Publication number Publication date
EP3143768B1 (en) 2020-09-23
US20150334398A1 (en) 2015-11-19
EP3143768A1 (en) 2017-03-22
CN106664417B (zh) 2020-02-18
EP3143768A4 (en) 2018-01-31
WO2015175201A1 (en) 2015-11-19
US9584814B2 (en) 2017-02-28
CN106664417A (zh) 2017-05-10
KR101894649B1 (ko) 2018-10-04

Similar Documents

Publication Publication Date Title
KR101894649B1 (ko) 비디오 코딩을 위한 콘텐츠 적응적 배경-전경 분할 기법
US10977809B2 (en) Detecting motion dragging artifacts for dynamic adjustment of frame rate conversion settings
US10552962B2 (en) Fast motion based and color assisted segmentation of video into region layers
US10944996B2 (en) Visual quality optimized video compression
US10491895B2 (en) Fast and robust human skin tone region detection for improved video coding
US10628700B2 (en) Fast and robust face detection, region extraction, and tracking for improved video coding
JP6501092B2 (ja) オブジェクトセグメンテーションのための前景マスク補正のための画像処理装置及び方法
US9741125B2 (en) Method and system of background-foreground segmentation for image processing
US10269121B2 (en) Fast color based and motion assisted segmentation of video into region-layers
Kim et al. A VOP generation tool: automatic segmentation of moving objects in image sequences based on spatio-temporal information
US10430694B2 (en) Fast and accurate skin detection using online discriminative modeling
US10887614B2 (en) Adaptive thresholding for computer vision on low bitrate compressed video streams
US10607321B2 (en) Adaptive sharpness enhancement control
US20170178306A1 (en) Method and device for synthesizing an image of a face partially occluded
US10217243B2 (en) Method, system and apparatus for modifying a scene model
KR20140147123A (ko) 움직임 보상 기반 비디오 코딩을 보조하는 깊이 정보의 사용
Arvanitidou et al. Motion-based object segmentation using hysteresis and bidirectional inter-frame change detection in sequences with moving camera
Bhattacharya et al. Visual saliency detection using spatiotemporal decomposition
Han et al. Adaptive coding of moving objects for very low bit rates
Laumer et al. Moving object detection in the H. 264/AVC compressed domain
Meier Segmentation for video object plane extraction and reduction of coding artifacts
Camplani et al. Adaptive background modeling in multicamera system for real-time object detection
Chen et al. Compressed-domain moving region segmentation with pixel precision using motion integration
WO2014031538A1 (en) Background detection as an optimization for gesture recognition
Cekic et al. New frame rate up-conversion based on foreground/background segmentation

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