KR20180077060A - 화소들의 리스트들을 인코딩 및 디코딩하는 방법 및 장치 - Google Patents

화소들의 리스트들을 인코딩 및 디코딩하는 방법 및 장치 Download PDF

Info

Publication number
KR20180077060A
KR20180077060A KR1020170179649A KR20170179649A KR20180077060A KR 20180077060 A KR20180077060 A KR 20180077060A KR 1020170179649 A KR1020170179649 A KR 1020170179649A KR 20170179649 A KR20170179649 A KR 20170179649A KR 20180077060 A KR20180077060 A KR 20180077060A
Authority
KR
South Korea
Prior art keywords
index
image
matrix
pixel
pixels
Prior art date
Application number
KR1020170179649A
Other languages
English (en)
Inventor
줄리앙 플뢰로
디디에 드와앵
프랑끄 튀도르
Original Assignee
톰슨 라이센싱
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 톰슨 라이센싱 filed Critical 톰슨 라이센싱
Publication of KR20180077060A publication Critical patent/KR20180077060A/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/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/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • 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]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • 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/187Segmentation; Edge detection involving region growing; involving region merging; involving connected component labelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • G06V10/457Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by analysing connectivity, e.g. edge linking, connected component analysis or slices
    • 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/129Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
    • 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/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • General Engineering & Computer Science (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Artificial Intelligence (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

본 개시는 이미지의 화소 리스트들을 인코딩 및 디코딩하는 방법들 및 장치에 관한 것이다. 이미지의 화소들은 적어도 하나의 관계에 따라 클러스터링된다. 클러스터들은 화소 리스트들로서 저장된다. 이미지와 동일한 사이즈의 정수 행렬이 생성된다. 제 1 인덱스에서의 이미지의 화소는 하나의 리스트에 속한다. 리스트에서의 다음의 화소는 제 2 인덱스를 갖는다. 정수는 2 개의 인덱스들에 따라 계산되고 행렬 내의 제 1 인덱스에 저장된다. 행렬은 무손실 압축 방법에 따라 압축될 수도 있다. 디코딩 시, 이미지에서의 제 1 인덱스를 갖는 화소는 화소 리스트와 연관된다. 제 2 인덱스는 행렬에서의 제 1 인덱스에서의 정수에 따라 계산되고 이미지에서의 제 2 인덱스에서의 화소는 리스트에 추가된다.

Description

화소들의 리스트들을 인코딩 및 디코딩하는 방법 및 장치{METHOD AND APPARATUS FOR ENCODING AND DECODING LISTS OF PIXELS}
본 개시는 예를 들어 이미지의 화소들의 클러스터링이 이미지 또는 비디오 프로세싱 파이프라인의 상이한 스테이지들에서 사용되는 경우에 이미지의 화소들 사이의 인코딩 및 디코딩 관계들의 영역에 관한 것이다.
화소 클러스터링은 이미지 및 비디오 프로세싱 파이프라인들의 넓은 세트에서 필수 단계이다. 이미지의 (및 더 한층 강력한 이유로, 비디오 시퀀스의 각각의 이미지의) 화소들을 클러스터들로 모으는 것은 광범위한 당야한 컴퓨테이션에 대한 예비적인 동작이다. 예를 들어, 컴퓨터 비전에서, 이미지 세그멘테이션은 디지털 이미지를 다수의 세그먼트들 (슈퍼-화소들로서도 알려진, 화소들의 세트들) 로 파티셔닝하는 프로세스이다. 다른 예는 멀티-뷰 또는 플렌옵틱 이미지들에 의해 주어진다. 그러한 이미지들은 뷰들 (views) 의 상이한 포인트로부터 캡쳐된 동일한 뷰의 이미지들의 어레이들이다. 이들 이미지들은 통상 다수의 재구성 기법들 (예를 들어, 리포커싱, 3D 재구성 또는 사진측량) 에 대해 사용된다.
그러한 동작은 화소들 사이에서 검출하거나 추정할 관계들에 따라 그리고 이미지들의 사이즈 및 수에 따라 매우 시간 및 자원 소비적일 수도 있다. 예를 들어, 멀티-뷰 이미지들에서, 3차원 공간에서 공통 포인트와 연관된 화소들의 클러스터를 취출하는 것은 매우 복잡한 프로세스이다.
이미지 프로세싱 파이프라인은 네트워크의 상이한 노드들에서 상이한 디바이스들에 의해 실행될 수도 있는 이미지 프로세싱 애플리케이션들의 연결로 구성된다. 동일한 화소 클러스터링이 프로세싱의 상이한 스테이지들에 대해 유용할 수도 있다. 화소의 그러한 클러스터들을 효율적으로 인코딩, 디코딩 및 스캐닝하는 것은 파이프라인에서의 수개의 노드들에서 클러스터링을 수회 컴퓨팅해야 하는 것을 회피하기 위해 요구된다. 화소 클러스터들을 인코딩하는 첫번째 방법은 정수들의 리스트의 리스트를 구축하는데 있다: 각각의 클러스터에 대해, 그것의 화소들의 인덱스들을 리스팅. 다른 방법은 이미지의 각 화소에 대해 그 화소가 속하는 클러스터의 식별자를 저장하는, 이미지와 동일한 사이즈의 정수들의 행렬을 인코딩하는데 있다. 이들 접근법들은 2 가지 주요 단점들을 갖는다. 첫째, 그것들이 생성하는 데이터가 무손실 압축을 위해 준비되지 않고, 결과적으로 낮은 아축 레이트를 제공할 것이다. 둘째, 그것들은 동시에 이미지의 및 클러스터들의 빠른 스캐닝에 적응되지 않는다. 이들 단점들을 극복하는 인코딩 및 디코딩 방법들이 결여되어 있다.
본 개시의 목적은 이미지의 화소들의 리스트들을 저장, 압축 및 송신하는 인코딩 및 디코딩 방법의 결여를 극복하는 것이다.
본 개시의 목적은 이미지의 화소들의 리스트들을 저장, 압축 및 송신하는 인코딩 및 디코딩 방법의 결여를 극복하는 것이다.
본 개시는 정수들의 행렬로 이미지의 화소들의 리스트들을 인코딩하는 방법에 관한 것이다. 그 행렬은 이미지와 동일한 사이즈로 생성된다. 방법은, 화소 리스트들의 리스트에 속하는, 이미지에서의 제 1 인덱스에서의 제 1 화소에 대해,
- 이미지에서의 제 2 인덱스에서의 제 2 화소를 획득하는 단계로서, 상기 제 2 화소는 리스트에서 상기 제 1 화소의 다음에 있는, 상기 제 2 화소를 획득하는 단계; 및
- 행렬에서의 제 1 인덱스에 제 1 및/또는 제 2 인덱스에 따라 계산된 정수를 인코딩하는 단계
를 포함한다.
그 방법의 이점은, 특히 화소들의 리스트들이 그들의 화소들의 인덱스들의 오름차순 또는 내림차순으로 저장되는 경우, 높은 레벨의 압축을 갖는 이미지 무손실 압축 방법들로 압축하기가 용이한 행렬을 생성하는 것이다.
일 실시형태에서, 인코딩될 정수는 제 2 인덱스와 동일하다. 예를 들어 멀티-뷰 이미지들의 경우 또는 컴퓨터 비젼의 경우, 행렬은 선명한 경계들을 갖는 정수들의 그레디언트들을 포함한다. 그러한 저주파 행렬은 이미지 무손실 압축 방법들에 의해 매우 높은 레벨의 압축으로 압축된다.
다른 실시형태에서, 인코딩될 정수는, 선택적으로 행렬의 사이즈를 법으로 하여 (modulo), 제 2 인덱스와 제 1 인덱스 사이의 차이이다. 예를 들어 멀티-뷰 이미지들의 경우 또는 컴퓨터 비젼의 경우, 행렬은 동일한 정수의 큰 영역들이다. 여기서 다시, 이러한 타입의 행렬은 이미지 무손실 압축 방법들에 의한 매우 높은 레벨의 압축으로 압축된다.
특정의 특징에 따르면, 방법은 목적지 매체로 행렬과 연관된 이미지를 송신하는 단계를 더 포함하고, 목적지 매체는 로컬 또는 원격 모듈 또는 디바이스이다.
본 개시는 또한 정수들의 행렬로부터 이미지의 화소들의 리스트들을 디코딩하는 방법에 관한 것이다. 그 행렬은 이미지의 사이즈와 동일한 사이즈를 갖는다. 방법은, 화소들의 리스트에 속하는, 이미지에서의 제 1 인덱스에서의 제 1 화소에 대해,
- 제 1 인덱스 및/또는 행렬에서의 제 1 인덱스에서 판독된 정수에 따라 제 2 인덱스를 계산하는 단계; 및
- 이미지에서의 제 2 인덱스에서의 제 2 화소를 리스트에서의 제 1 화소 다음의 화소로서 설정하는 단계
를 포함한다.
이러한 방법에 따르면, 화소들의 각각의 리스트는 동시에 디코딩 및 스캐닝된다. 화소들 사이의 관계의 그러한 표현은 화소들의 순환 리스트들 (circular lists) 을 액세스하기 위해 이미지 프로세싱 파이프라인의 노드들을 컴퓨팅하는 것을 허용한다.
특정의 특징에 따르면, 리스가 생성되고 제 1 화소로 초기화된다.
본 개시는 정수들의 행렬로 이미지의 화소들의 리스트들을 인코딩하기 위해 구성된 장치에 관한 것이며, 그 행렬은 이미지의 사이즈와 동일한 사이즈를 갖고, 그 장치는, 화소 리스트들 중 제 1 리스트에 속하는, 이미지에서의 제 1 인덱스에서의 제 1 화소에 대해,
- 이미지에서의 제 2 인덱스에서의 제 2 화소를 획득하는 것으로서, 상기 제 2 화소는 리스트에서 상기 제 1 화소의 다음에 있는, 상기 제 2 화소를 획득하고; 및
- 행렬에서의 제 1 인덱스에 제 1 인덱스 및/또는 제 2 인덱스에 따라 계산된 정수를 인코딩하도록
구성된 적어도 하나의 프로세서와 연관된 메모리를 포함한다.
본 개시는 또한 정수들의 행렬로부터 이미지의 화소들의 리스트들을 디코딩하기 위해 구성된 장치에 관한 것이며, 그 행렬은 이미지의 사이즈와 동일한 사이즈를 갖고, 그 장치는, 화소들의 상기 리스트들의 리스트에 속하는, 이미지에서의 제 1 인덱스에서의 제 1 화소에 대해,
- 상기 제 1 인덱스 및/또는 행렬에서의 제 1 인덱스에서의 정수에 따라 제 2 인덱스를 계산하고; 및
- 이미지에서의 제 2 인덱스에서의 제 2 화소를 리스트에서의 제 1 화소 다음의 화소로서 설정하도록
구성된 적어도 하나의 프로세서와 연관된 메모리를 포함한다.
다음의 설명을 읽으면 본 개시가 더 잘 이해될 것이고, 다른 특정의 특징들 및 이점들이 드러날 것이며, 그 설명은 첨부된 도면들을 참조하여 행해진다.
- 도 1 은 본 원리들의 특정의 실시형태에 따른, 화소 클러스터링 프로세스가 적용된 이미지를 도시한다.
- 도 2 는 본 원리들의 특정의 실시형태에 따른, 화소들 사이의 관계들이 컴퓨팅된 멀티-뷰 이미지를 도시한다.
- 도 3a 는 본 원리들의 특정의 실시형태에 따른, 행 기반 스캐닝에 따라 인덱싱된 화소들의 6 X 4 행렬로서의 클러스터링된 화소들을 갖는, 도 1 의 이미지와 비교할 수 있는 이미지를 도시한다.
- 도 3b 는 본 원리들의 특정의 실시형태에 따른, 도 3a 의 이미지의 화소들의 리스트들을 인코딩하는 실시형태를 도시한다.
- 도 3c 는 본 원리들의 특정의 실시형태에 따른, 도 3a 의 이미지의 화소들의 리스트들을 인코딩하는 다른 실시형태를 도시한다.
- 도 4a 는 본 원리들의 특정의 실시형태에 따른, 행 기반 스캐닝에 따라 인덱싱된 화소들의 5 X 4 행렬로서의 클러스터링된 화소들을 갖는, 도 2 의 이미지와 비교할 수 있는 이미지를 도시한다.
- 도 4b 는 본 원리들의 특정의 실시형태에 따른, 도 4a 의 이미지의 화소들의 리스트들을 인코딩하는 방법을 도시한다.
- 도 4c 는 본 원리들의 특정의 실시형태에 따른, 도 4a 의 이미지의 화소들의 리스트들을 인코딩하는 방법을 도시한다.
- 도 5 는 본 원리들의 특정의 실시형태에 따른, 화소들의 리스트들을 코딩하거나 디코딩하도록 구성된 장치의 하드웨어 실시형태를 도시한다.
- 도 6 은 본 원리들의 특정의 실시형태에 따른, 도 5 의 프로세싱 디바이스에서 구현된 바와 같은 화소들의 리스트들을 인코딩하는 방법의 실시형태를 다이어그램으로 도시한다.
- 도 7 은 본 원리들의 특정의 실시형태에 따른, 도 5 의 프로세싱 디바이스에서 구현된 바와 같은 화소들의 리스트들을 디코딩하는 방법의 실시형태를 다이어그램으로 도시한다.
도면들을 참조하여 이제 본 주제가 기술되며, 여기서 유사한 참조 번호들은 전체에 걸쳐 유사한 엘리먼트들을 지칭하기 위해 사용된다. 다음의 설명에서, 설명의 목적으로, 다수의 특정의 상세들이 본 주제의 철저한 이해를 제공하기 위해 진술된다. 주제 실시형태들은 이들 특정의 상세들 없이 실시될 수 있다는 것이 이해된다.
정수 인덱스로서 화소의 좌표들을 인코딩하는 것은 이미지 프로세싱의 영역에서 통상적이다. 인덱스는 (식 [1] 에 따라) 행 기반으로 또는 (식 [2] 에 따라) 열 기반으로 이미지를 스캐닝할 때 화소의 넘버로서 계산된다. 이러한 인코딩은 수개의 이점들을 갖는다. 첫째, 좌표들은 2 개 대신에 하나의 정수에 의해 표현되고, 인덱스들은 스캐닝 동작을 반영하는 방식으로 순서화된다: 2 개의 인덱스들을 비교하는 것은 화소가 주어진 스캐닝에서 다른 화소 앞에 있는지 또는 뒤에 있는지를 말해주는 빠른 계산법이다. 이 문서에서, 화소 인덱스는, 이미지의 폭 및 높이 및 선택된 스캐닝 방법을 알고 있을 때 인덱스를 좌표들로 변환하고 상반되게 변환하는 것은 간단하고 통상적이기 때문에, 화소 좌표들의 등가물이다.

[1] n = x + w * y {x = n % w; y = (n-x)/w}
[2] n = y + h * x {y = n % h; x = (n-y)/h}
'n' 은 좌표들 (x, y) 에서의 화소의 인덱스이며, w 는 이미지의 화소들에서의 폭이고 h 는 이미지의 화소들에서의 높이며; x 는 [0..w-1] 에 속하고 y 는 [0..h-1] 에 속한다.
당업자들은, 여기에 명시적으로 기술되거나 도시되지는 않지만, 본 개시의 원리들을 구현하는 여러 배열들을 고안할 수 있을 것이라는 것이 인정될 것이다.
본 원리들의 비제한적 실시형태에 따르면, 이미지의 화소들의 리스트들을 인코딩하는 방법 및 디바이스가 개시된다. 이미지의 화소들은 적어도 하나의 관계에 따라 클러스터링된다. 컴퓨터들의 메모리의 기술적 특징으로 인해, 아이템들의 리스트들로서 일반적으로 클러스터들 또는 세트들을 저장하는 것은 통상적이다. 리스트, 예를 들어, 화소들의 리스트는 예를 들어 이미지에서의 화소의 인덱스들의 오름차순 또는 내림차순으로, 순서화하는 것에 따라 분류될 수도 있다. 본 원리들에 따르면, 이미지와 동일한 사이즈 (w*h) 의 정수들의 행렬이 생성된다. 인덱스 N1 에서의 이미지의 화소 P1 은 하나의 리스트 L 에 속한다. 리스트 L 에서의 다음의 화소는 이미지에서 인덱스 N2 를 갖는 화소 P2 이다. 정수는 N1 및/또는 N2 에 따라 계산되고 행렬에서 인덱스 N1 에 저장된다. 정수는 적어도 2 개의 인덱스들 N1 및 N2 에 따라 계산된다. 행렬에 인코딩하는 정수는 P1 의 인덱스 및 P2 의 인덱스 중 적어도 하나를 포함하는 인덱스들의 그룹과 관련하여 획득된다. 예를 들어, 이러한 정수는 N2 이다. 변형으로, 이러한 정수는 N2-N1 이다. 이러한 방법은 또한 예시의 계산법 및 특수한 케이스들에 대해 상세히 기술된다. 생성된 행렬은 그 후 무손실 압축 방법에 따라 압축될 수도 있고 (또한 압축될 수도 있는) 이미지와 연관될 수도 있다. 그들은 이미지 또는 비디오 프로세싱 파이프라인의 다음의 스테이지로 송신될 수도 있다.
본 원리들의 다른 비제한적인 실시형태에 따르면, 이미지의 화소들의 리스트들을 디코딩하는 방법 및 디바이스가 개시된다. 사이즈 (w*h) 의 이미지 및 동일한 사이즈 (w*h) 의 정수들의 행렬이 입력으로서 수신된다. 이들 데이터는 잠재적으로 압축되고, 그런 경우에 적절한 압축해제 방법을 사용하여 압축해제된다. 인덱스 N1 을 갖는 이미지의 화소 P1 은 화소들의 리스트 L 와 연관된다. 이러한 초기 연관의 상이한 실시형태들이 본 설명에서 상세히 더 기술된다. 인덱스 N2 는 행렬에서의 인덱스 N1 에서의 정수 I 에 따라 계산되고, 이미지에서의 인덱스 N2 에서의 화소 P2 는 리스트 L 에서의 P1 다음의 화소로서 설정된다. 예를 들어, N2 는 I 이다. 변형에서, N2 = N1 + I 이다. 이러한 방법은 리스트 L 의 화소들의 빠른 스캐닝을 허용한다. 즉, 본 방법은 리스트 L 에서의 P1 과 연관된 이미지의 모든 화소들의 고속 스캐닝을 허용한다. 인덱스 N2 는 적어도 인덱스 N1 및 정수 I 의 값들 중 하나에 따라 계산된다. 인덱스 N2 는 P1 의 인덱스 및 인덱스 N1 에서의 행렬에서 판독된 정수 I 중 적어도 하나를 포함하는 값들의 그룹과 관련하여 획득된다.
도 1 은 화소 클러스터링 프로세스가 적용된 이미지 (10) 를 도시한다. 이미지 (10) 의 화소들은 예를 들어 컴퓨터 비젼 알고리즘 또는 오브젝트 인식 알고리즘에 의해 클러스터링되었다. 이러한 예시의 이미지에서, 화소들은 4 개의 클러스터들로 모여졌다. 클러스터 (11) 는 코끼리의 특징을 이루고 있는 화소들을 모으고; 클러스터 (12) 는 하늘의 특징을 이루고 있는 화소들을 모으며; 클러스터 (13) 는 관목의 특징을 이루고 있는 화소들을 모으고; 클러스터 (14) 는 나무들의 특징을 이루고 있는 화소들을 모은다. 클러스터들 (11 및 12) 은 화소들의 연결된 그룹들인 반면, 클러스터들 (13 및 14) 은 이미지의 수개의 별개의 영역들로 구성된다. 클러스터들은 이미지의 화소들 사이의 관계에 따른 알고리즘에 의해 형성되었다. 도 1 의 예에서, 화소들은 동일한 종류의 오브젝트에 속하는 것으로서 그룹핑되었다. 메모리에서, 화소 클러스터들은 화소들의 리스트들로서 인코딩된다. 이들 4 개의 리스트들은 예를 들어 행 기반 스캐닝에 따른 화소들의 인덱스의 오름차순으로 분류될 수도 있다.
도 2 는 화소들 사이의 관계들이 컴퓨팅된 멀티-뷰 이미지 (20) 를 도시한다. 이미지 (20) 는 4 X 4 카메라들의 어레이에 의해 캡쳐된 16 개의 서브-이미지들로 구성된다. 카메라들에 의해 캡쳐된 3차원 (3D) 공간의 포인트들은 멀티-뷰 이미지 (20) 상에서 최대 16 회 보여진다. 즉, 멀티-뷰 이미지의 일부 화소들은 3D 공간의 동일한 포인트를 표현한다. 예를 들어, 캐릭터의 우안상의 포인트 (21) 는 이미지 (20) 상에서 12 회 존재한다 (실제로, 투영된 화소들은 이산 이미지 샘플링으로 인해 정확하게 동일한 3D 포인트로부터 오지는 않지만, 알고리즘들은 동일장소 (collocation) 을 가정한다). 캐릭터의 좌측 신발상의 포인트 (22) 는 멀티-뷰 이미지 (20) 상에서 4 회 존재한다. 3D 공간의 동일한 포인트로부터 오는 멀티뷰 (또는 플렌옵틱) 이미지의 화소들을 클러스터링하는 것은 이미지 프로세싱 파이프라인에서 유용한 프로세싱이다. 그러나, 그러한 알고리즘은 시간 및 메모리 소모적이다. 파이프라인의 다른 노드들로 그것들을 송신하기 위해 그러한 알고리즘의 결과들 (즉, 화소들 사이의 컴퓨팅된 관계들) 을 인코딩하는 것은 그것들을 다시 컴퓨팅할 필요가 없도록 하기 위해 중요하다. 도 1 의 클러스터들의 경우와 같이, 도 2 의 클러스터들은 화소들의 리스트들로서 인코딩된다. 이들 다수의 리스트들은 예를 들어 행 기반 스캐닝에 따른 화소들의 인덱스의 오름차순으로 분류될 수도 있다.
도 3a 는 행 기반 스캐닝에 따라 인덱싱된 화소들의 6 X 4 행렬로서의 클러스터링된 화소들을 갖는 이미지를 도시한다. 화소들은 0 부터 23 까지 인덱싱된다. 2 개의 클러스터들 (백색 화소들 및 회색 화소들) 이 도시된다. 그것들은 도 1 에 의해 도시된 것과 같은 알고리즘으로부터 야기될 수도 있다. 이러한 예에서, 그 2 개의 클러스터들은 화소들의 인덱스에 따라 분류된 리스트들에 의해 인코딩된다. "백색" 클러스터는 화소들 {0, 1, 4, 5, 6, 9, 10, 11, 12, 17, 18, 19, 20, 21, 22, 23} 을 리스팅하고, "회색" 클러스터는 화소들 {2, 3, 7, 8, 13, 14, 15, 16} 을 리스팅한다. 그러한 클러스터들의 특이성은 이미지의 연결된 영역들을 점유하는 것이다.
도 3b 는 도 3a 의 이미지의 화소들의 리스트들을 인코딩하는 실시형태를 도시한다. 리스트들은 이미지와 동일한 사이즈를 갖는 정수 행렬에 인코딩된다. 이미지의 화소에 대해, 그것의 인덱스 및 그것이 속하는 리스트에서의 다음 화소의 인덱스에 따라 정수가 계산된다. 계산된 정수는 그 후 고려된 화소의 위치에서 행렬에 저장된다. 이러한 실시형태에서, 계산된 정수는 리스트에서의 다음의 화소의 인덱스이다. 예를 들어, 화소 0 의 경우, 백색 리스트에서의 다음 화소는 화소 1 이고, 화소 1 의 경우, 백색 리스트에서의 다음 화소는 화소 4 이다. 정수 1 이 화소 0 의 위치에서 (즉, 인덱스 0 에서) 행렬에 저장되고, 정수 4 가 화소 1 의 위치에서 (즉, 인덱스 1 에서) 행렬에 저장된다. 리스트의 마지막 화소의 다음 화소는 리스트의 첫번째 화소이다. 도 3a 의 예에서, 화소 23 의 다음 화소는 화소 0 이고, 화소 16 의 다음 화소는 화소 2 이다. 이러한 예에서, 인코딩할 화소들의 리스트들은 화소들의 인덱스의 오름차순으로 분류된다. 리스들은 이미지의 연결된 영역들을 점유하는 클러스터들을 나타내기 때문에, 본 원리들의 이러한 실시형태는 확연한 경계를 갖는 그들의 행들에 대한 정수 그레디언트들을 갖는 행렬들을 생성하는 이점을 갖는다. 이것은 예를 들어 도 3b 의 행렬의 제 3 행에 대해 설명된다. 정수들의 그레디언트들을 갖는 그러한 행렬들은 이미지 무손실 압축 알고리즘들에 의해 효율적으로 압축될 수 있다. 행렬들은 그 후 송신하기에 매우 가볍다.
본 원리들에 따르면, 정수들의 행렬을 디코딩하는 것은 디코더가 화소들의 리스트들을 취출하는 것을 허용한다. 따라서, 다시 화소들 사이의 관계를 계산하는 것이 필요하지 않다. 그것이 압축된 경우, 행렬은 먼저 적절한 압축해제 알고리즘을 사용하여 압축해제된다. 방법은 아직 디코딩되지 않은 위치에서의 행렬에서의 정수를 고려함으로써 시작한다. 바로 제 1 단계에서, 예를 들어, 인덱스 0 에서의 정수가 고려된다. 새로운 리스트가 화소 0 으로 생성되고 개시된다: La = {0}. 행렬에서의 인덱스 0 에서의 정수가 판독되고, 리스트에서의 다음 화소의 인덱스가 그 정수, 본 예에서의 1, 및 실제로 고려된 인덱스, 본 예에서의 0 에 따라 계산된다. 도 3b 에 도시된 실시형태에서, 정수는 다음의 화소의 인덱스이다. 따라서, 화소 1 이 리스트에 추가된다: La = {0, 1}. 그 후, 계산된 인덱스에서의 정수가 판독되고, 새로운 인덱스가 계산된다. 본 예에서, 화소 4 가 리스트에 추가된다. 이러한 동작은 다음의 계산된 인덱스가 리스트에서의 첫번째 화소의 인덱스일 때까지 반복된다. 이 순간에, 리스트가 완성된다. 그것이 효율적으로 디코딩 및 스캐닝되었다. 방법은 행렬에서의 임의의 화소로 시작할 수도 있다. 일단 리스트가 완성되면, 임의의 이전의 리스트에서 고려되지 않았던 정수가 고려되고 새로운 리스트가 생성된다. 예를 들어, 리스트 Lb 는 리스트 La 에 속하지 않는 화소 16 으로 개시된다. 위치 16 에서의 정수가 판독되고 리스트에서의 다음의 화소가 계산된다. 본 예에서, 화소 2 가 리스트 Lb 에 추가된다. 이러한 동작은 화소 16 이 리스트에서의 다음의 화소로서 결정될 때까지 반복된다. 모든 인덱스들이 고려되었을 때 (모든 화소들이 리스트에 추가되었을 때), 모든 리스트들이 재구성되었다.
일 변형에서, 각각의 리스트에 대해, 리스트의 하나의 화소의 인덱스를 리스트에 대한 정보와 짝을 짓는 데이터가 생성된다. 이들 데이터의 세트는 행렬과 연관하여 송신된다. 이러한 변형에서, 디코딩 방법은 그 데이터에 의해 기술된 리스트들을 생성하고 그 짝지어진 인덱스에서 그것들을 디코딩하기 시작한다.
도 3c 는 도 3a 의 이미지의 화소들의 리스트들을 인코딩하는 다른 실시형태를 도시한다. 이러한 실시형태에서, 정수는 리스트에서의 다음 화소의 인덱스와 실제로 고려된 인덱스 사이의 차이이다. 예를 들어, 회색 리스트에서의 화소 13 을 고려할 때, 인덱스 13 에서 행렬에 저장된 정수는 화소 14 의 인덱스 마이너스 인덱스 13 이다: 14-13 = 1. 정수는 네거티브일 수도 있다. 예를 들어, 인덱스 16 을 고려하면, 리스트에서의 다음의 화소가 인덱스 2 에 있기 때문에, 행렬에서의 인덱스 16 에 저장된 정수는 2 - 16 = -14 이다. 하나의 변형에서, 도 3c 에 도시된 바와 같이, 그 차이는 행렬의 사이즈를 법으로 하여 (modulo) 계산된다. 도 3b 의 예에서, 행렬에서의 인덱스 16 에 저장된 정수는 (2 - 16) % 24 = 10 이다. 리스트들이 화소들의 인덱스의 오름차순으로 분류되는 경우, 클러스터들이 이미지의 연결된 영역들을 나타내기 때문에, (리스트에서의 다음의 화소가 종종 다음의 인덱스를 갖기 때문에) 행렬은 1 들의 넓은 영역들을 포함한다. 그러한 행렬은 이미지 무손실 압축 알고리즘들에 의한 높은 레벨의 압축으로 압축된다.
디코딩에서, 리스트들은 도 3b 에 대해 기술된 실시형태에서와 같이 압축해제된 행렬로부터 취출된다. 도 3c 의 실시형태에서, 구성 중에 있는 리스트에서의 다음 화소의 인덱스는 행렬에서의 이러한 인덱스에서 판독된 정수에 실제로 고려된 인덱스를 가산함으로써 계산된다. 예를 들어, 인덱스 12 를 고려하면, 행렬에서의 인덱스 12 에서 판독된 정수는 5 이며, 따라서 구성 중에 있는 리스트 (여기서, 백색 리스트) 에서의 다음의 화소는 화소 12 + 5 = 17 이다. 인덱스 16 을 고려하면, 판독된 정수는 -14 이고, 따라서 다음의 화소는 화소 2 이다. 도 3c 에서 도시된 변형에서, 판독된 정수는 10 이고, 리스트에서의 다음의 화소의 인덱스는 행렬의 사이즈를 법으로 하여 계산되며, 따라서 회색 리스트에서의 다음의 화소는 화소 (16 + 10) % 24 = 2 이다.
도 4a 는 행 기반 스캐닝에 따라 인덱싱된 화소들의 5 X 4 행렬로서의 클러스터링된 화소들을 갖는 이미지를 도시한다. 화소들은 0 내지 19 로 인덱싱된다. 단지 2 개의 클러스터들, 즉 화소들 {0, 11, 17} 을 리스팅하는 "밝은 회색" 클러스터 및 화소들 {1, 12, 18} 을 리스팅하는 "어두운 회색" 클러스터만이 표현된다. 각각의 리스트에서, 화소들은 그들의 인덱스의 오름차순에 따라 분류된다. 그것들은 도 2 에 의해 도시된 것과 같은 알고리즘으로부터 야기될 수도 있다. 그러한 클러스터들의 특이성은 화소들이 하나가 다른 것들로부터 멀리 떨어져 있다는 것이다. 그러나, 2 개의 인접한 화소들 P11 및 P21 이 2 개의 클러스터들 C1 및 C2 에 속하는 경우, C1 의 다른 화소 P12 는 종종 C2 의 다른 화소 P22 에 인접한다. 화소들이 예를 들어 그들의 인덱스들의 오름차순에 따라 그들의 클러스터의 리스트에서 분류되는 경우, 이러한 특성은 종종 리스트들을 따라 반복된다.
도 4b 는 도 3b 에 대해 기술된 실시형태에 따라 도 4a 의 이미지의 화소들의 리스트들을 인코딩하는 방법을 도시한다. 이미지와 동일한 사이즈의 정수들의 행렬에서의 소정 위치에서, 저장된 정수는 리스트에서의 다음의 화소의 인덱스이다. 리스트의 마지막 화소 다음의 화소는 리스트의 첫번째 화소이다. 이러한 종류의 이미지들의 인접성 특성으로 인해, 리스트들이 예를 들어 그들이 포함하는 화소들의 오름차순으로 분류되는 경우, 결과의 행렬은 이미지 무손실 압축 방법들에 의한 높은 레벨의 압축으로 압축될 수 있는 정수들의 그레디언트들을 포함한다.
도 4c 는 도 3c 에 대해 기술된 실시형태에 따라 도 4a 의 이미지의 화소들의 리스트들을 인코딩하는 방법을 도시한다. 이미지와 동일한 사이즈의 정수들의 행렬에서의 소정 위치에서, 저장된 정수는 리스트에서의 다음의 화소의 인덱스와 행렬에서의 고려된 위치의 인덱스 사이의 차이이다. 일 변형에서, 그 차이는 행렬의 사이즈를 법으로 하여 계산된다. 이러한 종류의 이미지들의 인접성 특성으로 인해, 리스트들이 예를 들어 그들이 포함하는 화소들의 오름차순으로 분류되는 경우, 결과의 행렬은 이미지 무손실 압축 방법들에 의한 높은 레벨의 압축으로 압축될 수 있는 동일한 정수의 넓은 영역들을 포함한다.
도 5 는 화소들의 리스트들을 코딩하거나 디코딩하도록 구성된 장치 (50) 의 하드웨어 실시형태를 도시한다. 이러한 예에서, 디바이스 (50) 는 클록 신호를 또한 전송하는, 어드레스들 및 데이터의 버스 (52) 에 의해 서로 연결된 다음의 엘리먼트들을 포함한다:
- 적어도 하나의 마이크로프로세서 (51) (또는 CPU),
- ROM (리드 온리 메모리) 타입의 비휘발성 메모리 (53),
- 랜덤 액세스 메모리 또는 RAM (54).
디바이스는 또한:
- 랜덤 액세스 메모리의 레지스터들을 임베딩할 수도 있는 그래픽 카드 (GPU) (55),
- 예를 들어, 마우스, 조이스틱, 웹캠 등과 같은 I/O (입력/출력) 디바이스들의 세트 (57), 및
- 전원 (56)
을 포함한다.
이롭게는, 디바이스 (50) 는 그래픽 카드에서 계산된 이미지들을 디스플레이하기 위해 그래픽 카드 (55) 로 직접 디스플레이 스크린 타입의 하나 이상의 디스플레이 디바이스들 (도시하지 않음) 로 연결된다. 변형에서, 하나 이상의 디스플레이 디바이스는 버스 (52) 을 통해 그래픽 카드 (55) 로 연결된다.
메모리들 (53, 54 및 55) 의 설명에서 사용된 단어 "레지스터" 는 언급된 메모리들 각각에서 저용량 (일부 이진 데이터) 의 메모리 구역 뿐아니라 (전체 프로그램이 저장되는 것 또는 계산되거나 디스플레이될 데이터를 나타내는 데이터의 전부 또는 부분이 저장되는 것을 가능하게 하는) 대용량의 메모리 구역 양자 모두를 지정한다.
스위치 온되는 경우, 마이크로프로세서 (51) 는, ROM (53) 의 레지스터 내의 프로그램에 따라, RAM (54) 의 레지스터들 내의 프로그램의 명령들을 로딩 및 실행한다.
하나의 특정의 실시형태에 따르면, 본 개시에 특정되고 이하에 기술되는 방법의 단계들을 구현하는 알고리즘들은 이롭게는 이들 단계들을 구현하는 디바이스 (50) 와 연관된 그래픽 카드 (55) 의 메모리 GRAM 에 저장된다.
일 변형에 따르면, 전원 (56) 은 디바이스 (50) 의 외부에 있다.
도 6 은 비제한적 이로운 실시형태에 따른 디바이스 (50) 등의 프로세싱 디바이스에서 구현된 바와 같은 화소들의 리스트들을 인코딩하는 방법 (60) 의 실시형태를 다이어그램으로 도시한다.
초기화 단계들 (61 및 62) 에서, 이미지의 화소들의 리스트들이 획득된다. 본 문서에서, 화소들의 리스트들과 같은 데이터를 획득하는 것은 소스로부터 RM 데이터를 수신하는 것으로서 이해되어야 하다. 예를 들어, 그 소스는:
- 로컬 메모리, 예를 들어, 비디오 메모리 또는 RAM (또는 랜덤 액세스 메모리), 플래시 메모리, ROM (또는 리드 온리 메모리), 하드 디스크;
- 스토리지 인터페이스, 예를 들어, 대량 스토리지, RAM, 플래시 메모리, ROM, 광디스크 또는 자기 서포트와의 인터페이스; 및
- 통신 인터페이스, 예를 들어, 유선 인터페이스 (예를 들어, 버스 인터페이스, 광역 네트워크 인터페이스, 로컬 영역 네트워크 인터페이스) 또는 무선 인터페이스 (예를 들어, IEEE 802.11 인터페이스 또는 블루투스 인터페이스).
를 포함하는 세트에 속한다.
단계 61 에서, 이미지의 사이즈가 획득되고, 이미지 자체가 또한 획득될 수도 있다. 이롭게는, 화소들의 리스트들이 예를 들어 화소 인덱스들의 오름차순으로 분류된다. 단계 62 에서, 이미지와 동일한 사이즈의 정수들의 행렬이 디바이스 (50) 의 RAM (54) 에서 생성된다. 그것은 디폴트 정수 값, 예를 들어, 제로로 초기화될 수도 있다. 일 변형에서, 행렬은 그래픽 카드 (55) 의 메모리에서 생성되고, 리스트들은 GPU 에 의해 프로세싱된다.
단계 63 에서, 리스트 L 의 화소 P1 가 고려된다. 그것은 예를 들어 제 1 리스트의 제 1 화소이다. 이러한 화소는 이미지에서 스캐닝 모드에 따라 인덱스 I1 을 갖는 위치에 위치된다. 본 방법은 리스트 L 에서 P1 다음의 화소 P2 를 선택하는 것이다. P2 는 이미지에서 인덱스 I2 을 갖는 위치에 위치된다. 단계 64 에서, 정수 값 V 는 I1 및 I2 에 따라 컴퓨팅되며; 예를 들어 V = I2 이다. 변형에서, V = I2 - I1 이다. 다른 변형에서, V = (I2 - I1) % (W x H) 이며, 여기서 W 는 이미지 (또는 행렬) 이 폭이고 H 는 이미지 (또는 행렬) 의 높이이다. I1 및 I2 의 임의의 함수는 주어진 V 및 I1 에 대해 I2 를 취출하기 위한 함수가 디코더에 의해 알려져 있는 (또는 디코더로 송신되는) 한 사용될 수도 있다. 단계 65 에서, 값 V 는 인덱스 I1 을 갖는 위치에서 행렬에 저장된다. 이롭게는, 아직 고려되지 않았던 새로운 화소가 P1 이 되도록 선택되고, 방법은 단계 63 에서 반복된다. 이러한 새로운 화소는 실제의 P2 일 수도 있다. 새로운 화소가 리스트의 마지막 화소인 경우, 리스트에서의 다음의 화소는 리스트의 첫번째 화소이다. 리스트의 모든 화소들이 고려된 경우, 방법은 다른 리스트 내의 화소에 대해 반복될 수도 있다. 이러한 동작은 이롭게는 모든 리스트들의 모든 화소들이 고려되었을 때까지 반복된다.
단계 66 에서, 행렬은 이미지 무손실 압축 방법에 의해 압축될 수도 있고, 이미지 프로세싱 파이프라인의 다른 모듈로 송신되기 위해 이미지에 연관될 수도 있다. 다른 데이터, 예를 들어, 행렬을 컴퓨팅하기 위해 사용되는 함수를 나타내는 파라미터들은 동일한 수단 또는 상이한 수단을 통해 송신될 수도 있다.
도 7 은 비제한적 이로운 실시형태에 따른 디바이스 (50) 등의 프로세싱 디바이스에서 구현된 바와 같은 화소들의 리스트들을 디코딩하는 방법 (70) 의 실시형태를 다이어그램으로 도시한다.
초기화 단계 71 에서, 정수들의 행렬이 소스로부터 획득된다. 선택적으로, 그 행렬은 압축된 형태이고, 먼저 연관된 이미지 무손실 압축해제 방법을 사용하여 압축해제된다. 변형들에서, 추가적인 데이터가 그 행렬과 공동으로 또는 개별적으로 획득된다. 예를 들어, 행렬과 동일한 사이즈의 이미지가 획득될 수도 있다. 리스트에 대한 설명을 리스트의 화소와 짝을 짓는 데이터가 획득될 수도 있다. 예를 들어, 화소들의 리스트들을 인코딩하기 위해 사용되는 함수를 나타내는 파라미터들이 또한 동일한 소스로부터 또는 상이한 소스로부터 획득된다.
단계 72 에서, 이미지에서의 인덱스 I1 에서의 화소 P1 이 고려된다. 이러한 화소는 리스트 L 에 속하는 것으로 알려진다. 필요한 경우, 화소들의 새로운 리스트가 화소 P1 으로 생성되고 초기화된다. 정수 값 V 가 인덱스 I1 에서의 행렬에서 판독된다. 행렬이 이미지와 동일한 사이즈를 갖기 때문에, 이러한 인덱스는 항상 존재한다. 단계 73 에서, 제 2 인덱스 I2 는 I1 및 V 에 따라 계산되며; 예를 들어 I2 = V 이다. 변형에서, I2 = V + I1 이다. 다른 변형에서, I2 = (V + I1) % (W x H) 이며, 여기서 W 는 이미지 (또는 행렬) 이 폭이고 H 는 이미지 (또는 행렬) 의 높이이다. 단계 74 에서, 이미지에서의 인덱스 I2 에서의 화소 P2 가 리스트에서의 P1 다음의 화소로서 리스트 L 에 추가된다. 이롭게는, 아직 고려되지 않았던 새로운 화소가 P1 이 되도록 선택되고, 방법은 단계 72 에서 반복된다. 이러한 새로운 화소는 실제의 P2 일 수도 있다. 새로운 화소가 리스트의 첫번째 화소인 경우, 리스트는 전체적으로 디코딩 및 스캐닝되었고; 방법은 아직 고려되지 않았던 이미지의 화소를 선택한다. 이미지의 모든 화소들이 고려된 경우, 모든 리스트들이 디코딩 및 스캐닝되었다.
당연히, 본 개시는 이전에 기술된 실시형태들에 제한되지 않는다. 특히, 본 개시는 화소들의 리스트들을 코딩 및 디코딩하는 방법에 제한되지 않고, 정수들의 행렬로서 인코딩된 화소들의 리스트들을 송신 및 스캐닝하는 임의의 방법으로 확장된다. 화소들의 리스트들을 인코딩 및 디코딩하기 위해 필요한 계산들의 구현은 셰이터 타입 마이크로프로그램들에서의 구현에 또한 제한되지 않고, 또한 임의의 프로그램 타입의 구현, 예를 들어, CPU 타입 마이크로프로세서에 의해 실행될 수 있는 프로그램들로 확장된다. 본 개시의 방법들의 사용은 절차적 구현에 제한되지 않고, 수개의 마이크로프로세서들을 사용하는 병렬 구현들에 확장된다.
여기에 기술된 구현들은 예를 들어 방법 또는 프로세스, 장치, 소프트웨어 프로그램, 데이터 스트림, 또는 신호로 구현될 수도 있다. 비록 단일의 형태의 구현의 콘텍스트에서만 논의되지만 (예를 들어 방법 또는 디바이스로서만 논의됨), 논의된 특징들의 구현은 또한 다른 형태들 (예를 들어 프로그램) 에서 구현될 수도 있다. 장치는 예를 들어 적절한 하드웨어, 소프트웨어, 및 펌웨어로 구현될 수도 있다. 방법들은 예를 들어, 컴퓨터, 마이크로프로세서, 집적회로, 또는 프로그램가능 로직 디바이스를 포함하는, 일반적으로 프로세싱 디바이스들로 지칭되는 예를 들어 프로세서와 같은 장치에서 구현될 수도 있다. 프로세서들은 또한 예를 들어 스마트폰들, 태블릿들, 컴퓨터들, 모바일 폰들, 휴대용/개인용 디지털 보조기들 ("PDAs") 과 같은 통신 디바이스들, 및 디바이스들 및/또는 엔드 유저들 사이의 정보의 통신을 용이하게 하는 다른 디바이스들을 포함한다.
여기에 기술된 여러 프로세스들 및 특징들의 구현들은 다양한 상이한 장비 또는 애플리케이션들, 특히 예를 들어 데이터 인코딩, 데이터 디코딩, 뷰 생성, 텍스쳐 프로세싱, 및 이미지들 및 관련된 텍스쳐 정보 및/또는 깊이 정보의 다른 프로세싱과 연관된 장비 또는 애플리케이션들로 구현될 수도 있다. 그러한 장비의 예들은 인코더, 디코더, 디코더로부터의 출력을 프로세싱하는 포스트-프로세서, 인코더로 입력을 제공하는 프리-프로세서, 비디오 코더, 비디오 디코더, 비디오 코덱, 웹 서버, 셋톱 박스, 랩톱, 개인용 컴퓨터, 셀폰, PDA, 및 다른 통신 디바이스들을 포함한다. 명백한 바와 같이, 장비는 이동가능하고 심지어 자동차에 설치될 수도 있다.
또, 방법들은 프로세서에 의해 수행되는 명령들에 의해 구현될 수도 있고, 그러한 명령들 (및/또는 구현에 의해 생성된 데이터 값들) 은 예를 들어 집적회로, 스프트웨어 캐리어 또는 예를 들어 하드 디스크, 컴팩트 디스켓 ("CD"), (예를 들어 종종 디지털 다용도 디스크 또는 디지털 비디오 디스크로서 종종 지칭되는 DVD 와 같은) 광디스크, 랜덤 액세스 메모리 ("RAM"), 또는 리드 온리 메모리 ("ROM") 과 같은 다른 저장 디바이스와 같은 프로세서 판독가능 매체상에 저장될 수도 있다. 명령들은 프로세서 판독가능 매체상에 유형으로 수록된 애플리케이션 프로그램을 형성할 수도 있다. 명령들은 예를 들어 하드웨어, 펌웨어, 소프트웨어, 또는 조합으로 일 수도 있다. 명령들은 예를 들어 운영체제, 별개의 애플리케이션, 또는 이 둘의 조합에서 발견될 수도 있다. 프로세서는 따라서 예를 들어 프로세스를 수행하도록 구성된 디바이스 및 프로세스를 수행하는 명령들을 갖는 (저장 디바이스와 같은) 프로세서 판독가능 매체를 포함하는 디바이스 양자 모두로서 특징지워질 수도 있다. 또한, 프로세서 판독가능 매체는 명령들에 더하여 또는 대신하여, 구현에 의해 생성되는 데이터 값들을 저장할 수도 있다.
당업자에게 분명한 바와 같이, 구현들은 예를 들어 저장 또는 송신될 수도 있는 정보를 반송하도록 포맷팅된 다양한 신호들을 생성할 수도 있다. 그 정보는 예를 들어 방법을 수행하는 명령들, 또는 기술된 구현들 중 하나에 의해 생성된 데이터를 포함할 수도 있다. 예를 들어, 신호는 기술된 실시형태의 신택스를 기입 또는 판독하는 규칙들을 데이터로서 반송하도록, 또는 기술된 실시형태에 의해 기입된 실제의 신택스-값들을 데이터로서 반송하도록 포맷팅될 수도 있다. 그러한 신호는 예를 들어 (예를 들어, 스펙트럼의 무선 주파수 부분을 사용하는) 전자기파로서 또는 기저대역 신호로서 포맷팅될 수도 있다. 포맷팅은 예를 들어 데이터 스트림을 인코딩하는 것 및 인코딩된 데이터 스트림으로 캐리어를 변조하는 것을 포함할 수도 있다. 신호가 반송하는 정보는 예를 들어 아날로그 또는 디지털 정보일 수도 있다. 신호는 알려진 바와 같이 다양한 상이한 유선 또는 무선 링크들을 통해 송신될 수도 있다. 신호는 프로세서 판독가능 매체상에 저장될 수도 있다.
다수의 구현들이 기술되었다. 그럼에도 불구하고, 여러 변경들이 행해질 수도 있다는 것이 이해될 것이다. 예를 들어, 상이한 구현들의 엘리먼트들은 다른 구현들을 생성하기 위해 결합, 보완, 변경, 또는 제거될 수도 있다. 또, 당업자는 다른 구조들 및 프로세스들이 개시된 것들에 대해 대체될 수도 있고 결과의 구현들이 개시된 구현들과 적어도 실질적으로 동일한 결과(들) 을 달성하도록, 적어도 실질적으로 동일한 방식(들) 로 적어도 실질적으로 동일한 기능(들) 을 수행할 것이라는 것을 이해할 것이다. 이에 따라, 이들 및 다른 구현들은 본 출원에 의해 고려된다.

Claims (23)

  1. 정수들의 행렬로 이미지의 화소들의 리스트들을 인코딩하는 방법으로서,
    상기 행렬은 상기 이미지의 사이즈와 동일한 사이즈를 가지며,
    상기 방법은, 상기 화소들의 리스트들의 리스트에 속하는 제 1 화소로서, 상기 이미지에서의 제 1 인덱스에서의 상기 제 1 화소에 대해,
    - 상기 이미지에서의 제 2 인덱스에서의 제 2 화소를 획득하는 단계로서, 상기 제 2 화소는 상기 리스트에서 상기 제 1 화소의 다음에 있는, 상기 제 2 화소를 획득하는 단계; 및
    - 상기 행렬에서의 상기 제 1 인덱스에 상기 제 1 인덱스 및/또는 상기 제 2 인덱스와 관련된 정수를 인코딩하는 단계를 포함하는, 정수들의 행렬로 이미지의 화소들의 리스트들을 인코딩하는 방법.
  2. 제 1 항에 있어서,
    화소들의 상기 리스트들은 화소들의 상기 리스트들의 화소들의 인덱스들의 오름차순 또는 내림차순으로 분류되는, 정수들의 행렬로 이미지의 화소들의 리스트들을 인코딩하는 방법.
  3. 제 1 항 또는 제 2 항에 있어서,
    인코딩될 상기 정수는 상기 제 2 인덱스인, 정수들의 행렬로 이미지의 화소들의 리스트들을 인코딩하는 방법.
  4. 제 1 항 또는 제 2 항에 있어서,
    인코딩될 상기 정수는 상기 제 2 인덱스와 상기 제 1 인덱스 사이의 차이인, 정수들의 행렬로 이미지의 화소들의 리스트들을 인코딩하는 방법.
  5. 제 1 항에 있어서,
    이미지 무손실 압축 방법으로 상기 행렬을 압축하는 단계를 더 포함하는, 정수들의 행렬로 이미지의 화소들의 리스트들을 인코딩하는 방법.
  6. 제 1 항에 있어서,
    목적지 매체로 상기 행렬과 연관된 상기 이미지를 송신하는 단계를 더 포함하는, 정수들의 행렬로 이미지의 화소들의 리스트들을 인코딩하는 방법.
  7. 정수들의 행렬로부터 이미지의 화소들의 리스트들을 디코딩하는 방법으로서,
    상기 행렬은 상기 이미지의 사이즈와 동일한 사이즈를 가지며,
    상기 방법은, 상기 화소들의 리스트들의 리스트에 속하는 제 1 화소로서, 상기 이미지에서의 제 1 인덱스에서의 상기 제 1 화소에 대해,
    - 상기 제 1 인덱스 및/또는 상기 행렬에서의 상기 제 1 인덱스에서의 정수에 따라 제 2 인덱스를 계산하는 단계; 및
    - 상기 이미지에서의 상기 제 2 인덱스에서의 제 2 화소를 상기 리스트에서의 제 1 화소 다음의 화소로서 설정하는 단계를 포함하는, 정수들의 행렬로부터 이미지의 화소들의 리스트들을 디코딩하는 방법.
  8. 제 7 항에 있어서,
    상기 제 2 인덱스는 상기 행렬에서의 제 1 인덱스에서의 상기 정수인, 정수들의 행렬로부터 이미지의 화소들의 리스트들을 디코딩하는 방법.
  9. 제 7 항에 있어서,
    상기 제 2 인덱스는 상기 행렬에서의 상기 제 1 인덱스에서의 상기 정수와 상기 제 1 인덱스의 합산인, 정수들의 행렬로부터 이미지의 화소들의 리스트들을 디코딩하는 방법.
  10. 제 7 항에 있어서,
    상기 리스트는 상기 제 1 화소로 생성되고 초기화되는, 정수들의 행렬로부터 이미지의 화소들의 리스트들을 디코딩하는 방법.
  11. 제 7 항에 있어서,
    이미지 무손실 압축 방법으로 상기 행렬을 압축해제하는 단계를 먼저 포함하는, 정수들의 행렬로부터 이미지의 화소들의 리스트들을 디코딩하는 방법.
  12. 제 7 항에 있어서,
    소스 매체로부터 상기 행렬과 연관된 상기 이미지를 수신하는 단계를 먼저 포함하는, 정수들의 행렬로부터 이미지의 화소들의 리스트들을 디코딩하는 방법.
  13. 정수들의 행렬로 이미지의 화소들의 리스트들을 인코딩하기 위해 구성된 장치로서,
    상기 행렬은 상기 이미지의 사이즈와 동일한 사이즈를 가지며,
    상기 장치는, 상기 화소들의 리스트들의 리스트에 속하는 제 1 화소로서, 상기 이미지에서의 제 1 인덱스에서의 상기 제 1 화소에 대해,
    - 상기 이미지에서의 제 2 인덱스에서의 제 2 화소를 획득하는 것으로서, 상기 제 2 화소는 상기 리스트에서 상기 제 1 화소의 다음에 있는, 상기 제 2 화소를 획득하고; 및
    - 상기 행렬에서의 상기 제 1 인덱스에 상기 제 1 인덱스 및/또는 상기 제 2 인덱스와 관련된 정수를 인코딩하도록
    구성된 적어도 하나의 프로세서와 연관된 메모리를 포함하는, 정수들의 행렬로 이미지의 화소들의 리스트들을 인코딩하기 위해 구성된 장치.
  14. 제 13 항에 있어서,
    상기 프로세서는 화소들의 상기 리스트들의 화소들의 인덱스들의 오름차순 또는 내림차순으로 화소들의 상기 리스트들을 분류하도록 구성되는, 정수들의 행렬로 이미지의 화소들의 리스트들을 인코딩하기 위해 구성된 장치.
  15. 제 13 항에 있어서,
    인코딩될 상기 정수는 상기 제 2 인덱스인, 정수들의 행렬로 이미지의 화소들의 리스트들을 인코딩하기 위해 구성된 장치.
  16. 제 13 항에 있어서,
    인코딩될 상기 정수는 상기 제 2 인덱스와 상기 제 1 인덱스 사이의 차이인, 정수들의 행렬로 이미지의 화소들의 리스트들을 인코딩하기 위해 구성된 장치.
  17. 제 13 항에 있어서,
    상기 프로세서는 이미지 무손실 압축 방법으로 상기 행렬을 압축하도록 구성되는, 정수들의 행렬로 이미지의 화소들의 리스트들을 인코딩하기 위해 구성된 장치.
  18. 정수들의 행렬로부터 이미지의 화소들의 리스트들을 디코딩하기 위해 구성된 장치로서,
    상기 행렬은 상기 이미지의 사이즈와 동일한 사이즈를 가지며,
    상기 장치는, 상기 화소들의 리스트들의 리스트에 속하는 제 1 화소로서, 상기 이미지에서의 제 1 인덱스에서의 상기 제 1 화소에 대해,
    - 상기 제 1 인덱스 및/또는 상기 행렬에서의 상기 제 1 인덱스에서의 정수에 따라 제 2 인덱스를 계산하고; 및
    - 상기 이미지에서의 상기 제 2 인덱스에서의 제 2 화소를 상기 리스트에서의 상기 제 1 화소 다음의 화소로서 설정하도록
    구성된 적어도 하나의 프로세서와 연관된 메모리를 포함하는, 정수들의 행렬로부터 이미지의 화소들의 리스트들을 디코딩하기 위해 구성된 장치.
  19. 제 18 항에 있어서,
    상기 제 2 인덱스는 상기 행렬에서의 제 1 인덱스에서의 상기 정수인, 정수들의 행렬로부터 이미지의 화소들의 리스트들을 디코딩하기 위해 구성된 장치.
  20. 제 18 항에 있어서,
    상기 제 2 인덱스는 상기 행렬에서의 상기 제 1 인덱스에서의 상기 정수와 상기 제 1 인덱스의 합산인, 정수들의 행렬로부터 이미지의 화소들의 리스트들을 디코딩하기 위해 구성된 장치.
  21. 제 18 항에 있어서,
    상기 프로세서는 상기 제 1 화소로 상기 리스트를 생성하고 초기화하도록 구성되는, 정수들의 행렬로부터 이미지의 화소들의 리스트들을 디코딩하기 위해 구성된 장치.
  22. 제 18 항에 있어서,
    이미지 무손실 압축 방법으로 상기 행렬을 압축해제하는 것을 먼저 포함하는, 정수들의 행렬로부터 이미지의 화소들의 리스트들을 디코딩하기 위해 구성된 장치.
  23. 제 18 항에 있어서,
    소스 매체로부터 상기 행렬과 연관된 상기 이미지를 수신하는 것을 먼저 포함하는, 정수들의 행렬로부터 이미지의 화소들의 리스트들을 디코딩하기 위해 구성된 장치.



KR1020170179649A 2016-12-28 2017-12-26 화소들의 리스트들을 인코딩 및 디코딩하는 방법 및 장치 KR20180077060A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP16306837.2 2016-12-28
EP16306837.2A EP3343445A1 (en) 2016-12-28 2016-12-28 Method and apparatus for encoding and decoding lists of pixels

Publications (1)

Publication Number Publication Date
KR20180077060A true KR20180077060A (ko) 2018-07-06

Family

ID=57755157

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170179649A KR20180077060A (ko) 2016-12-28 2017-12-26 화소들의 리스트들을 인코딩 및 디코딩하는 방법 및 장치

Country Status (5)

Country Link
US (1) US20180184096A1 (ko)
EP (2) EP3343445A1 (ko)
JP (1) JP2018110390A (ko)
KR (1) KR20180077060A (ko)
CN (1) CN108259908A (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108921771B (zh) * 2018-08-29 2021-11-26 郑州云海信息技术有限公司 一种反滤波方法、装置及电子设备
GB2588637A (en) * 2019-10-30 2021-05-05 Daimler Ag Method of determining cells in a multiple resolution grid
CN111402117B (zh) * 2020-03-12 2023-02-28 Oppo广东移动通信有限公司 图片处理方法、装置、存储介质及客户端设备
EP4142290A1 (en) * 2021-08-31 2023-03-01 Beijing Xiaomi Mobile Software Co., Ltd. Method and apparatus of encoding/decoding point cloud geometry data sensed by at least one sensor
US11593959B1 (en) * 2022-09-30 2023-02-28 Illuscio, Inc. Systems and methods for digitally representing a scene with multi-faceted primitives

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100363588B1 (ko) * 1993-03-25 2003-02-17 세이코 엡슨 가부시키가이샤 화상처리장치
US6324305B1 (en) * 1998-12-22 2001-11-27 Xerox Corporation Method and apparatus for segmenting a composite image into mixed raster content planes
US20060193523A1 (en) * 2002-04-01 2006-08-31 Matrixview Limited Repetition coded compression for highly correlated image data
WO2004110309A2 (en) * 2003-06-11 2004-12-23 Case Western Reserve University Computer-aided-design of skeletal implants
CN101154291B (zh) * 2006-09-29 2010-05-12 国际商业机器公司 图像数据压缩方法、图像显示方法及其相应装置
WO2009022048A1 (en) * 2007-08-16 2009-02-19 Nokia Corporation A method and apparatuses for encoding and decoding an image
KR101680044B1 (ko) * 2008-08-19 2016-11-28 디지맥 코포레이션 콘텐트 처리를 위한 방법들 및 시스템들
US8929877B2 (en) * 2008-09-12 2015-01-06 Digimarc Corporation Methods and systems for content processing
US8121415B2 (en) * 2008-10-28 2012-02-21 Quality Vision International, Inc. Combining feature boundaries
US10992958B2 (en) * 2010-12-29 2021-04-27 Qualcomm Incorporated Video coding using mapped transforms and scanning modes
US9344733B2 (en) * 2013-12-27 2016-05-17 Samsung Electronics Co., Ltd. Feature-based cloud computing architecture for physics engine
CN105282550A (zh) * 2014-06-13 2016-01-27 财团法人工业技术研究院 编码方法与解码方法、编解码系统、编码器与解码器

Also Published As

Publication number Publication date
CN108259908A (zh) 2018-07-06
US20180184096A1 (en) 2018-06-28
EP3343446A1 (en) 2018-07-04
EP3343445A1 (en) 2018-07-04
JP2018110390A (ja) 2018-07-12

Similar Documents

Publication Publication Date Title
US11741638B2 (en) Methods and devices for entropy coding point clouds
KR20180077060A (ko) 화소들의 리스트들을 인코딩 및 디코딩하는 방법 및 장치
EP3772853A1 (en) Method and device for acquiring globally matching patch
US7860328B2 (en) Compression processing apparatus and compression processing method
JP2015504545A (ja) 予測位置符号化
US10511858B2 (en) Bit packing for delta color compression
JP5962937B2 (ja) 画像処理方法
US9467681B2 (en) Representation and compression of depth data
JP2014532945A (ja) 予測位置復号
US20210358005A1 (en) Video coding apparatus and video coding method
US20240078715A1 (en) Apparatus and method for point cloud processing
CN112017228A (zh) 一种对物体三维重建的方法及相关设备
US20200294270A1 (en) Patch extension method, encoder and decoder
CN114598883A (zh) 点云属性的预测方法、编码器、解码器及存储介质
CN115662346B (zh) Demura补偿值压缩方法和系统
CN110730277B (zh) 一种信息编码及获取编码信息的方法和装置
US20220094951A1 (en) Palette mode video encoding utilizing hierarchical palette table generation
US20230071581A1 (en) Methods and devices for multi-point direct coding in point cloud compression
Karimi et al. Real-time lossless compression of microarray images by separate compaction of foreground and background
US20230013421A1 (en) Point cloud compression using occupancy networks
CN117939127A (zh) 一种图像处理方法及其相关设备
US20230306683A1 (en) Mesh patch sub-division
CN117333559A (zh) 图像压缩方法、装置、电子设备及存储介质
WO2023180841A1 (en) Mesh patch sub-division
WO2023285998A1 (en) Point cloud compression using occupancy networks

Legal Events

Date Code Title Description
A201 Request for examination
WITB Written withdrawal of application