KR102135958B1 - Method and apparatus for storing image data using a multiple memory controller - Google Patents

Method and apparatus for storing image data using a multiple memory controller Download PDF

Info

Publication number
KR102135958B1
KR102135958B1 KR1020130093341A KR20130093341A KR102135958B1 KR 102135958 B1 KR102135958 B1 KR 102135958B1 KR 1020130093341 A KR1020130093341 A KR 1020130093341A KR 20130093341 A KR20130093341 A KR 20130093341A KR 102135958 B1 KR102135958 B1 KR 102135958B1
Authority
KR
South Korea
Prior art keywords
image processing
memory
decoder
image
data
Prior art date
Application number
KR1020130093341A
Other languages
Korean (ko)
Other versions
KR20150017275A (en
Inventor
나상권
김성오
김재문
박찬식
유기원
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020130093341A priority Critical patent/KR102135958B1/en
Publication of KR20150017275A publication Critical patent/KR20150017275A/en
Application granted granted Critical
Publication of KR102135958B1 publication Critical patent/KR102135958B1/en

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/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • 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/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Image Input (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

영상을 소정의 영상 처리 단위로 분할하고, 분할된 적어도 하나의 영상 처리 단위를 적어도 하나 이상의 그룹으로 그룹화하고, 적어도 하나의 그룹을 적어도 하나의 메모리 컨트롤러와 각각 매핑하고, 분할된 적어도 하나의 영상 처리 단위를 각각 그룹별로 매핑된 메모리 컨트롤러에 의해 제어되는 메모리에 저장하는 단계를 포함하는 것을 특징으로 하는 영상 데이터 저장 방법이 개시된다.Divides an image into a predetermined image processing unit, groups at least one divided image processing unit into at least one group, maps at least one group with at least one memory controller, and processes at least one segmented image. Disclosed is a method for storing image data, comprising storing the units in a memory controlled by a memory controller mapped to each group.

Description

복수 개의 메모리 컨트롤러를 이용한 영상 데이터 저장 방법 및 장치 {Method and apparatus for storing image data using a multiple memory controller}Method and apparatus for storing image data using multiple memory controllers {Method and apparatus for storing image data using a multiple memory controller}

본 발명은 복수 개의 메모리 컨트롤러를 이용하여 영상 데이터를 저장하는 방법 및 장치에 대한 것이다.The present invention relates to a method and apparatus for storing image data using a plurality of memory controllers.

영상 처리 장치가 영상 데이터를 처리하기 위해서는 이전 영상이 복원된 참조 영상을 이용할 수 있다. 즉, 영상 처리 장치가 영상 데이터를 부호화하거나 복호화할 때 이전 영상의 복원 영상을 참조 영상으로 이용할 수 있다. 이때 영상 처리 장치는 참조 영상을 이용하기 위해 참조 영상으로 이용될 수 있는 이전 영상의 복원 영상을 메모리에 저장하거나 저장된 영상 데이터를 읽을 수 있다.In order for the image processing apparatus to process image data, a reference image from which a previous image was restored may be used. That is, when the image processing apparatus encodes or decodes image data, a reconstructed image of a previous image may be used as a reference image. In this case, the image processing apparatus may store a reconstructed image of a previous image that can be used as a reference image in memory or read stored image data in order to use the reference image.

따라서, 디스플레이 장치가 초 고화질 영상을 실시간으로 복호화하여 디스플레이하기 위해서는 참조 영상으로 이용될 수 있는 대용량의 영상 데이터를 보다 빠르게 기록하거나 획득하는 것이 필요하다.Therefore, in order for the display device to decode and display an ultra-high-definition image in real time, it is necessary to rapidly record or acquire large-capacity image data that can be used as a reference image.

본 발명은 복수 개의 메모리 컨트롤러를 이용하여 영상 데이터를 저장하거나 획득하는 방법 및 장치에 대한 것이다.The present invention relates to a method and apparatus for storing or acquiring image data using a plurality of memory controllers.

본 발명의 일 실시예에 따른 영상 데이터 저장 방법은 영상을 소정의 영상 처리 단위로 분할하는 단계; 상기 분할된 적어도 하나의 영상 처리 단위를 적어도 하나 이상의 그룹으로 그룹화하는 단계; 상기 적어도 하나의 그룹을 적어도 하나의 메모리 컨트롤러와 각각 매핑하는 단계; 상기 분할된 적어도 하나의 영상 처리 단위를 각각 그룹별로 상기 매핑된 메모리 컨트롤러에 의해 제어되는 메모리에 저장하는 단계를 포함하는 것을 특징으로 한다.An image data storage method according to an embodiment of the present invention includes: dividing an image into predetermined image processing units; Grouping the divided at least one image processing unit into at least one group; Mapping the at least one group to at least one memory controller, respectively; And storing the divided at least one image processing unit in a memory controlled by the mapped memory controller for each group.

상기 분할하는 단계는 상기 영상의 각 색성분 별로 소정의 영상 처리 단위로 분할하는 단계를 포함하는 것을 특징으로 한다.The dividing step includes dividing each color component of the image into a predetermined image processing unit.

상기 저장하는 단계는 상기 각 영상 처리 단위와 인접한 소정 크기의 영역의 영상 데이터를 상기 각 영상 처리 단위와 매핑된 메모리 컨트롤러에 의해 제어되는 메모리에 저장하는 단계를 포함하는 것을 특징으로 한다.The storing may include storing image data of an area of a predetermined size adjacent to each image processing unit in a memory controlled by a memory controller mapped to each image processing unit.

본 발명의 일 실시예에 따른 영상 데이터 저장 방법은, 적어도 하나 이상의 디코더를 상기 적어도 하나의 메모리 컨트롤러와 각각 매핑하는 단계를 더 포함하고, 상기 적어도 하나의 메모리 컨트롤러에 의해 제어되는 메모리에 저장된 데이터는 상기 매핑된 디코더에 의해 액세스될 수 있는 것을 특징으로 한다.The image data storage method according to an embodiment of the present invention further includes mapping at least one decoder to the at least one memory controller, and data stored in the memory controlled by the at least one memory controller is It can be accessed by the mapped decoder.

본 발명의 일 실시예에 따른 영상 데이터 저장 방법은, 제1 디코더가 제2 디코더와 매핑된 메모리 컨트롤러에 의해 제어되는 메모리에 저장된 데이터에 액세스하는 단계; 상기 데이터는 상기 제1 디코더 또는 상기 제2 디코더 중 적어도 하나의 캐쉬에 기록되는 단계를 더 포함하는 것을 특징으로 한다.A method for storing image data according to an embodiment of the present invention includes: a first decoder accessing data stored in a memory controlled by a memory controller mapped with a second decoder; The data may be further recorded in a cache of at least one of the first decoder and the second decoder.

본 발명의 일 실시예에 따른 영상 데이터 저장 방법은, 제1 디코더가 획득하고자 하는 데이터가 제2 디코더와 매핑된 메모리 컨트롤러에 의해 제어되는 메모리에 저장된 데이터인지 판단하는 단계; 상기 판단 결과에 따라, 상기 제1 디코더 및 상기 제2 디코더에 의해 액세스될 수 있는 캐쉬에 액세스하는 단계; 상기 액세스한 결과, 상기 데이터가 상기 캐쉬로부터 획득될 수 있는 경우, 상기 캐쉬로부터 상기 데이터를 획득하는 단계를 더 포함하는 것을 특징으로 한다.The image data storage method according to an embodiment of the present invention includes: determining whether data to be acquired by the first decoder is data stored in a memory controlled by a memory controller mapped with the second decoder; Accessing a cache that can be accessed by the first decoder and the second decoder according to the determination result; If the result of the access, the data can be obtained from the cache, characterized in that it further comprises the step of obtaining the data from the cache.

본 발명의 일 실시예에 따른 영상 데이터 저장 방법은, 제1 디코더가 제2 디코더와 매핑된 메모리 컨트롤러에 의해 제어되는 메모리에 저장된 데이터에 액세스하는 단계; 상기 데이터는 상기 제1 디코더 또는 상기 제2 디코더 중 적어도 하나의 캐쉬에 기록되는 단계를 더 포함하는 것을 특징으로 한다.A method for storing image data according to an embodiment of the present invention includes: a first decoder accessing data stored in a memory controlled by a memory controller mapped with a second decoder; The data may be further recorded in a cache of at least one of the first decoder and the second decoder.

본 발명의 일 실시예에 따른 영상 데이터 저장 방법은, 제1 디코더가 획득하고자 하는 데이터가 제2 디코더와 매핑된 메모리 컨트롤러에 의해 제어되는 메모리에 저장된 데이터인지 판단하는 단계; 상기 판단 결과에 따라, 상기 제1 디코더 및 상기 제2 디코더에 의해 액세스될 수 있는 캐쉬에 액세스하는 단계; 상기 액세스한 결과, 상기 데이터가 상기 캐쉬로부터 획득될 수 있는 경우, 상기 캐쉬로부터 상기 데이터를 획득하는 단계를 더 포함하는 것을 특징으로 한다.The image data storage method according to an embodiment of the present invention includes: determining whether data to be acquired by the first decoder is data stored in a memory controlled by a memory controller mapped with the second decoder; Accessing a cache that can be accessed by the first decoder and the second decoder according to the determination result; If the result of the access, the data can be obtained from the cache, characterized in that it further comprises the step of obtaining the data from the cache.

본 발명의 일 실시예에 따른 영상 데이터 저장 방법은, 상기 액세스한 결과, 상기 데이터가 상기 캐쉬로부터 획득될 수 없는 경우, 상기 제2 디코더와 매핑된 메모리 컨트롤러에 의해 제어되는 메모리에 액세스하여 상기 데이터를 획득하는 단계; 상기 데이터는 상기 캐쉬에 기록되는 단계를 더 포함하는 것을 특징으로 한다.In the image data storage method according to an embodiment of the present invention, when the data cannot be obtained from the cache as a result of the access, the memory controlled by the memory controller mapped with the second decoder is accessed to access the data Obtaining a; The data is characterized in that it further comprises the step of writing to the cache.

본 발명의 일 실시 예에 있어서, 복수 개의 메모리 컨트롤러를 이용하여 영상 데이터를 메모리에 저장할 수 있다.In one embodiment of the present invention, image data may be stored in a memory using a plurality of memory controllers.

본 발명의 일 실시 예에 있어서, 복수 개의 메모리 컨트롤러를 이용하여 영상 데이터를 더욱 빠르게 획득할 수 있다.In one embodiment of the present invention, image data may be acquired more quickly using a plurality of memory controllers.

도 1은 본 발명의 일 실시 예에 있어서, 복수 개의 메모리 컨트롤러를 포함하는 영상 처리 장치의 내부 구조를 나타낸 블록도이다.
도 2는 본 발명의 일 실시 예에 있어서, 분할된 영상 데이터를 하나 이상의 그룹으로 그룹화하는 일 예를 나타낸 예시도이다.
도 3a은 본 발명의 일 실시 예에 있어서, 복수 개의 메모리 컨트롤러를 이용하여 영상 데이터를 저장하는 방법을 나타낸 순서도이다.
도 3b는 본 발명의 일 실시 예에 있어서, 복수 개의 메모리 컨트롤러를 이용하여 메모리에 저장된 영상 데이터에 접근하는 방법을 나타낸 순서도이다.
도 4는 본 발명의 일 실시 예에 있어서, 분할된 영상 데이터를 색 성분 별로 하나 이상의 그룹으로 그룹화하는 일 예를 나타낸 예시도이다.
도 5는 본 발명의 다른 실시 예에 있어서, 분할된 영상 데이터를 하나 이상의 그룹으로 그룹화하는 일 예를 나타낸 예시도이다.
도 6은 본 발명의 다른 실시 예에 있어서, 복수 개의 메모리 컨트롤러를 이용하여 영상 데이터를 저장하는 일 예를 나타낸 예시도이다.
도 7은 본 발명의 다른 실시 예에 있어서, 복수 개의 메모리 컨트롤러를 이용하여 영상 데이터를 저장하는 방법을 나타낸 순서도이다.
도 8은 본 발명의 다른 실시 예에 있어서, 복수 개의 메모리 컨트롤러를 이용하여 영상 데이터에 접근하는 방법을 나타낸 순서도이다.
도 9는 본 발명의 일 실시 예에 있어서, 복수 개의 메모리 컨트롤러를 이용하여 저장된 영상 데이터를 처리하는 영상 처리 장치의 내부 구조를 나타낸 블록도이다.
도 10은 본 발명의 일 실시 예에 있어서, 복수 개의 메모리 컨트롤러를 이용하여 저장된 영상 데이터를 처리하는 방법을 나타낸 순서도이다.
도 11은 본 발명의 다른 실시 예에 있어서, 복수 개의 메모리 컨트롤러를 이용하여 저장된 영상 데이터를 처리하는 영상 처리 장치의 내부 구조를 나타낸 블록도이다.
도 12는 본 발명의 다른 실시 예에 있어서, 복수 개의 메모리 컨트롤러를 이용하여 저장된 영상 데이터를 처리하는 방법을 나타낸 순서도이다.
1 is a block diagram illustrating an internal structure of an image processing apparatus including a plurality of memory controllers in an embodiment of the present invention.
2 is an exemplary diagram illustrating an example of grouping divided image data into one or more groups in one embodiment of the present invention.
3A is a flowchart illustrating a method of storing image data using a plurality of memory controllers in an embodiment of the present invention.
3B is a flowchart illustrating a method of accessing image data stored in a memory using a plurality of memory controllers in an embodiment of the present invention.
4 is an exemplary diagram illustrating an example of grouping divided image data into one or more groups for each color component in an embodiment of the present invention.
5 is an exemplary diagram illustrating an example of grouping divided image data into one or more groups in another embodiment of the present invention.
6 is an exemplary view showing an example of storing image data using a plurality of memory controllers in another embodiment of the present invention.
7 is a flowchart illustrating a method of storing image data using a plurality of memory controllers in another embodiment of the present invention.
8 is a flowchart illustrating a method of accessing image data using a plurality of memory controllers in another embodiment of the present invention.
9 is a block diagram illustrating an internal structure of an image processing apparatus that processes stored image data using a plurality of memory controllers in an embodiment of the present invention.
10 is a flowchart illustrating a method of processing stored image data using a plurality of memory controllers in an embodiment of the present invention.
11 is a block diagram illustrating an internal structure of an image processing apparatus that processes stored image data using a plurality of memory controllers in another embodiment of the present invention.
12 is a flowchart illustrating a method of processing stored image data using a plurality of memory controllers in another embodiment of the present invention.

이하 본 발명의 바람직한 실시 예를 첨부한 도면을 참조하여 상세히 설명한다. 다만, 하기의 설명 및 첨부된 도면에서 본 발명의 요지를 흐릴 수 있는 공지 기능 또는 구성에 대한 상세한 설명은 생략한다. 또한, 도면 전체에 걸쳐 동일한 구성 요소들은 가능한 한 동일한 도면 부호로 나타내고 있음에 유의하여야 한다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. However, in the following description and attached drawings, detailed descriptions of well-known functions or configurations that may obscure the subject matter of the present invention are omitted. In addition, it should be noted that the same components throughout the drawings are denoted by the same reference numerals as much as possible.

이하에서 설명되는 본 명세서 및 청구범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니 되며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위한 용어로 적절하게 정의할 수 있다는 원칙에 입각하여 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다. 따라서 본 명세서에 기재된 실시 예와 도면에 도시된 구성은 본 발명의 가장 바람직한 일 실시 예에 불과할 뿐이고, 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형 예들이 있을 수 있음을 이해하여야 한다.The terms or words used in the present specification and claims described below should not be interpreted as being limited to ordinary or lexical meanings, and the inventor appropriately defines terms as terms for describing his or her invention in the best way. Based on the principle that it can be done, it should be interpreted as a meaning and a concept consistent with the technical idea of the present invention. Therefore, the embodiments shown in the embodiments and the drawings described in this specification are only the most preferred embodiments of the present invention, and do not represent all of the technical spirit of the present invention, and can replace them at the time of this application. It should be understood that there may be equivalents and variations.

본 발명의 원리는 임의의 인트라-프레임과 인터-프레임 기반의 인코딩 표준에 적용될 수 있다. 본 명세서 전반에 걸쳐 사용되는 '영상'이라는 용어는 '영상'이라는 용어 자체뿐만 아니라, '프레임', '필드', 및 '슬라이스'로서 관련 분야에서 알려질 수 있는 비디오 이미지 정보의 다양한 형태들을 설명하기 위한 포괄적인 용어로서 사용될 수 있다.The principles of the present invention can be applied to any intra-frame and inter-frame based encoding standard. The term'image' used throughout this specification describes not only the term'image' itself, but also various types of video image information that can be known in the relevant field as'frame','field', and'slice'. Can be used as a generic term.

참조 영상은 현재 영상 내의 블록을 인터 예측 하기 위해 사용될 수 있는 영상일 수 있다.The reference image may be an image that can be used to inter-predict blocks in the current image.

이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 설명한다.Hereinafter, preferred embodiments of the present invention will be described with reference to the accompanying drawings.

도 1은 본 발명의 일 실시 예에 있어서, 복수 개의 메모리 컨트롤러를 포함하는 영상 처리 장치의 내부 구조를 나타낸 블록도이다.1 is a block diagram illustrating an internal structure of an image processing apparatus including a plurality of memory controllers in an embodiment of the present invention.

도 1을 참조하면, 영상 처리 장치(100)는 제어부(110)와 복수 개의 메모리 컨트롤러(120, 130, 140, 150) 및 메모리(121, 131, 141, 151)를 포함할 수 있다. 그러나 도시된 구성요소가 모두가 필수구성요소인 것은 아니다. 도시된 구성요소보다 많은 구성요소에 의해 영상 처리 장치(100)가 구현될 수도 있고, 그보다 적은 구성요소에 의해서도 영상 처리 장치(100)가 구현될 수 있다.Referring to FIG. 1, the image processing apparatus 100 may include a control unit 110 and a plurality of memory controllers 120, 130, 140, 150 and memories 121, 131, 141, 151. However, not all of the illustrated components are essential components. The image processing apparatus 100 may be implemented by more components than the illustrated components, or the image processing apparatus 100 may be implemented by fewer components.

이하 상기 구성요소들에 대해 차례로 살펴본다.Hereinafter, the components will be described in turn.

제어부(110)는 통상적으로 영상 처리 장치(100)의 전반적인 동작을 제어할 수 있다. 예를 들어, 제어부(110)는 영상 데이터를 인코딩할 때 복원된 영상이 메모리(121, 131, 141, 151)에 저장되도록 제어할 수 있다. 구체적으로, 제어부(110)는 복수개의 메모리 컨트롤러(120, 130, 140, 150)를 이용하여 영상 데이터를 저장하는 방법과 관련된 제어 및 처리를 수행할 수 있다. 즉, 제어부(110)는 복수개의 메모리 컨트롤러(120, 130, 140, 150)와 메모리(121, 131, 141, 151)를 전반적으로 제어할 수 있다.The controller 110 may control the overall operation of the image processing apparatus 100. For example, the controller 110 may control the restored image to be stored in the memory 121, 131, 141, 151 when encoding the image data. Specifically, the controller 110 may perform control and processing related to a method of storing image data using a plurality of memory controllers 120, 130, 140, and 150. That is, the control unit 110 may control the plurality of memory controllers 120, 130, 140, and 150 and the memories 121, 131, 141, and 151 as a whole.

본 발명의 일 실시 예에 있어서, 제어부(110)는 복원된 영상이 메모리(121, 131, 141, 151)에 저장되도록 메모리 컨트롤러들(120, 130, 140, 150)을 제어할 수 있다.In one embodiment of the present invention, the control unit 110 may control the memory controllers 120, 130, 140, 150 so that the restored image is stored in the memory 121, 131, 141, 151.

복수개의 메모리 컨트롤러들(120, 130, 140, 150)은 메모리(121, 131, 141, 151)에 데이터를 저장하거나 획득하여 다른 장치로 전달할 수 있다. 즉, 메모리 컨트롤러들(120, 130, 140, 150)은 메모리(121, 131, 141, 151)를 전반적으로 제어할 수 있다.The plurality of memory controllers 120, 130, 140, and 150 may store or acquire data in the memory 121, 131, 141, 151 and transfer it to another device. That is, the memory controllers 120, 130, 140, and 150 may overall control the memories 121, 131, 141, and 151.

본 발명의 일 실시 예에 있어서, 영상 처리 장치(100)는 영상을 소정의 영상 처리 단위로 분할하고, 분할된 영상 처리 단위들을 적어도 하나 이상의 그룹으로 그룹화할 수 있다. 그리고, 영상 처리 장치(100)는 적어도 하나의 그룹을 적어도 하나의 메모리 컨트롤러와 각각 매핑하고, 분할된 영상 처리 단위를 각각 그룹별로 매핑된 메모리 컨트롤러에 의해 제어되는 메모리에 저장할 수 있다.In an embodiment of the present invention, the image processing apparatus 100 may divide an image into predetermined image processing units and group the divided image processing units into at least one group. In addition, the image processing apparatus 100 may map at least one group to at least one memory controller, and store the divided image processing units in a memory controlled by a memory controller mapped to each group.

따라서, 본 발명의 일 실시 예에 의한 영상 처리 장치(100)는 초고화질 영상 데이터를 처리할 때, 복수 개의 메모리 컨트롤러를 이용함으로써, 메모리 대역폭이 더 커지게 되므로, 보다 빠른 속도로 초고화질 영상을 처리할 수 있다.Therefore, the image processing apparatus 100 according to an embodiment of the present invention uses a plurality of memory controllers when processing ultra-high-definition image data, so that the memory bandwidth becomes larger, and thus the ultra-high-definition image is processed at a higher speed. Can handle it.

메모리 대역폭이란, 소정 시간동안 메모리로 전송되거나 수신될 수 있는 데이터의 크기를 의미한다. 따라서, 메모리 대역폭이 클수록 소정 시간동안 메모리에 기록하거나 읽을 수 있는 데이터의 크기가 커질 수 있다.The memory bandwidth refers to the size of data that can be transmitted to or received from memory for a predetermined period of time. Therefore, the larger the memory bandwidth, the larger the size of data that can be written to or read from the memory for a predetermined period of time.

본 발명의 일 실시 예에 의한 영상 데이터를 복수 개의 메모리 컨트롤러를 이용하여 처리하는 방법과 관련하여 이하 도 2 내지 도 4에서 더 자세히 설명하기로 한다.A method of processing image data according to an embodiment of the present invention using a plurality of memory controllers will be described in more detail in FIGS. 2 to 4 below.

도 2는 본 발명의 일 실시 예에 있어서, 분할된 영상 데이터를 하나 이상의 그룹으로 그룹화하는 일 예를 나타낸 예시도이다.2 is an exemplary diagram illustrating an example of grouping divided image data into one or more groups in one embodiment of the present invention.

도 2를 참조하면, 영상(200)은 소정 크기의 블록으로 분할되고, 각 블록은 제1 내지 제4 그룹 중 하나에 속할 수 있다.Referring to FIG. 2, the image 200 is divided into blocks of a predetermined size, and each block may belong to one of the first to fourth groups.

본 발명의 일 실시 예에 의하면, 영상(200)은 복수 개의 메모리 컨트롤러가 이용될 수 있도록 소정의 영상 처리 단위로 분할될 수 있다. 그리고, 분할된 각각의 영상 처리 단위들은 하나 이상의 그룹으로 그룹화될 수 있다.According to an embodiment of the present invention, the image 200 may be divided into predetermined image processing units so that a plurality of memory controllers can be used. In addition, each divided image processing unit may be grouped into one or more groups.

예를 들면, 소정의 영상 처리 단위는 M by N 단위의 블록일 수 있다. 또한, 영상(200)은 슬라이스, 타일 등 영상이 처리될 수 있는 단위나 이외 다양한 형태의 단위로 분할될 수 있다. For example, a predetermined image processing unit may be a block of M by N units. Also, the image 200 may be divided into units in which images, such as slices and tiles, can be processed or various types of units.

소정의 영상 처리 단위는 일정 규칙에 따라 하나 이상의 그룹으로 그룹화될 수 있다. 예를 들면, 각 영상 처리 단위의 배열 순서에 따라 하나 이상의 그룹으로 그룹화될 수 있다. 도 2를 참조하면, 홀수 번째 줄에서 홀수 번째 열에 위치하는 영상 처리 단위들은 제1 그룹으로, 홀수 번째 줄에서 짝수 번째 열에 위치하는 영상 처리 단위들은 제2 그룹으로 설정될 수 있다. 또한, 짝수 번째 줄에서 홀수 번째 열에 위치하는 영상 처리 단위들은 제3 그룹으로, 짝수 번째 줄에서 짝수 번째 열에 위치하는 영상 처리 단위들은 제4 그룹으로 설정될 수 있다.The predetermined image processing units may be grouped into one or more groups according to certain rules. For example, it may be grouped into one or more groups according to the arrangement order of each image processing unit. Referring to FIG. 2, image processing units positioned in an odd-numbered column in an odd row may be set as a first group, and image processing units positioned in an even-numbered column in an odd row may be set as a second group. Also, the image processing units positioned in the even-numbered rows in the even-numbered rows may be set to the third group, and the image processing units positioned in the even-numbered rows in the even-numbered rows may be set to the fourth group.

그리고, 제1 내지 제4 그룹은 각각 제1 내지 제4 메모리 컨트롤러와 매핑될 수 있다. 따라서, 제1 내지 제4 그룹으로 그룹화된 영상 처리 단위들은 영상 처리 단위들이 속한 그룹과 매핑된 메모리 컨트롤러에 의해 처리될 수 있다. 다시 말하면, 그룹화된 영상 처리 단위들은 각 그룹과 매핑된 메모리 컨트롤러에 의해 제어되는 메모리에 기록될 수 있다. 예를 들면, 제1 그룹이 제1 메모리 컨트롤러와 매핑된 경우, 제1 그룹에 속하는 영상 처리 단위들은 제1 메모리 컨트롤러에 의해 제어되는 메모리에 기록될 수 있다. 또한, 제1 그룹에 속하는 영상 처리 단위들은 제1 메모리 컨트롤러에 의해 메모리로부터 획득될 수 있다.In addition, the first to fourth groups may be mapped to the first to fourth memory controllers, respectively. Accordingly, the image processing units grouped into the first to fourth groups may be processed by the memory controller mapped to the group to which the image processing units belong. In other words, grouped image processing units may be recorded in a memory controlled by a memory controller mapped to each group. For example, when the first group is mapped to the first memory controller, image processing units belonging to the first group may be recorded in a memory controlled by the first memory controller. Also, image processing units belonging to the first group may be obtained from the memory by the first memory controller.

또한, 각 메모리 컨트롤러는 하나 이상의 그룹과 매핑될 수 있다. 예를 들면, 제1 내지 제8 그룹이 존재하는 경우, 제1 및 제2 그룹은 제1 메모리 컨트롤러와 매핑될 수 있다. 제1 및 제2 그룹은 제1 메모리 컨트롤러와 매핑될 수 있다. 제3 및 제4 그룹은 제2 메모리 컨트롤러와 매핑될 수 있다. 제5 및 제6 그룹은 제3 메모리 컨트롤러와 매핑될 수 있다. 제7 및 제8 그룹은 제4 메모리 컨트롤러와 매핑될 수 있다. Also, each memory controller may be mapped to one or more groups. For example, when the first to eighth groups exist, the first and second groups may be mapped to the first memory controller. The first and second groups may be mapped to the first memory controller. The third and fourth groups may be mapped to the second memory controller. The fifth and sixth groups may be mapped to the third memory controller. The seventh and eighth groups may be mapped to the fourth memory controller.

본 발명의 일 실시 예에 있어서, 소정의 영상 처리 단위들을 그룹화하는 방법은 상술된 방법에 한하지 않고 다양한 방법으로 그룹화될 수 있다.In one embodiment of the present invention, a method of grouping predetermined image processing units may be grouped in various ways, not limited to the above-described method.

본 발명의 일 실시 예에 의하면, 분할된 각각의 영상 처리 단위들은 속한 그룹에 따라서 각각 다른 메모리 컨트롤러에 의해 처리될 수 있다. 따라서, 본 발명의 일 실시 예에 의하면, 영상 처리 장치(100)가 크기가 큰 영상 데이터를 처리하는 경우, 복수 개의 메모리 컨트롤러를 이용할 수 있으므로 단일 메모리 컨트롤러를 사용할 때보다 메모리 대역폭이 커지므로 더 빠르게 영상을 처리할 수 있다.According to an embodiment of the present invention, each divided image processing unit may be processed by a different memory controller according to a group to which it belongs. Therefore, according to an embodiment of the present invention, when the image processing apparatus 100 processes a large image data, since a plurality of memory controllers can be used, the memory bandwidth is larger than when using a single memory controller, and thus, faster Can process images.

도 3a은 본 발명의 일 실시 예에 있어서, 복수 개의 메모리 컨트롤러를 이용하여 영상 데이터를 저장하는 방법을 나타낸 순서도이다.3A is a flowchart illustrating a method of storing image data using a plurality of memory controllers in an embodiment of the present invention.

도 3a을 참조하면, 단계 S301에서, 영상 처리 장치(100)는 영상(200)을 소정의 영상 처리 단위로 분할할 수 있다. 본 발명의 일 실시 예에 있어서, 영상 처리 장치(100)에서 처리될 수 있는 영상(200)은 동일한 크기의 영상 처리 단위로 분할될 수 있으나, 이에 한하지 않고 다양한 방법 또는 크기의 영상 처리 단위로 분할될 수 있다.Referring to FIG. 3A, in step S301, the image processing apparatus 100 may divide the image 200 into predetermined image processing units. In one embodiment of the present invention, the image 200 that can be processed in the image processing apparatus 100 may be divided into image processing units of the same size, but is not limited thereto, in various method or size image processing units. Can be divided.

단계 S303에서, 영상 처리 장치(100)는 분할된 각 영상 처리 단위를 하나 이상의 그룹으로 그룹화할 수 있다. 예를 들면, 분할된 각 영상 처리 단위는 제1 내지 제4 그룹으로 그룹화될 수 있다. 각 영상 처리 단위는 일정 규칙에 따라 그룹이 정해질 수 있으나 이에 한하지 않고, 미리 설정된 정보 또는 조건에 따라 정해질 수 있다. In step S303, the image processing apparatus 100 may group each divided image processing unit into one or more groups. For example, each divided image processing unit may be grouped into first to fourth groups. The group of each image processing unit may be determined according to a certain rule, but is not limited thereto, and may be determined according to preset information or conditions.

단계 S305에서, 영상 처리 장치(100)는 단계 S303에서 그룹화된 각 그룹을 메모리 컨트롤러와 각각 매핑할 수 있다.In step S305, the image processing apparatus 100 may map each group grouped in step S303 with a memory controller.

단계 S307에서, 영상 처리 장치(100)는 분할된 영상 처리 단위를 각 영상 처리 단위가 속하는 그룹과 매핑된 메모리 컨트롤러에 의해 제어되는 메모리에 저장할 수 있다. 즉, 분할된 각각의 영상 처리 단위들은 속한 그룹에 따라 각각 다른 메모리 컨트롤러에 의해 처리될 수 있다. 따라서, 본 발명의 일 실시 예에 의하면, 영상 처리 장치(100)가 크기가 큰 영상 데이터를 처리하는 경우, 복수 개의 메모리 컨트롤러를 이용할 수 있으므로 단일 메모리 컨트롤러를 사용할 때보다 빠르게 영상을 처리할 수 있다.In step S307, the image processing apparatus 100 may store the divided image processing units in a memory controlled by a memory controller mapped to a group to which each image processing unit belongs. That is, each of the divided image processing units may be processed by different memory controllers according to a group to which they belong. Accordingly, according to an embodiment of the present invention, when the image processing apparatus 100 processes large sized image data, a plurality of memory controllers may be used, so images may be processed faster than when using a single memory controller. .

도 3b는 본 발명의 일 실시 예에 있어서, 복수 개의 메모리 컨트롤러를 이용하여 메모리에 저장된 영상 데이터에 접근하는 방법을 나타낸 순서도이다.3B is a flowchart illustrating a method of accessing image data stored in a memory using a plurality of memory controllers in an embodiment of the present invention.

도 3b를 참조하면, 단계 S309에서 영상 처리 장치(100)는 접근하고자 하는 영상의 영상 처리 단위가 속하는 그룹을 결정할 수 있다. 단계 S309에서 결정될 수 있는 그룹은 도 3a 중 단계 S303에서 그룹화된 결과에 따라 각 영상 처리 단위가 속하는 그룹일 수 있다. 예를 들면, 각 영상 처리 단위는 제1 내지 제4 그룹 중 하나로 결정될 수 있다. 각 영상 처리 단위는 일정 규칙에 따라 그룹이 결정될 수 있으나 이에 한하지 않고, 미리 설정된 정보 또는 조건에 따라 결정될 수 있다. Referring to FIG. 3B, in step S309, the image processing apparatus 100 may determine a group to which the image processing unit of the image to be accessed belongs. The group that may be determined in step S309 may be a group to which each image processing unit belongs according to the result grouped in step S303 in FIG. 3A. For example, each image processing unit may be determined as one of the first to fourth groups. The group of each image processing unit may be determined according to a certain rule, but is not limited thereto, and may be determined according to preset information or conditions.

단계 S311에서, 영상 처리 장치(100)는 단계 S311에서 결정된 그룹과 매핑된 메모리 컨트롤러를 결정할 수 있다. 단계 S311에서 결정될 수 있는 메모리 컨트롤러는 도 3a 중 단계 S305에서 매핑된 결과에 따라 각 그룹과 매핑된 메모리 컨트롤러일 수 있다.In step S311, the image processing apparatus 100 may determine a memory controller mapped to the group determined in step S311. The memory controller that may be determined in step S311 may be a memory controller mapped to each group according to the result mapped in step S305 in FIG. 3A.

단계 S313에서, 영상 처리 장치(100)는 단계 S311에서 결정된 메모리 컨트롤러를 통해 메모리에 접근함으로써 영상의 영상 처리 단위에 접근할 수 있다. 즉, 각각의 영상 처리 단위들은 속한 그룹에 따라 각각 다른 메모리 컨트롤러에 의해 처리될 수 있다.In step S313, the image processing apparatus 100 may access the image processing unit of the image by accessing the memory through the memory controller determined in step S311. That is, each image processing unit may be processed by a different memory controller according to a group to which it belongs.

도 4는 본 발명의 일 실시 예에 있어서, 분할된 영상 데이터를 색 성분 별로 하나 이상의 그룹으로 그룹화하는 일 예를 나타낸 예시도이다.4 is an exemplary diagram illustrating an example of grouping divided image data into one or more groups for each color component in an embodiment of the present invention.

도 4를 참조하면, 영상은 각 색성분(410, 420, 430) 별로 소정 크기의 블록으로 분할되고, 각 블록은 제1 내지 제4 그룹 중 하나에 속할 수 있다.Referring to FIG. 4, an image is divided into blocks of a predetermined size for each color component 410, 420, and 430, and each block may belong to one of the first to fourth groups.

예를 들면, 영상의 색성분이 Y, Cb, Cr로 구성된 경우에는 Y 성분, Cr 성분, Cb 성분 별 영상들(410, 420, 430)이 소정의 영상 처리 단위로 분할될 수 있다. 또한, 분할된 영상 처리 단위들은 각각 하나 이상의 그룹으로 그룹화될 수 있고, 각 그룹은 하나 이상의 메모리 컨트롤러와 매핑될 수 있다. 따라서, 분할된 영상 처리 단위들은 각각의 그룹과 매핑되는 메모리 컨트롤러에 의해 메모리에 저장되거나 액세스될 수 있다.For example, when the color components of the image are composed of Y, Cb, and Cr, the images 410, 420, and 430 for each Y component, Cr component, and Cb component may be divided into predetermined image processing units. Also, the divided image processing units may be grouped into one or more groups, and each group may be mapped to one or more memory controllers. Accordingly, the divided image processing units may be stored or accessed in memory by a memory controller mapped to each group.

본 발명의 일 실시 예에 있어서, 하나 이상의 소정의 영상 처리 단위로 분할될 수 있는 영상의 각 색성분은 YCbCr에 한하지 않고, 이외에 RGB나 다른 방식으로 구분된 색성분도 포함될 수 있다.In one embodiment of the present invention, each color component of an image that can be divided into one or more predetermined image processing units is not limited to YCbCr, but may also include color components separated by RGB or other methods.

도 5는 본 발명의 다른 실시 예에 있어서, 분할된 영상 데이터를 하나 이상의 그룹으로 그룹화하는 일 예를 나타낸 예시도이다.5 is an exemplary diagram illustrating an example of grouping divided image data into one or more groups in another embodiment of the present invention.

도 5를 참조하면, 영상(500)은 영상 처리 단위 중 하나인 슬라이스 단위로 분할될 수 있다. 영상(500)이 슬라이스 단위로 분할되는 경우, 가로 방향으로 다수의 영상의 영역이 분할될 수 있다. 또한, 영상(500)의 각 분할된 슬라이스 단위들은 제1 내지 제4 그룹으로 그룹화될 수 있다. 제1 내지 제4 그룹이 제1 내지 제4 메모리 컨트롤러와 매핑되는 경우, 각 슬라이스 단위들은 자신이 속한 그룹과 매핑된 메모리 컨트롤러에 의해 메모리에 기록되거나 접근될 수 있다.Referring to FIG. 5, the image 500 may be divided into slice units, one of image processing units. When the image 500 is divided in slice units, a plurality of image regions may be divided in a horizontal direction. In addition, each divided slice unit of the image 500 may be grouped into first to fourth groups. When the first to fourth groups are mapped to the first to fourth memory controllers, each slice unit may be recorded or accessed in memory by the memory controller mapped to the group to which it belongs.

영상 처리 장치(100)는 현재 영상을 처리하기 위해 각 메모리에 저장된 참조 영상 데이터에 접근할 수 있다. 다시 말하면, 영상 처리 장치(100)는 현재 영상의 소정 영역을 처리하기 위한 참조 영상의 소정 영역이 어느 그룹에 속하는지 판단하고, 참조 영상의 소정 영역이 기록된 메모리에 해당 메모리를 제어하는 메모리 컨트롤러를 통하여 접근할 수 있다. The image processing apparatus 100 may access reference image data stored in each memory to process the current image. In other words, the image processing apparatus 100 determines a group to which a predetermined region of the reference image for processing a predetermined region of the current image belongs, and a memory controller that controls the memory in the memory in which the predetermined region of the reference image is recorded Can be accessed through.

이때, 영상 처리 장치(100)는 처리되는 영상 데이터 영역의 특성에 따라서 현재 영상의 소정 영역을 처리하기 위해 참조 영상의 소정 영역과 인접한 영역에 속하는 영상 데이터를 더 필요로 할 수 있다. 그러나, 참조 영상의 소정 영역과 인접한 영역이 속하는 그룹이 소정 영역이 속하는 그룹과 상이한 경우, 소정 영역이 속하는 그룹과는 다른 그룹과 매핑된 메모리 컨트롤러를 통하여 접근해야 한다. 이 경우, 영상 처리 과정의 복잡도 또는 데이터 혼잡도가 높아질 수 있다.At this time, the image processing apparatus 100 may further require image data belonging to a region adjacent to a predetermined region of the reference image in order to process a predetermined region of the current image according to characteristics of the image data region to be processed. However, when a group to which a region adjacent to a predetermined region of a reference image belongs is different from a group to which a predetermined region belongs, access through a memory controller mapped to a group different from the group to which the predetermined region belongs. In this case, complexity of an image processing process or data congestion may increase.

따라서, 본 발명의 일 실시 예에 의하면, 참조 영상 내에서 각 그룹에 속하는 영상 처리 단위간 적어도 하나 이상의 인접 영역에 속하는 영상 데이터는 각 그룹과 매핑되는 메모리 컨트롤러에 의해 제어되는 메모리에 각각 중복으로 저장될 수 있다. Accordingly, according to an embodiment of the present invention, image data belonging to at least one adjacent region between image processing units belonging to each group in the reference image are respectively stored in a memory controlled by a memory controller mapped to each group. Can be.

도 5를 참조하면, 각 그룹에 속하는 영상 처리 단위 간 적어도 하나 이상의 인접 영역(510, 520, 530)이 결정될 수 있다. 결정될 수 있는 인접 영역(510, 520, 530)은 각각 다른 그룹에 속하는 영상 처리 단위 간의 경계 사이에 존재할 수 있다. 그리고, 상기 인접 영역(510, 520, 530)에 속하는 영상 데이터는 각각 다른 그룹에 속하는 영상 처리 단위가 저장되는 메모리에 중복으로 저장될 수 있다. Referring to FIG. 5, at least one adjacent region 510, 520, or 530 may be determined between image processing units belonging to each group. Adjacent regions 510, 520, and 530 that may be determined may exist between boundaries between image processing units belonging to different groups. In addition, image data belonging to the adjacent regions 510, 520, and 530 may be redundantly stored in a memory in which image processing units belonging to different groups are stored.

이하 도 6 내지 도 8을 참조하여 도 5에서 상술한 실시 예에 대하여 더 자세히 설명하기로 한다.Hereinafter, the above-described embodiment in FIG. 5 will be described in more detail with reference to FIGS. 6 to 8.

도 6은 본 발명의 다른 실시 예에 있어서, 복수 개의 메모리 컨트롤러를 이용하여 영상 데이터를 저장하는 일 예를 나타낸 예시도이다.6 is an exemplary view showing an example of storing image data using a plurality of memory controllers in another embodiment of the present invention.

도 6을 참조하면, 영상 처리 장치(600)는 제어부(610)와 제1 내지 제4 메모리 컨트롤러(620, 630, 640, 650) 및 메모리(621, 631, 641, 651)를 포함할 수 있다. 도 6의 제어부(610)와 제1 내지 제4 메모리 컨트롤러(620, 630, 640, 650) 및 메모리(621, 631, 641, 651)는 도 1의 제어부(110)와 제1 내지 제4 메모리 컨트롤러(120, 130, 140, 150) 및 메모리(121, 131, 141, 151)와 대응되는 것으로서, 중복되는 설명은 생략하기로 한다.Referring to FIG. 6, the image processing apparatus 600 may include a control unit 610 and first to fourth memory controllers 620, 630, 640, 650 and memories 621, 631, 641, 651. . The control unit 610 of FIG. 6 and the first to fourth memory controllers 620, 630, 640, and 650 and the memory 621, 631, 641, and 651 are the control unit 110 of FIG. 1 and the first to fourth memory It corresponds to the controllers 120, 130, 140, 150 and the memory 121, 131, 141, 151, and duplicate description will be omitted.

메모리(621, 631, 641, 651)들은 각각 연결된 제1 내지 제4 메모리 컨트롤러(620, 630, 640, 650)에 의해 제어될 수 있다.The memories 621, 631, 641, and 651 may be controlled by the connected first to fourth memory controllers 620, 630, 640, and 650, respectively.

도 6에 도시된 메모리(621, 631, 641, 651)들의 내부 구조는, 각각의 메모리에 저장될 수 있는 영상(600)의 영역들을 도시한 것이다.The internal structure of the memories 621, 631, 641, and 651 shown in FIG. 6 shows regions of the image 600 that can be stored in each memory.

제1 메모리 컨트롤러(620)에 의해 제어될 수 있는 메모리(621)에는 영상(500)의 제1 그룹에 속하는 영상 처리 단위(622)가 저장될 수 있다. 더하여, 메모리(621)에는 영상(500)의 제2 그룹에 속하는 영상 처리 단위의 영상 데이터 영역 중에서 일부 영역에 속하는 영상 데이터 영역(623)이 저장될 수 있다. 즉, 제1 그룹에 속하는 영상 처리 단위와 제2 그룹에 속하는 영상 처리 단위 사이의 인접 영역(510)에 속하는 영상 데이터 영역(623)이 메모리(621)에 저장될 수 있다. The image processing unit 622 belonging to the first group of the image 500 may be stored in the memory 621 that can be controlled by the first memory controller 620. In addition, the image data region 623 belonging to a partial region among the image data regions of the image processing unit belonging to the second group of the image 500 may be stored in the memory 621. That is, the image data region 623 belonging to the adjacent region 510 between the image processing unit belonging to the first group and the image processing unit belonging to the second group may be stored in the memory 621.

따라서, 영상 처리 장치(600)가 영상 처리를 위해 참조 영상 내의 제1 그룹에 속하는 영상 처리 단위에 제1 메모리 컨트롤러(620)를 통하여 접근할 때, 다른 그룹에 속하는 영상 데이터도 제1 메모리 컨트롤러(620)를 통하여 접근할 수 있다. 즉, 영상 처리 장치(600)는 제1 그룹에 속하는 영상 처리 단위뿐만 아니라 제1 그룹에 속하는 영상 처리 단위와 인접한 다른 그룹에 속하는 소정 영역의 영상 데이터도 제1 메모리 컨트롤러(620)를 통하여 접근할 수 있다.Accordingly, when the image processing apparatus 600 accesses the image processing unit belonging to the first group in the reference image through the first memory controller 620 for image processing, the image data belonging to another group is also the first memory controller ( 620). That is, the image processing apparatus 600 may access not only image processing units belonging to the first group but also image data of a predetermined region belonging to another group adjacent to the image processing units belonging to the first group through the first memory controller 620. Can.

또한, 제2 메모리 컨트롤러(630)에 의해 제어될 수 있는 메모리(631)에는 영상(500)의 제2 그룹에 속하는 영상 처리 단위(633)가 저장될 수 있다. 더하여, 제1 그룹에 속하는 영상 처리 단위와 제2 그룹에 속하는 영상 처리 단위 사이의 인접 영역(510)과 제1 그룹에 속하는 영상 데이터 영역(632)이 메모리(631)에 저장될 수 있다. 더하여, 제2 그룹에 속하는 영상 처리 단위와 제3 그룹에 속하는 영상 처리 단위 사이의 인접 영역(520)과 제3 그룹에 속하는 영상 데이터 영역(634)이 메모리(631)에 저장될 수 있다.Also, the image processing unit 633 belonging to the second group of the image 500 may be stored in the memory 631 that can be controlled by the second memory controller 630. In addition, the adjacent region 510 between the image processing unit belonging to the first group and the image processing unit belonging to the second group and the image data area 632 belonging to the first group may be stored in the memory 631. In addition, the adjacent region 520 between the image processing unit belonging to the second group and the image processing unit belonging to the third group and the image data area 634 belonging to the third group may be stored in the memory 631.

또한, 제3 메모리 컨트롤러(640)에 의해 제어될 수 있는 메모리(641)에는 영상(500)의 제3 그룹에 속하는 영상 처리 단위(643)가 저장될 수 있다. 더하여, 제2 그룹에 속하는 영상 처리 단위와 제3 그룹에 속하는 영상 처리 단위 사이의 인접 영역(520)과 제2 그룹에 속하는 영상 데이터 영역(642)이 메모리(641)에 저장될 수 있다. 더하여, 제3 그룹에 속하는 영상 처리 단위와 제4 그룹에 속하는 영상 처리 단위 사이의 인접 영역(530)과 제4 그룹에 속하는 영상 데이터 영역(644)이 메모리(641)에 저장될 수 있다.Also, the image processing unit 643 belonging to the third group of the image 500 may be stored in the memory 641 that can be controlled by the third memory controller 640. In addition, the adjacent region 520 between the image processing unit belonging to the second group and the image processing unit belonging to the third group and the image data area 642 belonging to the second group may be stored in the memory 641. In addition, the adjacent region 530 between the image processing unit belonging to the third group and the image processing unit belonging to the fourth group and the image data area 644 belonging to the fourth group may be stored in the memory 641.

또한, 제4 메모리 컨트롤러(650)에 의해 제어될 수 있는 메모리(651)에는 영상(500)의 제4 그룹에 속하는 영상 처리 단위(653)가 저장될 수 있다. 더하여, 제3 그룹에 속하는 영상 처리 단위와 제4 그룹에 속하는 영상 처리 단위 사이의 인접 영역(510)과 제3 그룹에 속하는 영상 데이터 영역(652)이 메모리(651)에 저장될 수 있다. Also, the image processing unit 653 belonging to the fourth group of the image 500 may be stored in the memory 651 that can be controlled by the fourth memory controller 650. In addition, the adjacent region 510 and the image data region 652 belonging to the third group between the image processing unit belonging to the third group and the image processing unit belonging to the fourth group may be stored in the memory 651.

따라서, 영상 처리 장치(600)가 참조 영상 내의 소정 그룹에 속하는 영상 처리 단위에 해당 그룹과 매핑된 메모리 컨트롤러를 통하여 접근할 때, 다른 그룹에 속하는 영상 데이터도 동일한 메모리 컨트롤러를 통하여 접근할 수 있다. 즉, 영상 처리 장치(600)는 소정 그룹에 속하는 영상 처리 단위뿐만 아니라 소정 그룹에 속하는 영상 처리 단위와 인접한 다른 그룹에 속하는 소정 영역의 영상 데이터도 소정 그룹에 속하는 영상 처리 단위와 매핑된 메모리 컨트롤러를 통하여 접근할 수 있다. Accordingly, when the image processing apparatus 600 accesses an image processing unit belonging to a predetermined group in a reference image through a memory controller mapped to the corresponding group, image data belonging to another group may be accessed through the same memory controller. That is, the image processing apparatus 600 may not only image processing units belonging to a predetermined group, but also image processing units belonging to a predetermined group and image data of a predetermined region belonging to another group adjacent to the image processing unit mapped to an image processing unit belonging to a predetermined group. Can be accessed through

그러므로, 영상 처리 장치(600)가 현재 접근 중인 영상 처리 단위가 속하는 그룹과 다른 그룹에 속하는 소정 범위의 인접한 영역의 영상 데이터도 동일한 메모리 컨트롤러를 통하여 접근할 수 있으므로, 데이터 혼잡도가 낮아질 수 있다.Therefore, since the image processing apparatus 600 can access the image data of a predetermined range of adjacent regions belonging to a group different from the group to which the image processing unit currently being accessed belongs, the data congestion may be lowered.

도 7은 본 발명의 다른 실시 예에 있어서, 복수 개의 메모리 컨트롤러를 이용하여 영상 데이터를 저장하는 방법을 나타낸 순서도이다. 도 7의 단계 S701 내지 단계 S707은 도 3의 단계 S301 내지 단계 S307과 대응되는 것으로서, 중복되는 내용은 생략하기로 한다.7 is a flowchart illustrating a method of storing image data using a plurality of memory controllers in another embodiment of the present invention. Steps S701 to S707 of FIG. 7 correspond to steps S301 to S307 of FIG. 3, and redundant content will be omitted.

도 7을 참조하면, 단계 S701에서, 영상 처리 장치(600)는 영상(500)을 소정의 영상 처리 단위로 분할할 수 있다.Referring to FIG. 7, in step S701, the image processing apparatus 600 may divide the image 500 into predetermined image processing units.

단계 S703에서, 영상 처리 장치(600)는 분할된 각 영상 처리 단위를 하나 이상의 그룹으로 그룹화할 수 있다. 예를 들면, 분할된 각 영상 처리 단위는 제1 내지 제4 그룹으로 그룹화될 수 있다.In step S703, the image processing apparatus 600 may group each divided image processing unit into one or more groups. For example, each divided image processing unit may be grouped into first to fourth groups.

단계 S705에서, 영상 처리 장치(600)는 단계 S703에서 그룹화된 각 그룹을 메모리 컨트롤러와 각각 매핑할 수 있다.In step S705, the image processing apparatus 600 may map each group grouped in step S703 with a memory controller.

단계 S707에서, 영상 처리 장치(600)는 분할된 영상 처리 단위를 각 영상 처리 단위가 속하는 그룹과 매핑된 메모리 컨트롤러에 의해 제어되는 메모리에 저장할 수 있다. 즉, 분할된 각각의 영상 처리 단위들은 속한 그룹에 따라 각각 다른 메모리 컨트롤러에 의해 처리될 수 있다.In step S707, the image processing apparatus 600 may store the divided image processing unit in a memory controlled by a memory controller mapped to a group to which each image processing unit belongs. That is, each of the divided image processing units may be processed by different memory controllers according to a group to which they belong.

이하 설명에서, 각 영상 처리 단위가 속하는 그룹과 매핑된 메모리 컨트롤러에 의해 제어되는 메모리는, 설명 편의상 각 영상 처리 단위가 속하는 그룹 또는 각 영상 처리 단위와 매핑된 메모리로 표현될 수도 있다.In the following description, a memory controlled by a memory controller mapped to a group to which each image processing unit belongs may be expressed as a group to which each image processing unit belongs or a memory mapped to each image processing unit for convenience of description.

단계 S709에서, 영상 처리 장치(600)는 분할된 영상 처리 단위 각각에 대한 인접 영역을 결정할 수 있다. In step S709, the image processing apparatus 600 may determine adjacent regions for each of the divided image processing units.

이때 결정될 수 있는 인접 영역은 각각의 영상 처리 단위와 다른 그룹에 속하는 영상 처리 단위와의 경계 영역에 속하는 일정 범위의 영상 데이터 영역으로 결정될 수 있다. 예를 들면, 해당 영상이 영상 내 움직임이 큰 특성을 가지는 경우에는 인접 영역이 좀 더 넓은 범위로 결정될 수 있다. 예를 들면, 해당 영상이 영상 내 움직임이 작은 특성을 가지는 경우에는 인접 영역이 좀 더 작은 범위로 결정될 수 있다. 영상 특성에 따라 인접 영역의 범위가 결정될 수도 있으나, 영상 특성에 따르지 않고, 미리 설정된 값에 따라 소정의 영상들의 분할된 영상 처리 단위 각각에 대한 인접 영역의 범위가 결정될 수도 있다.At this time, the adjacent region that can be determined may be determined as a range of image data regions belonging to a boundary region between each image processing unit and an image processing unit belonging to a different group. For example, when the corresponding image has a large movement in the image, the adjacent region may be determined to be a wider range. For example, if the corresponding image has a small movement in the image, the adjacent region may be determined to be a smaller range. The range of the adjacent region may be determined according to the image characteristics, but the range of the adjacent region for each of the divided image processing units of predetermined images may be determined according to a preset value, not according to the image characteristics.

단계 S711에서, 영상 처리 장치(600)는 단계 S709에서 결정된 인접 영역에 속하는 영상 데이터는 각 인접 영역이 속하는 그룹과 매핑된 메모리 컨트롤러에 의해 제어되는 메모리에 중복으로 저장될 수 있다. In step S711, the image processing apparatus 600 may repeatedly store the image data belonging to the adjacent region determined in step S709 in a memory controlled by a memory controller mapped to a group to which each adjacent region belongs.

예를 들면, 단계 S709에서 결정된 인접 영역에 속하는 영상 데이터가 제1 그룹 또는 제2 그룹에 속할 수 있다. 이때 인접 영역에 속하는 영상 데이터 중 제1 그룹에 속하는 영상 데이터는 제1 그룹과 매핑된 메모리뿐만 아니라 제2 그룹과 매핑된 메모리에도 중복으로 저장될 수 있다. 마찬가지로, 인접 영역에 속하는 영상 데이터 중 제2 그룹에 속하는 영상 데이터는 제2 그룹과 매핑된 메모리뿐만 아니라 제1 그룹과 매핑된 메모리에도 중복으로 저장될 수 있다.For example, image data belonging to the adjacent region determined in step S709 may belong to the first group or the second group. At this time, among the image data belonging to the adjacent region, the image data belonging to the first group may be redundantly stored in the memory mapped to the first group as well as the memory mapped to the first group. Similarly, the image data belonging to the second group among the image data belonging to the adjacent region may be stored in the memory mapped to the second group as well as the memory mapped to the first group.

도 8은 본 발명의 다른 실시 예에 있어서, 복수 개의 메모리 컨트롤러를 이용하여 영상 데이터에 접근하는 방법을 나타낸 순서도이다. 도 8의 단계 S801 내지 단계 S805는 도 3의 단계 S309 내지 단계 S313과 대응되는 것으로서, 중복되는 내용은 생략하기로 한다.8 is a flowchart illustrating a method of accessing image data using a plurality of memory controllers in another embodiment of the present invention. Steps S801 to S805 of FIG. 8 correspond to steps S309 to S313 of FIG. 3, and overlapping contents will be omitted.

도 8을 참조하면, 단계 S801에서 영상 처리 장치(600)는 접근하고자 하는 영상의 영상 처리 단위가 속하는 그룹을 결정할 수 있다. 단계 S801에서 결정될 수 있는 그룹은 도 7 중 단계 S703에서 그룹화된 결과에 따라 각 영상 처리 단위가 속하는 그룹일 수 있다.Referring to FIG. 8, in step S801, the image processing apparatus 600 may determine a group to which the image processing unit of the image to be accessed belongs. The group that can be determined in step S801 may be a group to which each image processing unit belongs according to the result grouped in step S703 in FIG. 7.

단계 S803에서, 영상 처리 장치(600)는 단계 S801에서 결정된 그룹과 매핑된 메모리 컨트롤러를 결정할 수 있다. 단계 S801에서 결정될 수 있는 메모리 컨트롤러는 도 7 중 단계 S705에서 매핑된 결과에 따라 각 그룹과 매핑된 메모리 컨트롤러일 수 있다.In step S803, the image processing apparatus 600 may determine the memory controller mapped to the group determined in step S801. The memory controller that may be determined in step S801 may be a memory controller mapped to each group according to the result mapped in step S705 in FIG. 7.

단계 S805에서, 영상 처리 장치(600)는 단계 S803에서 결정된 메모리 컨트롤러를 통해 메모리에 접근함으로써 영상의 영상 처리 단위에 접근할 수 있다.In step S805, the image processing apparatus 600 may access the image processing unit of the image by accessing the memory through the memory controller determined in step S803.

단계 S807에서, 영상 처리 장치(600)는 단계 S805에서 접근된 영상 처리 단위의 인접 영역의 영상 데이터를 획득하고자 하는 경우, 단계 S809에서, 인접 영역이 속한 그룹이 영상 처리 단위가 속한 그룹과 상이한지 판단할 수 있다.In step S807, if the image processing apparatus 600 wants to acquire image data of an adjacent region of the image processing unit accessed in step S805, in step S809, whether the group to which the adjacent region belongs differs from the group to which the image processing unit belongs. I can judge.

단계 S809에서 판단한 결과, 인접 영역이 속한 그룹이 영상 처리 단위가 속한 그룹과 동일한 경우, 단계 S811에서 영상 처리 장치(600)는 단계 S805에서 결정된 메모리 컨트롤러를 통해 인접 영역의 영상 데이터가 저장된 메모리에 접근할 수 있다.As a result of the determination in step S809, if the group to which the adjacent region belongs is the same as the group to which the image processing unit belongs, the image processing apparatus 600 accesses the memory in which the image data of the adjacent region is stored through the memory controller determined in step S805 in step S811 can do.

그러나, 단계 S809에서 판단한 결과, 인접 영역이 속한 그룹이 영상 처리 단위가 속한 그룹과 상이한 경우, 단계 S815에서 영상 처리 장치(600)는 인접 영역이 속한 그룹을 결정할 수 있다. 단계 S815에서 결정될 수 있는 그룹은 도 7 중 단계 S703에서 그룹화된 결과에 따라 인접 영역을 포함하는 영상 처리 단위가 속하는 그룹일 수 있다.However, as a result of determining in step S809, when the group to which the adjacent region belongs is different from the group to which the image processing unit belongs, the image processing apparatus 600 may determine the group to which the adjacent region belongs in step S815. The group that may be determined in step S815 may be a group to which an image processing unit including an adjacent region belongs according to the result grouped in step S703 in FIG. 7.

단계 S817에서, 영상 처리 장치(600)는 단계 S815에서 결정된 그룹과 매핑된 메모리 컨트롤러를 결정할 수 있다. 단계 S815에서 결정될 수 있는 메모리 컨트롤러는 도 7 중 단계 S705에서 매핑된 결과에 따라 각 그룹과 매핑된 메모리 컨트롤러일 수 있다.In step S817, the image processing apparatus 600 may determine the memory controller mapped to the group determined in step S815. The memory controller that may be determined in step S815 may be a memory controller mapped to each group according to the result mapped in step S705 in FIG. 7.

단계 S819에서, 영상 처리 장치(600)는 단계 S817에서 결정된 메모리 컨트롤러를 통해 메모리에 접근함으로써 인접 영역의 영상 데이터에 접근할 수 있다.In step S819, the image processing apparatus 600 may access the image data in the adjacent area by accessing the memory through the memory controller determined in step S817.

따라서, 본 발명의 일 실시 예에 의하면, 영상 처리 장치(600)는 소정의 영상 처리 단위와 인접 영역에 속하는 일부 영상 데이터도 소정의 영상 처리 단위와 함께 동일한 메모리에 저장될 수 있다. 이때 인접 영역에 속하는 일부 영상 데이터는 소정의 영상 처리 단위와 다른 그룹에 속하는 것으로 다른 그룹과 매핑된 메모리에 중복 저장될 수 있다.Accordingly, according to an embodiment of the present invention, the image processing apparatus 600 may store some image data belonging to a predetermined image processing unit and an adjacent region in the same memory together with a predetermined image processing unit. At this time, some of the image data belonging to the adjacent region belong to a group different from a predetermined image processing unit and may be repeatedly stored in a memory mapped to another group.

그러므로, 영상 처리 장치(600)는 처리 중인 영상 처리 단위와 인접 영역에 속하는 일부 영상 데이터도 처리 중인 영상 처리 단위와 매핑된 메모리로부터 획득할 수 있어 다른 메모리에 접근하지 않아도 되므로 데이터 혼잡도가 감소될 수 있다.Therefore, the image processing apparatus 600 may acquire some image data belonging to the image processing unit being processed and the adjacent region from the memory mapped to the image processing unit being processed, so data congestion may be reduced because it does not need to access another memory. have.

도 9은 본 발명의 일 실시 예에 있어서, 복수 개의 메모리 컨트롤러를 이용하여 저장된 영상 데이터를 처리하는 영상 처리 장치의 내부 구조를 나타낸 블록도이다.9 is a block diagram illustrating an internal structure of an image processing apparatus for processing stored image data using a plurality of memory controllers in an embodiment of the present invention.

도 9를 참조하면, 영상 처리 장치(900)는 제어부(910), 제1 내지 제4 메모리 컨트롤러(920, 930, 940, 950), 메모리(921, 931, 941, 951), 제1 내지 제4 디코더(960, 970, 980, 990) 및 제1 캐쉬 내지 제4 캐쉬(961, 971, 981, 991)를 포함할 수 있다. 도 1의 제어부(110), 제1 내지 제4 메모리 컨트롤러(120, 130, 140, 150) 및 메모리(121, 131, 141, 151)와, 도 6의 제1 내지 제4 메모리 컨트롤러(620, 630, 640, 650) 및 메모리(621, 631, 641, 651)는 도 9의 제어부(910), 제1 내지 제4 메모리 컨트롤러(920, 930, 940, 950) 및 메모리(921, 931, 941, 951)와 대응되며, 중복되는 설명은 생략하기로 한다.Referring to FIG. 9, the image processing apparatus 900 includes a control unit 910, first to fourth memory controllers 920, 930, 940, and 950, memories 921, 931, 941, and 951, and first to fourth It may include four decoders (960, 970, 980, 990) and first to fourth caches (961, 971, 981, 991). The controller 110 of FIG. 1, the first to fourth memory controllers 120, 130, 140, 150 and the memories 121, 131, 141, 151, and the first to fourth memory controllers 620 of FIG. 6 630, 640, 650) and memory (621, 631, 641, 651) is the control unit 910, the first to fourth memory controllers 920, 930, 940, 950 of Figure 9 and the memory (921, 931, 941) , 951), and redundant descriptions will be omitted.

제어부(910)는 통상적으로 영상 처리 장치(900)의 전반적인 동작을 제어할 수 있다. 예를 들어, 제어부(910)는 영상 데이터를 인코딩할 때 복원된 영상이 메모리(921, 931, 941, 951)에 저장되도록 제어할 수 있다. 또한, 제어부(910)는 영상 데이터를 디코딩할 때 복원된 영상이 메모리(921, 931, 941, 951)로부터 획득될 수 있도록 제어할 수 있다.The controller 910 may control the overall operation of the image processing apparatus 900. For example, the control unit 910 may control the restored image to be stored in the memories 921, 931, 941, and 951 when encoding the image data. In addition, when decoding the image data, the control unit 910 may control the restored image to be obtained from the memories 921, 931, 941, and 951.

복수개의 메모리 컨트롤러들(920, 930, 940, 950)은 메모리(921, 931, 941, 951)에 데이터를 저장하거나 획득하여 다른 장치로 전달할 수 있다. 즉, 메모리 컨트롤러들(920, 930, 940, 950)은 메모리(921, 931, 941, 951)를 전반적으로 제어할 수 있다.The plurality of memory controllers 920, 930, 940, and 950 may store or acquire data in the memories 921, 931, 941, and 951 and transfer them to other devices. That is, the memory controllers 920, 930, 940, and 950 may control the memories 921, 931, 941, and 951 as a whole.

메모리(921, 931, 941, 951)는 메모리 컨트롤러들(920, 930, 940, 950)의 제어에 따라 데이터를 저장할 수 있다.The memories 921, 931, 941, and 951 may store data under the control of the memory controllers 920, 930, 940, and 950.

제1 내지 제4 디코더(960, 970, 980, 990)는 메모리(921, 931, 941, 951)에 저장된 참조 영상을 메모리 컨트롤러들(920, 930, 940, 950)을 통해 획득하고, 획득한 참조 영상을 이용하여 현재 영상을 복호화할 수 있다. The first to fourth decoders 960, 970, 980, and 990 acquire and acquire reference images stored in the memories 921, 931, 941, and 951 through the memory controllers 920, 930, 940, and 950. The current image may be decoded using the reference image.

본 발명의 일 실시 예에 의한 제1 내지 제4 디코더(960, 970, 980, 990)는 각각 디코딩하는 현재 영상의 영역이 매핑될 수 있다. 즉, 제1 내지 제4 디코더(960, 970, 980, 990)는 각각 매핑된 현재 영상의 영역을 병렬적으로 동시에 디코딩할 수 있다.In the first to fourth decoders 960, 970, 980, and 990 according to an embodiment of the present invention, areas of a current image to be decoded may be mapped, respectively. That is, the first to fourth decoders 960, 970, 980, and 990 may simultaneously and simultaneously decode regions of the mapped current image.

이때, 제1 내지 제4 디코더(960, 970, 980, 990)와 매핑될 수 있는 현재 영상의 영역은 참조 영상의 분할된 영상 처리 단위가 속한 각 그룹에 따라 결정될 수 있다. 즉, 현재 영상의 영역과 대응되는 참조 영상의 영역에 속한 각 그룹에 따라서, 제1 내지 제4 디코더(960, 970, 980, 990)와 현재 영상의 영역이 결정될 수 있다. At this time, regions of the current image that can be mapped to the first to fourth decoders 960, 970, 980, and 990 may be determined according to each group to which the divided image processing unit of the reference image belongs. That is, the first to fourth decoders 960, 970, 980, 990 and the area of the current image may be determined according to each group belonging to a region of the reference image corresponding to the region of the current image.

예를 들어, 현재 영상의 영역과 대응되는 참조 영상의 영역이 속한 그룹이 제1 그룹인 경우, 현재 영상의 영역은 제1 디코더(960)에 의해 디코딩될 수 있다. For example, when the group to which the region of the reference image corresponding to the region of the current image belongs is the first group, the region of the current image may be decoded by the first decoder 960.

영상의 움직임 예측을 수행할 때, 참조 영상과 현재 영상 간의 시간 간격이 거의 0에 가까운 경우가 많으므로, 현재 영상과 참조 영상 간 큰 차이는 거의 존재하지 않을 수 있다. 따라서, 현재 영상이 디코딩될 때 이용될 수 있는 참조 영상의 영역은 현재 영상의 영역과 거의 대응되는 영역, 즉 동일한 위치의 영역에 해당될 수 있다. When performing motion prediction of an image, since a time interval between the reference image and the current image is often close to zero, a large difference between the current image and the reference image may hardly exist. Accordingly, the region of the reference image that can be used when the current image is decoded may correspond to an area almost corresponding to the area of the current image, that is, an area of the same location.

그러나, 현재 영상이 디코딩될 때 이용될 수 있는 참조 영상의 일부 영역은 현재 영상의 영역과 대응되지 않는 영역에 포함될 수도 있다. However, some areas of the reference picture that can be used when the current picture is decoded may be included in an area that does not correspond to the area of the current picture.

또한, 제1 내지 제4 디코더(960, 970, 980, 990)는 결정된 현재 영상의 영역과 대응되는 참조 영상의 분할된 영상 처리 단위가 속한 각 그룹에 따라 제1 내지 제4 메모리 컨트롤러(920, 930, 940, 950)가 매핑될 수 있다. 제1 내지 제4 디코더(960, 970, 980, 990)는 매핑된 각 메모리 컨트롤러(920, 930, 940, 950)를 통해 메모리(921, 931, 941, 951)에 저장된 참조 영상을 획득할 수 있다. Also, the first to fourth decoders 960, 970, 980, and 990 may include the first to fourth memory controllers 920, according to each group to which the divided image processing unit of the reference image corresponding to the determined region of the current image belongs. 930, 940, and 950 may be mapped. The first to fourth decoders 960, 970, 980, and 990 may acquire reference images stored in the memories 921, 931, 941, and 951 through the mapped memory controllers 920, 930, 940, and 950. have.

한편, 현재 영상이 디코딩될 때 이용될 수 있는 참조 영상의 일부 영역이 현재 영상의 영역과 대응되지 않는 영역에 포함되는 경우, 제1 내지 제4 디코더(960, 970, 980, 990)는 각각 매핑된 메모리 이외의 메모리로부터 참조영상을 획득할 수 있다.On the other hand, when some areas of the reference picture that can be used when the current picture is decoded are included in an area that does not correspond to the area of the current picture, the first to fourth decoders 960, 970, 980, and 990 are mapped respectively. A reference image can be obtained from a memory other than the memory that has been created.

제1 캐쉬 내지 제4 캐쉬(961, 971, 981, 991)는 각각 제1 내지 제4 디코더(960, 970, 980, 990)에 의해 메모리 컨트롤러들(920, 930, 940, 950)을 통해 획득한 참조 영상을 임시 저장할 수 있다. 제1 내지 제4 디코더(960, 970, 980, 990)는 제1 캐쉬 내지 제4 캐쉬(961, 971, 981, 991)에 임시 저장한 참조 영상 데이터를 이용하여 현재 영상을 복호화할 수 있다.The first to fourth caches 961, 971, 981, and 991 are obtained through the memory controllers 920, 930, 940, and 950 by the first to fourth decoders 960, 970, 980, and 990, respectively. One reference image can be temporarily stored. The first to fourth decoders 960, 970, 980, and 990 may decode the current image using reference image data temporarily stored in the first to fourth caches 961, 971, 981, and 991.

본 발명의 일 실시 예에 의한 영상 처리 장치(900)는 제1 내지 제4 디코더(960, 970, 980, 990)는 각각 매핑된 메모리(921, 931, 941, 951)에 저장된 참조 영상을 획득하여, 제1 캐쉬 내지 제4 캐쉬(961, 971, 981, 991)에 저장할 수 있다.In the image processing apparatus 900 according to an embodiment of the present invention, the first to fourth decoders 960, 970, 980, and 990 acquire reference images stored in the mapped memories 921, 931, 941, and 951, respectively. Thus, it can be stored in the first cache to the fourth cache (961, 971, 981, 991).

한편, 앞서 상술한 바와 같이 제1 내지 제4 디코더(960, 970, 980, 990)는 각각 매핑된 메모리 이외의 메모리로부터 참조영상을 획득하는 경우, 획득한 참조 영상을 제1 캐쉬 내지 제4 캐쉬(961, 971, 981, 991)에 저장할 수 있다. Meanwhile, as described above, when the first to fourth decoders 960, 970, 980, and 990 acquire reference images from memory other than the mapped memory, the obtained reference images are first to fourth cache. (961, 971, 981, 991).

이때 본 발명의 일 실시 예에 의하면, 제1 내지 제4 디코더(960, 970, 980, 990)와 각각 연결된 제1 캐쉬 내지 제4 캐쉬(961, 971, 981, 991)뿐만 아니라, 획득된 참조 영상의 영역과 대응되는 현재 영상의 영역이 디코딩되는 디코더의 캐쉬에도 메모리로부터 획득된 참조 영상이 중복으로 저장될 수 있다. 예를 들면, 제1 디코더(960)가 제1 디코더(960)와 매핑된 메모리(921) 이외의 메모리(931)로부터 참조 영상을 획득하는 경우, 획득한 참조 영상을 제1 캐쉬(961)뿐만 아니라 제2 캐쉬(971)에도 중복으로 저장할 수 있다.In this case, according to an embodiment of the present invention, the first to fourth caches 961, 971, 981, and 991 connected to the first to fourth decoders 960, 970, 980, and 990, respectively, as well as the obtained reference The reference image obtained from the memory may be duplicated in the cache of the decoder in which the region of the current image corresponding to the region of the image is decoded. For example, when the first decoder 960 acquires a reference image from a memory 931 other than the memory 921 mapped to the first decoder 960, the obtained reference image is the first cache 961 only. In addition, the second cache 971 may be stored in duplicate.

이는 제1 디코더(960)에 의해 획득된 참조 영상의 영역은 제2 디코더(970)에서도 이용될 가능성이 높으므로, 제2 캐쉬(971)에 제1 디코더(960)에 의해 획득된 참조 영상의 영역이 저장될 수 있다. 따라서, 제2 디코더(970)는 현재 영상을 복호화하기 위해 제2 메모리 컨트롤러(930)를 통해 메모리(931)에 접근하지 않아도 참조 영상을 제2 캐쉬(971)로부터 획득할 수 있다. This is because the region of the reference image obtained by the first decoder 960 is likely to be used by the second decoder 970, so that the second cache 971 of the reference image obtained by the first decoder 960 Areas can be stored. Therefore, the second decoder 970 may acquire the reference image from the second cache 971 without accessing the memory 931 through the second memory controller 930 to decode the current image.

다시 말하면, 디코더와 매핑된 메모리 이외의 메모리로부터 참조 영상이 획득된 경우, 참조 영상이 획득된 메모리와 매핑된 디코더에서도 획득된 참조 영상이 이용될 가능성이 높다. 앞서 상술한 바와 같이 현재 영상의 영역과 대응되는 참조 영상의 영역이 참조될 가능성이 높기 때문이다. 따라서, 참조 영상이 획득된 메모리와 매핑된 디코더의 캐쉬에도 획득된 참조 영상이 저장될 수 있다. In other words, when the reference image is obtained from a memory other than the memory mapped with the decoder, it is highly likely that the reference image obtained from the memory and the decoder mapped with the reference image is used. This is because there is a high possibility that the region of the reference image corresponding to the region of the current image is referred to as described above. Therefore, the obtained reference image may be stored in the cache of the decoder mapped to the memory from which the reference image was acquired.

도 10은 본 발명의 일 실시 예에 있어서, 복수 개의 메모리 컨트롤러를 이용하여 저장된 영상 데이터를 처리하는 방법을 나타낸 순서도이다.10 is a flowchart illustrating a method of processing stored image data using a plurality of memory controllers in an embodiment of the present invention.

도 10을 참조하면, 단계 S1001에서, 영상 처리 장치(900)는 하나 이상의 디코더를 하나 이상의 메모리 컨트롤러와 각각 매핑할 수 있다. 이때, 도 9에 관한 설명에서 상술한 바와 같이, 각 디코더는 디코딩하는 현재 영상의 영역과 각각 대응되는 참조 영상의 분할된 영상 처리 단위가 속한 각 그룹에 따라 메모리 컨트롤러와 매핑될 수 있다.Referring to FIG. 10, in step S1001, the image processing apparatus 900 may map one or more decoders with one or more memory controllers, respectively. At this time, as described above in the description of FIG. 9, each decoder may be mapped to a memory controller according to each group to which a divided image processing unit of a reference image corresponding to a region of a current image to be decoded belongs.

예를 들어, 현재 영상의 영역과 대응되는 참조 영상의 영역이 속한 그룹이 제1 그룹인 경우, 현재 영상의 영역은 제1 메모리 컨트롤러(920)와 매핑된 제1 디코더(960)에 의해 디코딩될 수 있다. 이는 현재 영상이 디코딩될 때 이용될 수 있는 참조 영상의 영역은 현재 영상의 영역과 거의 대응되는 영역에 해당될 수 있기 때문이다. For example, when the group to which the region of the reference image corresponding to the region of the current image belongs is the first group, the region of the current image is to be decoded by the first decoder 960 mapped with the first memory controller 920. Can. This is because the area of the reference picture that can be used when the current picture is decoded may correspond to an area that almost corresponds to the area of the current picture.

단계 S1003에서, 영상 처리 장치(900)는 제1 디코더가 제2 메모리 컨트롤러에 의해 제어되는 메모리에 저장된 데이터에 접근할 수 있다. 즉, 현재 영상이 디코딩될 때 이용될 수 있는 참조 영상의 일부 영역이 현재 영상의 영역과 대응되지 않는 영역에 포함되는 경우, 각 디코더는 각각 매핑된 메모리 이외의 메모리로부터 참조영상을 획득할 수 있다.In step S1003, the image processing apparatus 900 may access the data stored in the memory controlled by the second memory controller by the first decoder. That is, when some areas of the reference picture that can be used when the current picture is decoded are included in an area that does not correspond to the area of the current picture, each decoder can obtain a reference picture from memory other than the mapped memory. .

단계 S1005에서, 영상 처리 장치(900)는 단계 S1003에서 액세스한 데이터를 제1 디코더와 제2 디코더 중 적어도 하나의 캐쉬에 기록할 수 있다. 즉, 제1 디코더와 각각 연결된 캐쉬뿐만 아니라, 획득된 참조 영상의 영역과 대응되는 현재 영상의 영역이 디코딩되는 제2 디코더의 캐쉬에도 저장될 수 있다. 예를 들면, 제1 디코더가 제1 디코더와 매핑된 메모리 이외의 메모리로부터 참조 영상을 획득하는 경우, 획득한 참조 영상은 제1 캐쉬뿐만 아니라 제2 캐쉬에도 저장될 수 있다.In step S1005, the image processing apparatus 900 may record the data accessed in step S1003 in a cache of at least one of the first decoder and the second decoder. That is, the cache of the second decoder in which the region of the current image corresponding to the region of the obtained reference image is decoded may be stored as well as the caches respectively connected to the first decoder. For example, when the first decoder acquires a reference image from a memory other than the memory mapped to the first decoder, the obtained reference image may be stored in the second cache as well as the first cache.

도 11은 본 발명의 다른 실시 예에 있어서, 복수 개의 메모리 컨트롤러를 이용하여 저장된 영상 데이터를 처리하는 영상 처리 장치의 내부 구조를 나타낸 블록도이다.11 is a block diagram illustrating an internal structure of an image processing apparatus for processing stored image data using a plurality of memory controllers in another embodiment of the present invention.

도 11을 참조하면, 영상 처리 장치(1100)는 제어부(1110), 제1 내지 제4 메모리 컨트롤러(1120, 1130, 1140, 1150), 메모리(1121, 1131, 1141, 1151), 제1 내지 제4 디코더(1160, 1170, 1180, 1190) 및 제1 캐쉬 내지 제6 캐쉬(1161, 1162, 1171, 1181, 1182, 1191)를 포함할 수 있다. Referring to FIG. 11, the image processing device 1100 includes a control unit 1110, first to fourth memory controllers 1120, 1130, 1140, 1150, memory 1121, 1131, 1141, 1151, and first to first It may include 4 decoders (1160, 1170, 1180, 1190) and first to sixth caches (1161, 1162, 1171, 1181, 1182, 1191).

도 1의 제어부(110), 제1 내지 제4 메모리 컨트롤러(120, 130, 140, 150) 및 메모리(121, 131, 141, 151)와, 도 6의 제1 내지 제4 메모리 컨트롤러(620, 630, 640, 650) 및 메모리(621, 631, 641, 651)와, 도 9의 제어부(910), 제1 내지 제4 메모리 컨트롤러(920, 930, 940, 950) 및 메모리(921, 931, 941, 951)와, 도 11의 제어부(1110), 제1 내지 제4 메모리 컨트롤러(1120, 1130, 1140, 1150), 메모리(1121, 1131, 1141, 1151)와 대응되며, 중복되는 설명은 생략하기로 한다. The controller 110 of FIG. 1, the first to fourth memory controllers 120, 130, 140, 150 and the memory 121, 131, 141, 151, and the first to fourth memory controllers 620 of FIG. 6, 630, 640, 650) and memory (621, 631, 641, 651), the control unit 910 of FIG. 9, the first to fourth memory controllers (920, 930, 940, 950) and memory (921, 931, 941, 951), the control unit 1110 of FIG. 11, the first to fourth memory controllers 1120, 1130, 1140, 1150, correspond to the memory 1121, 1131, 1141, 1151, overlapping description is omitted I will do it.

또한, 도 9의 제1 내지 제4 디코더(960, 970, 980, 990) 및 제1 캐쉬 내지 제4 캐쉬(961, 971, 981, 991)는 도 11의 제1 내지 제4 디코더(1160, 1170, 1180, 1190) 및 제1 캐쉬 내지 제4 캐쉬(1161, 1171, 1181, 1191)와 대응되며, 중복되는 설명은 생략하기로 한다.In addition, the first to fourth decoders 960, 970, 980, and 990 of FIG. 9 and the first cache to fourth caches 961, 971, 981, and 991 are the first to fourth decoders 1160 of FIG. 1170, 1180, 1190) and the first cache to the fourth cache (1161, 1171, 1181, 1191), and overlapping description will be omitted.

제어부(1110)는 통상적으로 영상 처리 장치(1100)의 전반적인 동작을 제어할 수 있다. 예를 들어, 제어부(1110)는 영상 데이터를 인코딩할 때 복원된 영상이 메모리(1121, 1131, 1141, 1151)에 저장되도록 제어할 수 있다. 또한, 제어부(1110)는 영상 데이터를 디코딩할 때 복원된 영상이 메모리(1121, 1131, 1141, 1151)로부터 획득될 수 있도록 제어할 수 있다.The controller 1110 may control the overall operation of the image processing apparatus 1100. For example, the controller 1110 may control the restored image to be stored in the memories 1121, 1131, 1141, and 1151 when encoding image data. In addition, the controller 1110 may control the restored image to be obtained from the memories 1121, 1131, 1141, and 1151 when decoding the image data.

복수개의 메모리 컨트롤러들(1120, 1130, 1140, 1150)은 메모리(1121, 1131, 1141, 1151)에 데이터를 저장하거나 획득하여 다른 장치로 전달할 수 있다. 즉, 메모리 컨트롤러들(1120, 1130, 1140, 1150)은 메모리(1121, 1131, 1141, 1151)를 전반적으로 제어할 수 있다.The plurality of memory controllers 1120, 1130, 1140, and 1150 may store or acquire data in the memories 1121, 1131, 1141, and 1151 and transfer them to other devices. That is, the memory controllers 1120, 1130, 1140, and 1150 may control the memories 1121, 1131, 1141, and 1151 as a whole.

메모리(1121, 1131, 1141, 1151)는 메모리 컨트롤러들(1120, 1130, 1140, 1150)의 제어에 따라 데이터를 저장할 수 있다.The memories 1121, 1131, 1141, and 1151 may store data under the control of the memory controllers 1120, 1130, 1140, and 1150.

제1 내지 제4 디코더(1160, 1170, 1180, 1190)는 메모리(1121, 1131, 1141, 1151)에 저장된 참조 영상을 메모리 컨트롤러들(1120, 1130, 1140, 1150)을 통해 획득하고, 획득한 참조 영상을 이용하여 현재 영상을 복호화할 수 있다. 제1 내지 제4 디코더(1160, 1170, 1180, 1190)는 각각 매핑된 현재 영상의 영역을 병렬적으로 동시에 디코딩할 수 있다.The first to fourth decoders 1160, 1170, 1180, and 1190 acquire reference images stored in the memories 1121, 1131, 1141, and 1151 through memory controllers 1120, 1130, 1140, and 1150, and obtain The current image may be decoded using the reference image. The first to fourth decoders 1160, 1170, 1180, and 1190 may simultaneously decode regions of the mapped current image in parallel.

제1 캐쉬 내지 제4 캐쉬(1161, 1171, 1181, 1191)는 각각 제1 내지 제4 디코더(1160, 1170, 1180, 1190)에 의해 메모리 컨트롤러들(1120, 1130, 1140, 1150)을 통해 획득한 참조 영상을 임시 저장할 수 있다. 제1 내지 제4 디코더(1160, 1170, 1180, 1190)는 제1 캐쉬 내지 제4 캐쉬(1161, 1171, 1181, 1191)에 임시 저장한 참조 영상 데이터를 이용하여 현재 영상을 복호화할 수 있다.The first to fourth caches 1161, 1171, 1181, and 1191 are obtained through the memory controllers 1120, 1130, 1140, and 1150 by the first to fourth decoders 1160, 1170, 1180, and 1190, respectively. One reference image can be temporarily stored. The first to fourth decoders 1160, 1170, 1180, and 1190 may decode the current image using reference image data temporarily stored in the first to fourth caches 1161, 1171, 1181, and 1191.

도 11의 영상 처리 장치(1100)는 도 9의 영상 처리 장치(900)와는 달리 제5 캐쉬(1162)와 제6 캐쉬(1182)를 더 포함할 수 있다.Unlike the image processing apparatus 900 of FIG. 9, the image processing apparatus 1100 of FIG. 11 may further include a fifth cache 1162 and a sixth cache 1182.

제5 캐쉬(1162)와 제6 캐쉬(1182)는 둘 이상의 디코더와 연결될 수 있고, 각각 연결된 디코더와 매핑된 메모리 컨트롤러를 통해 획득한 참조 영상 중 일부 데이터를 임시 저장할 수 있다. The fifth cache 1162 and the sixth cache 1182 may be connected to two or more decoders, and may temporarily store some data among reference images obtained through a memory controller mapped to each connected decoder.

예를 들면, 제5 캐쉬(1162)가 제1 디코더(1160) 및 제2 디코더(1170)와 연결된 경우, 제5 캐쉬(1162)는 제1 디코더(1160) 및 제2 디코더(1170)와 매핑된 제1 메모리 컨트롤러(1120) 또는 제2 메모리 컨트롤러(1130)를 통해 획득한 참조 영상 중 일부 데이터를 임시 저장할 수 있다. For example, when the fifth cache 1162 is connected to the first decoder 1160 and the second decoder 1170, the fifth cache 1162 is mapped to the first decoder 1160 and the second decoder 1170 Some of the reference images acquired through the first memory controller 1120 or the second memory controller 1130 may be temporarily stored.

또한, 제6 캐쉬(1182)가 제3 디코더(1180) 및 제4 디코더(1190)와 연결된 경우, 제6 캐쉬(1182)는 제3 디코더(1180) 및 제4 디코더(1190)와 매핑된 제3 메모리 컨트롤러(1140) 또는 제4 메모리 컨트롤러(1150)를 통해 획득한 참조 영상 중 일부 데이터를 임시 저장할 수 있다.In addition, when the sixth cache 1182 is connected to the third decoder 1180 and the fourth decoder 1190, the sixth cache 1182 is mapped to the third decoder 1180 and the fourth decoder 1190. Some of the reference images acquired through the 3 memory controller 1140 or the 4th memory controller 1150 may be temporarily stored.

제5 캐쉬(1162) 또는 제6 캐쉬(1182)에 임시 저장될 수 있는 참조 영상 중 일부 데이터는 디코딩되는 현재 영상의 영역과 대응되지 않는 영역을 포함할 수 있다. 예를 들면, 제5 캐쉬(1162)에 임시 저장될 수 있는 참조 영상 중 일부 데이터는 제1 디코더(1160)에 의해 획득된 참조 영상 데이터 중에서 제2 메모리 컨트롤러(1130)를 통해 획득한 데이터를 포함할 수 있다. 또한, 제5 캐쉬(1162)에 임시 저장될 수 있는 참조 영상 중 일부 데이터는 제2 디코더(1170)에 의해 획득된 참조 영상 데이터 중에서 제1 메모리 컨트롤러(1120)를 통해 획득한 데이터를 포함할 수 있다.Some of the reference images that may be temporarily stored in the fifth cache 1162 or the sixth cache 1182 may include regions that do not correspond to regions of the current image to be decoded. For example, some of the reference images that may be temporarily stored in the fifth cache 1162 include data obtained through the second memory controller 1130 among reference image data obtained by the first decoder 1160. can do. In addition, some of the reference images that may be temporarily stored in the fifth cache 1162 may include data obtained through the first memory controller 1120 among reference image data obtained by the second decoder 1170. have.

본 발명의 일 실시 예에 의하면, 영상 처리 장치(1100)는 각 디코더와 연결된 캐쉬 이외에 둘 이상의 디코더와 연결된 캐쉬를 더 포함할 수 있다. 각 디코더는 자신과 매핑되지 않은 메모리 컨트롤러를 통해 획득한 데이터를 해당 캐쉬에 임시 저장할 수 있다. 따라서, 해당 캐쉬에 연결된 다른 디코더는 자신과 매핑된 메모리 컨트롤러를 통해 참조 영상 데이터를 획득할 필요 없이 해당 캐쉬에 접근함으로써 획득하고자 하는 참조 영상 데이터를 획득할 수 있다.According to an embodiment of the present invention, the image processing apparatus 1100 may further include a cache connected to two or more decoders in addition to a cache connected to each decoder. Each decoder can temporarily store data acquired through a memory controller that is not mapped to itself in its cache. Accordingly, other decoders connected to the cache may acquire reference image data to be acquired by accessing the cache without having to acquire reference image data through a memory controller mapped to the cache.

즉, 둘 이상의 디코더와 연결된 캐쉬는 각각 연결된 디코더에서 현재 영상을 복호화하기 위해 공통으로 이용될 수 있는 참조 영상의 영역을 임시 저장할 수 있다. 이때 공통으로 이용될 수 있는 참조 영상의 영역은, 예를 들면, 각 그룹에 속하는 영상 처리 단위간 적어도 하나 이상의 인접 영역을 포함할 수 있다.That is, a cache connected to two or more decoders may temporarily store a region of a reference image that can be commonly used to decode the current image in each connected decoder. In this case, a region of the reference image that can be commonly used may include, for example, at least one adjacent region between image processing units belonging to each group.

이하 도 12와 관련하여 상술한 영상 처리 장치(1100)에 의한 복수 개의 메모리 컨트롤러를 이용하여 저장된 영상 데이터를 처리하는 방법을 더 상세히 설명하기로 한다.Hereinafter, a method of processing stored image data using a plurality of memory controllers by the image processing apparatus 1100 described above with reference to FIG. 12 will be described in more detail.

도 12는 본 발명의 다른 실시 예에 있어서, 복수 개의 메모리 컨트롤러를 이용하여 저장된 영상 데이터를 처리하는 방법을 나타낸 순서도이다.12 is a flowchart illustrating a method of processing stored image data using a plurality of memory controllers in another embodiment of the present invention.

도 12를 참조하면, 단계 S1201에서, 영상 처리 장치(1100)는 하나 이상의 디코더를 하나 이상의 메모리 컨트롤러와 각각 매핑할 수 있다. 이때, 도 9에 관한 설명에서 상술한 바와 같이, 각 디코더는 디코딩하는 현재 영상의 영역과 각각 대응되는 참조 영상의 분할된 영상 처리 단위가 속한 각 그룹에 따라 메모리 컨트롤러와 매핑될 수 있다.Referring to FIG. 12, in step S1201, the image processing apparatus 1100 may map one or more decoders with one or more memory controllers, respectively. At this time, as described above in the description of FIG. 9, each decoder may be mapped to a memory controller according to each group to which a divided image processing unit of a reference image corresponding to a region of a current image to be decoded belongs.

예를 들어, 현재 영상의 영역과 대응되는 참조 영상의 영역이 속한 그룹이 제1 그룹인 경우, 현재 영상의 영역은 제1 메모리 컨트롤러(1120)와 매핑된 제1 디코더(1160)에 의해 디코딩될 수 있다. 이는 현재 영상이 디코딩될 때 이용될 수 있는 참조 영상의 영역은 현재 영상의 영역과 거의 대응되는 영역에 해당될 수 있기 때문이다. For example, when the group to which the region of the reference image corresponding to the region of the current image belongs is the first group, the region of the current image is decoded by the first decoder 1160 mapped with the first memory controller 1120. Can be. This is because the area of the reference picture that can be used when the current picture is decoded may correspond to an area that almost corresponds to the area of the current picture.

단계 S1203에서, 영상 처리 장치(1100)에 포함된 제1 디코더는 제1 디코더가 획득하고자 하는 데이터가 제2 메모리 컨트롤러에 의해 제어되는 메모리에 저장되어 있는지 판단할 수 있다. 즉, 디코더가 획득하고자 하는 데이터가 자신과 매핑되지 않은 메모리 컨트롤러에 의해 제어되는 메모리에 저장되어 있는지 판단할 수 있다. 제1 디코더와 제2 메모리 컨트롤러는 영상 처리 장치(1100)의 제1 디코더(1160)와 제2 메모리 컨트롤러(1130)를 의미할 수도 있으나, 이에 한하지 않고, 서로 매핑되지 않은 디코더와 메모리 컨트롤러를 각각 의미할 수 있다.In step S1203, the first decoder included in the image processing apparatus 1100 may determine whether data desired by the first decoder is stored in a memory controlled by the second memory controller. That is, it is possible to determine whether data to be acquired by the decoder is stored in a memory controlled by a memory controller that is not mapped to itself. The first decoder and the second memory controller may refer to the first decoder 1160 and the second memory controller 1130 of the image processing apparatus 1100, but are not limited thereto. Each can mean.

단계 S1203에서, 제1 디코더는 제1 디코더가 획득하고자 하는 데이터가 제1 메모리 컨트롤러에 의해 제어되는 메모리, 즉 제1 디코더와 매핑된 메모리에 저장되어 있는 것으로 판단한 경우, 단계 S1205가 수행될 수 있다. 단계 S1205에서 제1 디코더는 제1 디코더와 매핑된 메모리 또는 제1 캐쉬에 액세스하여 데이터를 획득할 수 있다.In step S1203, when it is determined that the data to be acquired by the first decoder is stored in a memory controlled by the first memory controller, that is, a memory mapped to the first decoder, step S1205 may be performed. . In operation S1205, the first decoder may obtain data by accessing a memory or a first cache mapped with the first decoder.

단계 S1203에서, 제1 디코더는 제1 디코더가 획득하고자 하는 데이터가 제2 메모리 컨트롤러에 의해 제어되는 메모리, 즉 제1 디코더와 매핑되지 않은 메모리에 저장되어 있는 것으로 판단한 경우, 단계 S1207가 수행될 수 있다.In step S1203, when it is determined that the data to be acquired by the first decoder is stored in a memory controlled by the second memory controller, that is, a memory not mapped to the first decoder, step S1207 may be performed. have.

단계 S1207에서, 제1 디코더는 제1 디코더와, 제1 디코더 이외 하나 이상의 디코더와 연결된 제5 캐쉬에 액세스할 수 있다. 이때 제5 캐쉬는 영상 처리 장치(1100)의 제5 캐쉬(1162)일 수 있으나, 도 11에 도시된 영상 처리 장치(1100)는 일 예에 불과하고, 둘 이상의 디코더와 연결된 캐쉬를 의미할 수 있다.In step S1207, the first decoder may access the first decoder and a fifth cache connected to one or more decoders other than the first decoder. In this case, the fifth cache may be the fifth cache 1162 of the image processing apparatus 1100, but the image processing apparatus 1100 illustrated in FIG. 11 is only an example, and may mean a cache connected to two or more decoders. have.

단계 S1209에서, 제1 디코더는 제5 캐쉬에 제1 디코더가 획득하고자 하는 데이터가 존재하는지 판단할 수 있다. 즉, 제1 디코더는 제2 메모리 컨트롤러를 통해 메모리에 접근하는 대신 제1 디코더와 연결된 캐쉬에 데이터가 존재하는지 먼저 판단할 수 있다.In step S1209, the first decoder may determine whether there is data to be acquired by the first decoder in the fifth cache. That is, the first decoder may first determine whether data exists in a cache connected to the first decoder instead of accessing the memory through the second memory controller.

단계 S1213에서, 제1 디코더는 제5 캐쉬에 제1 디코더가 획득하고자 하는 데이터가 존재하는 경우, 제5 캐쉬로부터 해당 데이터를 획득할 수 있다.In step S1213, when the data to be acquired by the first decoder exists in the fifth cache, the first decoder may acquire the corresponding data from the fifth cache.

그러나, 단계 S1211에서, 제1 디코더는 제5 캐쉬에 제1 디코더가 획득하고자 하는 데이터가 존재하지 않는 경우, 제2 메모리 컨트롤러를 통해 메모리에 액세스하여 데이터를 획득할 수 있다.However, in step S1211, when the data to be acquired by the first decoder does not exist in the fifth cache, the first decoder may access the memory through the second memory controller to acquire the data.

따라서, 본 발명의 일 실시 예에 의하면, 각 디코더는 자신과 매핑되지 않은 메모리 컨트롤러를 통해 획득한 데이터를 해당 캐쉬에 임시 저장할 수 있다. 따라서, 해당 캐쉬에 연결된 다른 디코더는 자신과 매핑된 메모리 컨트롤러를 통해 참조 영상 데이터를 획득할 필요 없이 해당 캐쉬에 접근함으로써 획득하고자 하는 참조 영상 데이터를 획득할 수 있다.Accordingly, according to an embodiment of the present invention, each decoder may temporarily store data obtained through a memory controller that is not mapped to itself in a corresponding cache. Therefore, other decoders connected to the cache can acquire reference image data to be acquired by accessing the cache without having to acquire reference image data through a memory controller mapped to the cache.

본 발명은 컴퓨터로 읽을 수 있는 기록 매체에 컴퓨터(정보 처리 기능을 갖는 장치를 모두 포함한다)가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록 장치의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광데이터 저장 장치 등이 있다.The present invention can be embodied as computer readable codes on a computer readable recording medium (including all devices having information processing functions). The computer-readable recording medium includes all kinds of recording devices in which data readable by a computer system is stored. Examples of computer-readable recording devices include ROM, RAM, CD-ROM, magnetic tape, floppy disks, and optical data storage devices.

비록 상기 설명이 다양한 실시예들에 적용되는 본 발명의 신규한 특징들에 초점을 맞추어 설명되었지만, 본 기술 분야에 숙달된 기술을 가진 사람은 본 발명의 범위를 벗어나지 않으면서도 상기 설명된 장치 및 방법의 형태 및 세부 사항에서 다양한 삭제, 대체, 및 변경이 가능함을 이해할 것이다. 따라서, 본 발명의 범위는 상기 설명에서보다는 첨부된 특허청구범위에 의해 정의된다. 특허청구범위의 균등 범위 안의 모든 변형은 본 발명의 범위에 포섭된다.Although the above description has been described with a focus on the novel features of the present invention applied to various embodiments, a person skilled in the art without departing from the scope of the present invention, the apparatus and method described above It will be understood that various deletions, substitutions, and modifications are possible in the form and details of the. Accordingly, the scope of the present invention is defined by the appended claims rather than in the above description. All modifications within the equivalent scope of the claims are covered by the scope of the present invention.

Claims (15)

영상을 복수 개의 영상 처리 단위로 분할하는 단계;
상기 분할된 영상 처리 단위를 복수 개의 그룹으로 그룹화하는 단계;
상기 복수 개의 그룹을 복수 개의 메모리 컨트롤러와 각각 매핑하는 단계; 및
상기 영상 처리 단위를 상기 매핑된 메모리 컨트롤러에 의해 제어되는 서로 다른 메모리에 저장하는 단계를 포함하고,
상기 저장하는 단계는, 상기 복수 개의 그룹 중 제1 그룹에 포함된 적어도 하나의 영상 처리 단위와 인접한, 제2 그룹에 포함된 영상 처리 단위를 식별하고, 상기 식별된 제2 그룹의 영상 처리 단위를 상기 제2 그룹과 대응되는 메모리 및 상기 제1 그룹과 대응되는 메모리에 중복으로 저장하는 단계를 포함하는, 영상 데이터 저장 방법.
Dividing the image into a plurality of image processing units;
Grouping the divided image processing units into a plurality of groups;
Mapping the plurality of groups to a plurality of memory controllers, respectively; And
And storing the image processing unit in different memories controlled by the mapped memory controller,
In the storing, the image processing unit included in the second group adjacent to at least one image processing unit included in the first group among the plurality of groups is identified, and the image processing unit of the identified second group is stored. And repeatedly storing in a memory corresponding to the second group and a memory corresponding to the first group.
제1항에 있어서, 상기 분할하는 단계는
상기 영상의 각 색성분 별로 소정의 영상 처리 단위로 분할하는 단계를 포함하는 영상 데이터 저장 방법.
The method of claim 1, wherein the dividing step
And dividing each color component of the image into a predetermined image processing unit.
삭제delete 제1항에 있어서,
적어도 하나 이상의 디코더를 상기 적어도 하나의 메모리 컨트롤러와 각각 매핑하는 단계를 더 포함하고,
상기 적어도 하나의 메모리 컨트롤러에 의해 제어되는 메모리에 저장된 데이터는 상기 매핑된 디코더에 의해 액세스될 수 있는 영상 데이터 저장 방법.
According to claim 1,
And mapping at least one decoder to the at least one memory controller, respectively.
A method of storing image data in which data stored in a memory controlled by the at least one memory controller can be accessed by the mapped decoder.
제4항에 있어서,
제1 디코더가 제2 디코더와 매핑된 메모리 컨트롤러에 의해 제어되는 메모리에 저장된 데이터에 액세스하는 단계;
상기 데이터는 상기 제1 디코더 또는 상기 제2 디코더 중 적어도 하나의 캐쉬에 기록되는 단계를 더 포함하는 영상 데이터 저장 방법.
According to claim 4,
Accessing data stored in a memory controlled by a memory controller mapped to the second decoder by the first decoder;
And storing the data in a cache of at least one of the first decoder and the second decoder.
제4항에 있어서,
제1 디코더가 획득하고자 하는 데이터가 제2 디코더와 매핑된 메모리 컨트롤러에 의해 제어되는 메모리에 저장된 데이터인지 판단하는 단계;
상기 판단 결과에 따라, 상기 제1 디코더 및 상기 제2 디코더에 의해 액세스될 수 있는 캐쉬에 액세스하는 단계;
상기 액세스한 결과, 상기 데이터가 상기 캐쉬로부터 획득될 수 있는 경우, 상기 캐쉬로부터 상기 데이터를 획득하는 단계를 더 포함하는 영상 데이터 저장 방법.
According to claim 4,
Determining whether data to be acquired by the first decoder is data stored in a memory controlled by a memory controller mapped to the second decoder;
Accessing a cache that can be accessed by the first decoder and the second decoder according to the determination result;
And if the data can be obtained from the cache as a result of the access, obtaining the data from the cache.
제6항에 있어서,
상기 액세스한 결과, 상기 데이터가 상기 캐쉬로부터 획득될 수 없는 경우, 상기 제2 디코더와 매핑된 메모리 컨트롤러에 의해 제어되는 메모리에 액세스하여 상기 데이터를 획득하는 단계;
상기 데이터는 상기 캐쉬에 기록되는 단계를 더 포함하는 영상 데이터 저장 방법.
The method of claim 6,
As a result of the access, when the data cannot be obtained from the cache, accessing a memory controlled by a memory controller mapped with the second decoder to obtain the data;
And storing the data in the cache.
영상을 복수 개의 영상 처리 단위로 분할하고, 상기 분할된 영상 처리 단위를 복수 개의 그룹으로 그룹화하고, 상기 복수 개의 그룹을 복수 개의 메모리 컨트롤러와 각각 매핑하는 제어부;
상기 복수 개의 메모리 컨트롤러에 의해 제어되는 복수 개의 메모리; 및
상기 영상 처리 단위를 상기 매핑된 메모리 컨트롤러에 의해 제어되는 서로 다른 메모리에 저장하는 복수 개의 메모리 컨트롤러를 포함하고,
상기 제어부는, 상기 복수 개의 그룹 중 제1 그룹에 포함된 적어도 하나의 영상 처리 단위와 인접한, 제2 그룹에 포함된 영상 처리 단위를 식별하고,
상기 복수 개의 메모리 컨트롤러는, 상기 식별된 제2 그룹의 영상 처리 단위를 상기 제2 그룹과 대응되는 메모리 및 상기 제1 그룹과 대응되는 메모리에 중복으로 저장하는 영상 처리 장치.
A control unit for dividing an image into a plurality of image processing units, grouping the divided image processing units into a plurality of groups, and mapping the plurality of groups with a plurality of memory controllers, respectively;
A plurality of memories controlled by the plurality of memory controllers; And
And a plurality of memory controllers that store the image processing units in different memories controlled by the mapped memory controller,
The controller identifies an image processing unit included in a second group adjacent to at least one image processing unit included in a first group among the plurality of groups,
The plurality of memory controllers, the image processing apparatus for repeatedly storing the identified second group of image processing units in the memory corresponding to the second group and the memory corresponding to the first group.
제8항에 있어서, 상기 제어부는
상기 영상의 각 색성분 별로 소정의 영상 처리 단위로 분할하는 영상 처리 장치.
The method of claim 8, wherein the control unit
An image processing apparatus that divides each color component of the image into predetermined image processing units.
삭제delete 제8항에 있어서, 상기 영상 처리 장치는
적어도 하나 이상의 디코더를 더 포함하고,
상기 제어부는
적어도 하나 이상의 디코더를 상기 적어도 하나의 메모리 컨트롤러와 각각 매핑하고,
상기 적어도 하나의 메모리 컨트롤러에 의해 제어되는 메모리에 저장된 데이터는 상기 매핑된 디코더에 의해 액세스될 수 있는 영상 처리 장치.
The method of claim 8, wherein the image processing device
Further comprising at least one decoder,
The control unit
Mapping at least one decoder to each of the at least one memory controller,
An image processing apparatus in which data stored in a memory controlled by the at least one memory controller can be accessed by the mapped decoder.
제11항에 있어서,
제1 디코더는 제2 디코더와 매핑된 메모리 컨트롤러에 의해 제어되는 메모리에 저장된 데이터에 액세스하고,
상기 데이터는 상기 제1 디코더 또는 상기 제2 디코더 중 적어도 하나의 캐쉬에 기록되는 영상 처리 장치.
The method of claim 11,
The first decoder accesses data stored in memory controlled by a memory controller mapped to the second decoder,
The data is recorded in at least one cache of the first decoder or the second decoder.
제11항에 있어서,
제1 디코더는, 상기 제1 디코더가 획득하고자 하는 데이터가 제2 디코더와 매핑된 메모리 컨트롤러에 의해 제어되는 메모리에 저장된 데이터인지 판단하고, 상기 판단 결과에 따라, 상기 제1 디코더 및 상기 제2 디코더에 의해 액세스될 수 있는 캐쉬에 액세스하고, 상기 액세스한 결과, 상기 데이터가 상기 캐쉬로부터 획득될 수 있는 경우, 상기 캐쉬로부터 상기 데이터를 획득하는 영상 처리 장치.
The method of claim 11,
The first decoder determines whether data to be acquired by the first decoder is data stored in a memory controlled by a memory controller mapped to the second decoder, and according to the determination result, the first decoder and the second decoder An image processing apparatus for acquiring the data from the cache when accessing the cache that can be accessed by and accessing the result, the data can be obtained from the cache.
제13항에 있어서,
상기 제1 디코더는, 상기 액세스한 결과, 상기 데이터가 상기 캐쉬로부터 획득될 수 없는 경우, 상기 제2 디코더와 매핑된 메모리 컨트롤러에 의해 제어되는 메모리에 액세스하여 상기 데이터를 획득하고,
상기 데이터는 상기 캐쉬에 기록되는 영상 처리 장치.
The method of claim 13,
The first decoder, if the data cannot be obtained from the cache as a result of the access, accesses the memory controlled by the memory controller mapped with the second decoder to obtain the data,
The data is recorded in the cache image processing apparatus.
제1항 내지 제2항 또는 제4항 내지 제7항 중 어느 한 항에 있어서, 영상 데이터 저장 방법을 구현하기 위한 프로그램이 기록된 컴퓨터로 판독 가능한 기록 매체.The computer-readable recording medium according to any one of claims 1 to 2 or 4 to 7, wherein a program for implementing the image data storage method is recorded.
KR1020130093341A 2013-08-06 2013-08-06 Method and apparatus for storing image data using a multiple memory controller KR102135958B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020130093341A KR102135958B1 (en) 2013-08-06 2013-08-06 Method and apparatus for storing image data using a multiple memory controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130093341A KR102135958B1 (en) 2013-08-06 2013-08-06 Method and apparatus for storing image data using a multiple memory controller

Publications (2)

Publication Number Publication Date
KR20150017275A KR20150017275A (en) 2015-02-16
KR102135958B1 true KR102135958B1 (en) 2020-07-20

Family

ID=53046218

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130093341A KR102135958B1 (en) 2013-08-06 2013-08-06 Method and apparatus for storing image data using a multiple memory controller

Country Status (1)

Country Link
KR (1) KR102135958B1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101243933B1 (en) 2006-10-26 2013-03-18 엘에스아이 코포레이션 System for interleaved storage of video data

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100668302B1 (en) * 2004-07-28 2007-01-12 삼성전자주식회사 Memory mapping apparatus and method for video decoer/encoder
KR100846791B1 (en) * 2006-09-08 2008-07-16 삼성전자주식회사 Method and apparatus for saving video data
KR101086434B1 (en) * 2007-03-28 2011-11-25 삼성전자주식회사 Method and apparatus for displaying video data

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101243933B1 (en) 2006-10-26 2013-03-18 엘에스아이 코포레이션 System for interleaved storage of video data

Also Published As

Publication number Publication date
KR20150017275A (en) 2015-02-16

Similar Documents

Publication Publication Date Title
RU2715291C1 (en) Image encoding device, an image encoding method, a recording medium and a program, an image decoding device, an image decoding method and a recording medium and a program
US11138762B2 (en) Visual quality of video based point cloud compression using one or more additional patches
JP6817961B2 (en) 3D data coding method, 3D data decoding method, 3D data coding device and 3D data decoding device
JP6711913B2 (en) Three-dimensional data encoding method, three-dimensional data decoding method, three-dimensional data encoding device, and three-dimensional data decoding device
US10204395B2 (en) Stereoscopic virtual reality through caching and image based rendering
CN104851117B (en) The fusion method and device of image and two dimensional code
KR101668930B1 (en) Video analytic encoding
WO2019078292A1 (en) Three-dimensional data encoding method, three-dimensional data decoding method, three-dimensional data encoding device, and three-dimensional data decoding device
US20190004414A1 (en) Adaptive Resolution and Projection Format in Multi-Directional Video
US10373384B2 (en) Lightfield compression using disparity predicted replacement
JP6234146B2 (en) RECORDING CONTROL DEVICE, RECORDING CONTROL METHOD, AND PROGRAM
KR102135958B1 (en) Method and apparatus for storing image data using a multiple memory controller
US20180139464A1 (en) Decoding system for tile-based videos
JP4773511B2 (en) Data processing method and data processing system
US20020175920A1 (en) Memory access method
JP5053774B2 (en) Video encoding device
JP6390196B2 (en) Storage system, storage method, and program
US20160373736A1 (en) Methods and Apparatus for Storing Data Related to Video Decoding
US20230266902A1 (en) Video stream encoding for computational storage device
JP7138695B2 (en) Three-dimensional data encoding method, three-dimensional data decoding method, three-dimensional data encoding device, and three-dimensional data decoding device
JP5573516B2 (en) Image processing device
GB2531015A (en) Data processing systems
JP2003224853A (en) Moving picture encoding method and system, and moving picture decoding method and system
Yan Optimization of Storage Method for Video Segment Captured by Embedded System in Camera

Legal Events

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