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 PDFInfo
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods 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/423—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/186—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods 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/436—Methods 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
본 발명은 복수 개의 메모리 컨트롤러를 이용하여 영상 데이터를 저장하는 방법 및 장치에 대한 것이다.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
이하 상기 구성요소들에 대해 차례로 살펴본다.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
본 발명의 일 실시 예에 있어서, 제어부(110)는 복원된 영상이 메모리(121, 131, 141, 151)에 저장되도록 메모리 컨트롤러들(120, 130, 140, 150)을 제어할 수 있다.In one embodiment of the present invention, the
복수개의 메모리 컨트롤러들(120, 130, 140, 150)은 메모리(121, 131, 141, 151)에 데이터를 저장하거나 획득하여 다른 장치로 전달할 수 있다. 즉, 메모리 컨트롤러들(120, 130, 140, 150)은 메모리(121, 131, 141, 151)를 전반적으로 제어할 수 있다.The plurality of
본 발명의 일 실시 예에 있어서, 영상 처리 장치(100)는 영상을 소정의 영상 처리 단위로 분할하고, 분할된 영상 처리 단위들을 적어도 하나 이상의 그룹으로 그룹화할 수 있다. 그리고, 영상 처리 장치(100)는 적어도 하나의 그룹을 적어도 하나의 메모리 컨트롤러와 각각 매핑하고, 분할된 영상 처리 단위를 각각 그룹별로 매핑된 메모리 컨트롤러에 의해 제어되는 메모리에 저장할 수 있다.In an embodiment of the present invention, the
따라서, 본 발명의 일 실시 예에 의한 영상 처리 장치(100)는 초고화질 영상 데이터를 처리할 때, 복수 개의 메모리 컨트롤러를 이용함으로써, 메모리 대역폭이 더 커지게 되므로, 보다 빠른 속도로 초고화질 영상을 처리할 수 있다.Therefore, the
메모리 대역폭이란, 소정 시간동안 메모리로 전송되거나 수신될 수 있는 데이터의 크기를 의미한다. 따라서, 메모리 대역폭이 클수록 소정 시간동안 메모리에 기록하거나 읽을 수 있는 데이터의 크기가 커질 수 있다.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
본 발명의 일 실시 예에 의하면, 영상(200)은 복수 개의 메모리 컨트롤러가 이용될 수 있도록 소정의 영상 처리 단위로 분할될 수 있다. 그리고, 분할된 각각의 영상 처리 단위들은 하나 이상의 그룹으로 그룹화될 수 있다.According to an embodiment of the present invention, the
예를 들면, 소정의 영상 처리 단위는 M by N 단위의 블록일 수 있다. 또한, 영상(200)은 슬라이스, 타일 등 영상이 처리될 수 있는 단위나 이외 다양한 형태의 단위로 분할될 수 있다. For example, a predetermined image processing unit may be a block of M by N units. Also, the
소정의 영상 처리 단위는 일정 규칙에 따라 하나 이상의 그룹으로 그룹화될 수 있다. 예를 들면, 각 영상 처리 단위의 배열 순서에 따라 하나 이상의 그룹으로 그룹화될 수 있다. 도 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
도 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
단계 S303에서, 영상 처리 장치(100)는 분할된 각 영상 처리 단위를 하나 이상의 그룹으로 그룹화할 수 있다. 예를 들면, 분할된 각 영상 처리 단위는 제1 내지 제4 그룹으로 그룹화될 수 있다. 각 영상 처리 단위는 일정 규칙에 따라 그룹이 정해질 수 있으나 이에 한하지 않고, 미리 설정된 정보 또는 조건에 따라 정해질 수 있다. In step S303, the
단계 S305에서, 영상 처리 장치(100)는 단계 S303에서 그룹화된 각 그룹을 메모리 컨트롤러와 각각 매핑할 수 있다.In step S305, the
단계 S307에서, 영상 처리 장치(100)는 분할된 영상 처리 단위를 각 영상 처리 단위가 속하는 그룹과 매핑된 메모리 컨트롤러에 의해 제어되는 메모리에 저장할 수 있다. 즉, 분할된 각각의 영상 처리 단위들은 속한 그룹에 따라 각각 다른 메모리 컨트롤러에 의해 처리될 수 있다. 따라서, 본 발명의 일 실시 예에 의하면, 영상 처리 장치(100)가 크기가 큰 영상 데이터를 처리하는 경우, 복수 개의 메모리 컨트롤러를 이용할 수 있으므로 단일 메모리 컨트롤러를 사용할 때보다 빠르게 영상을 처리할 수 있다.In step S307, the
도 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
단계 S311에서, 영상 처리 장치(100)는 단계 S311에서 결정된 그룹과 매핑된 메모리 컨트롤러를 결정할 수 있다. 단계 S311에서 결정될 수 있는 메모리 컨트롤러는 도 3a 중 단계 S305에서 매핑된 결과에 따라 각 그룹과 매핑된 메모리 컨트롤러일 수 있다.In step S311, the
단계 S313에서, 영상 처리 장치(100)는 단계 S311에서 결정된 메모리 컨트롤러를 통해 메모리에 접근함으로써 영상의 영상 처리 단위에 접근할 수 있다. 즉, 각각의 영상 처리 단위들은 속한 그룹에 따라 각각 다른 메모리 컨트롤러에 의해 처리될 수 있다.In step S313, the
도 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
예를 들면, 영상의 색성분이 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
본 발명의 일 실시 예에 있어서, 하나 이상의 소정의 영상 처리 단위로 분할될 수 있는 영상의 각 색성분은 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
영상 처리 장치(100)는 현재 영상을 처리하기 위해 각 메모리에 저장된 참조 영상 데이터에 접근할 수 있다. 다시 말하면, 영상 처리 장치(100)는 현재 영상의 소정 영역을 처리하기 위한 참조 영상의 소정 영역이 어느 그룹에 속하는지 판단하고, 참조 영상의 소정 영역이 기록된 메모리에 해당 메모리를 제어하는 메모리 컨트롤러를 통하여 접근할 수 있다. The
이때, 영상 처리 장치(100)는 처리되는 영상 데이터 영역의 특성에 따라서 현재 영상의 소정 영역을 처리하기 위해 참조 영상의 소정 영역과 인접한 영역에 속하는 영상 데이터를 더 필요로 할 수 있다. 그러나, 참조 영상의 소정 영역과 인접한 영역이 속하는 그룹이 소정 영역이 속하는 그룹과 상이한 경우, 소정 영역이 속하는 그룹과는 다른 그룹과 매핑된 메모리 컨트롤러를 통하여 접근해야 한다. 이 경우, 영상 처리 과정의 복잡도 또는 데이터 혼잡도가 높아질 수 있다.At this time, the
따라서, 본 발명의 일 실시 예에 의하면, 참조 영상 내에서 각 그룹에 속하는 영상 처리 단위간 적어도 하나 이상의 인접 영역에 속하는 영상 데이터는 각 그룹과 매핑되는 메모리 컨트롤러에 의해 제어되는 메모리에 각각 중복으로 저장될 수 있다. 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
이하 도 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
메모리(621, 631, 641, 651)들은 각각 연결된 제1 내지 제4 메모리 컨트롤러(620, 630, 640, 650)에 의해 제어될 수 있다.The
도 6에 도시된 메모리(621, 631, 641, 651)들의 내부 구조는, 각각의 메모리에 저장될 수 있는 영상(600)의 영역들을 도시한 것이다.The internal structure of the
제1 메모리 컨트롤러(620)에 의해 제어될 수 있는 메모리(621)에는 영상(500)의 제1 그룹에 속하는 영상 처리 단위(622)가 저장될 수 있다. 더하여, 메모리(621)에는 영상(500)의 제2 그룹에 속하는 영상 처리 단위의 영상 데이터 영역 중에서 일부 영역에 속하는 영상 데이터 영역(623)이 저장될 수 있다. 즉, 제1 그룹에 속하는 영상 처리 단위와 제2 그룹에 속하는 영상 처리 단위 사이의 인접 영역(510)에 속하는 영상 데이터 영역(623)이 메모리(621)에 저장될 수 있다. The
따라서, 영상 처리 장치(600)가 영상 처리를 위해 참조 영상 내의 제1 그룹에 속하는 영상 처리 단위에 제1 메모리 컨트롤러(620)를 통하여 접근할 때, 다른 그룹에 속하는 영상 데이터도 제1 메모리 컨트롤러(620)를 통하여 접근할 수 있다. 즉, 영상 처리 장치(600)는 제1 그룹에 속하는 영상 처리 단위뿐만 아니라 제1 그룹에 속하는 영상 처리 단위와 인접한 다른 그룹에 속하는 소정 영역의 영상 데이터도 제1 메모리 컨트롤러(620)를 통하여 접근할 수 있다.Accordingly, when the
또한, 제2 메모리 컨트롤러(630)에 의해 제어될 수 있는 메모리(631)에는 영상(500)의 제2 그룹에 속하는 영상 처리 단위(633)가 저장될 수 있다. 더하여, 제1 그룹에 속하는 영상 처리 단위와 제2 그룹에 속하는 영상 처리 단위 사이의 인접 영역(510)과 제1 그룹에 속하는 영상 데이터 영역(632)이 메모리(631)에 저장될 수 있다. 더하여, 제2 그룹에 속하는 영상 처리 단위와 제3 그룹에 속하는 영상 처리 단위 사이의 인접 영역(520)과 제3 그룹에 속하는 영상 데이터 영역(634)이 메모리(631)에 저장될 수 있다.Also, the
또한, 제3 메모리 컨트롤러(640)에 의해 제어될 수 있는 메모리(641)에는 영상(500)의 제3 그룹에 속하는 영상 처리 단위(643)가 저장될 수 있다. 더하여, 제2 그룹에 속하는 영상 처리 단위와 제3 그룹에 속하는 영상 처리 단위 사이의 인접 영역(520)과 제2 그룹에 속하는 영상 데이터 영역(642)이 메모리(641)에 저장될 수 있다. 더하여, 제3 그룹에 속하는 영상 처리 단위와 제4 그룹에 속하는 영상 처리 단위 사이의 인접 영역(530)과 제4 그룹에 속하는 영상 데이터 영역(644)이 메모리(641)에 저장될 수 있다.Also, the
또한, 제4 메모리 컨트롤러(650)에 의해 제어될 수 있는 메모리(651)에는 영상(500)의 제4 그룹에 속하는 영상 처리 단위(653)가 저장될 수 있다. 더하여, 제3 그룹에 속하는 영상 처리 단위와 제4 그룹에 속하는 영상 처리 단위 사이의 인접 영역(510)과 제3 그룹에 속하는 영상 데이터 영역(652)이 메모리(651)에 저장될 수 있다. Also, the
따라서, 영상 처리 장치(600)가 참조 영상 내의 소정 그룹에 속하는 영상 처리 단위에 해당 그룹과 매핑된 메모리 컨트롤러를 통하여 접근할 때, 다른 그룹에 속하는 영상 데이터도 동일한 메모리 컨트롤러를 통하여 접근할 수 있다. 즉, 영상 처리 장치(600)는 소정 그룹에 속하는 영상 처리 단위뿐만 아니라 소정 그룹에 속하는 영상 처리 단위와 인접한 다른 그룹에 속하는 소정 영역의 영상 데이터도 소정 그룹에 속하는 영상 처리 단위와 매핑된 메모리 컨트롤러를 통하여 접근할 수 있다. Accordingly, when the
그러므로, 영상 처리 장치(600)가 현재 접근 중인 영상 처리 단위가 속하는 그룹과 다른 그룹에 속하는 소정 범위의 인접한 영역의 영상 데이터도 동일한 메모리 컨트롤러를 통하여 접근할 수 있으므로, 데이터 혼잡도가 낮아질 수 있다.Therefore, since the
도 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
단계 S703에서, 영상 처리 장치(600)는 분할된 각 영상 처리 단위를 하나 이상의 그룹으로 그룹화할 수 있다. 예를 들면, 분할된 각 영상 처리 단위는 제1 내지 제4 그룹으로 그룹화될 수 있다.In step S703, the
단계 S705에서, 영상 처리 장치(600)는 단계 S703에서 그룹화된 각 그룹을 메모리 컨트롤러와 각각 매핑할 수 있다.In step S705, the
단계 S707에서, 영상 처리 장치(600)는 분할된 영상 처리 단위를 각 영상 처리 단위가 속하는 그룹과 매핑된 메모리 컨트롤러에 의해 제어되는 메모리에 저장할 수 있다. 즉, 분할된 각각의 영상 처리 단위들은 속한 그룹에 따라 각각 다른 메모리 컨트롤러에 의해 처리될 수 있다.In step S707, the
이하 설명에서, 각 영상 처리 단위가 속하는 그룹과 매핑된 메모리 컨트롤러에 의해 제어되는 메모리는, 설명 편의상 각 영상 처리 단위가 속하는 그룹 또는 각 영상 처리 단위와 매핑된 메모리로 표현될 수도 있다.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
이때 결정될 수 있는 인접 영역은 각각의 영상 처리 단위와 다른 그룹에 속하는 영상 처리 단위와의 경계 영역에 속하는 일정 범위의 영상 데이터 영역으로 결정될 수 있다. 예를 들면, 해당 영상이 영상 내 움직임이 큰 특성을 가지는 경우에는 인접 영역이 좀 더 넓은 범위로 결정될 수 있다. 예를 들면, 해당 영상이 영상 내 움직임이 작은 특성을 가지는 경우에는 인접 영역이 좀 더 작은 범위로 결정될 수 있다. 영상 특성에 따라 인접 영역의 범위가 결정될 수도 있으나, 영상 특성에 따르지 않고, 미리 설정된 값에 따라 소정의 영상들의 분할된 영상 처리 단위 각각에 대한 인접 영역의 범위가 결정될 수도 있다.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
예를 들면, 단계 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
단계 S803에서, 영상 처리 장치(600)는 단계 S801에서 결정된 그룹과 매핑된 메모리 컨트롤러를 결정할 수 있다. 단계 S801에서 결정될 수 있는 메모리 컨트롤러는 도 7 중 단계 S705에서 매핑된 결과에 따라 각 그룹과 매핑된 메모리 컨트롤러일 수 있다.In step S803, the
단계 S805에서, 영상 처리 장치(600)는 단계 S803에서 결정된 메모리 컨트롤러를 통해 메모리에 접근함으로써 영상의 영상 처리 단위에 접근할 수 있다.In step S805, the
단계 S807에서, 영상 처리 장치(600)는 단계 S805에서 접근된 영상 처리 단위의 인접 영역의 영상 데이터를 획득하고자 하는 경우, 단계 S809에서, 인접 영역이 속한 그룹이 영상 처리 단위가 속한 그룹과 상이한지 판단할 수 있다.In step S807, if the
단계 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
그러나, 단계 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
단계 S817에서, 영상 처리 장치(600)는 단계 S815에서 결정된 그룹과 매핑된 메모리 컨트롤러를 결정할 수 있다. 단계 S815에서 결정될 수 있는 메모리 컨트롤러는 도 7 중 단계 S705에서 매핑된 결과에 따라 각 그룹과 매핑된 메모리 컨트롤러일 수 있다.In step S817, the
단계 S819에서, 영상 처리 장치(600)는 단계 S817에서 결정된 메모리 컨트롤러를 통해 메모리에 접근함으로써 인접 영역의 영상 데이터에 접근할 수 있다.In step S819, the
따라서, 본 발명의 일 실시 예에 의하면, 영상 처리 장치(600)는 소정의 영상 처리 단위와 인접 영역에 속하는 일부 영상 데이터도 소정의 영상 처리 단위와 함께 동일한 메모리에 저장될 수 있다. 이때 인접 영역에 속하는 일부 영상 데이터는 소정의 영상 처리 단위와 다른 그룹에 속하는 것으로 다른 그룹과 매핑된 메모리에 중복 저장될 수 있다.Accordingly, according to an embodiment of the present invention, the
그러므로, 영상 처리 장치(600)는 처리 중인 영상 처리 단위와 인접 영역에 속하는 일부 영상 데이터도 처리 중인 영상 처리 단위와 매핑된 메모리로부터 획득할 수 있어 다른 메모리에 접근하지 않아도 되므로 데이터 혼잡도가 감소될 수 있다.Therefore, the
도 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
제어부(910)는 통상적으로 영상 처리 장치(900)의 전반적인 동작을 제어할 수 있다. 예를 들어, 제어부(910)는 영상 데이터를 인코딩할 때 복원된 영상이 메모리(921, 931, 941, 951)에 저장되도록 제어할 수 있다. 또한, 제어부(910)는 영상 데이터를 디코딩할 때 복원된 영상이 메모리(921, 931, 941, 951)로부터 획득될 수 있도록 제어할 수 있다.The
복수개의 메모리 컨트롤러들(920, 930, 940, 950)은 메모리(921, 931, 941, 951)에 데이터를 저장하거나 획득하여 다른 장치로 전달할 수 있다. 즉, 메모리 컨트롤러들(920, 930, 940, 950)은 메모리(921, 931, 941, 951)를 전반적으로 제어할 수 있다.The plurality of
메모리(921, 931, 941, 951)는 메모리 컨트롤러들(920, 930, 940, 950)의 제어에 따라 데이터를 저장할 수 있다.The
제1 내지 제4 디코더(960, 970, 980, 990)는 메모리(921, 931, 941, 951)에 저장된 참조 영상을 메모리 컨트롤러들(920, 930, 940, 950)을 통해 획득하고, 획득한 참조 영상을 이용하여 현재 영상을 복호화할 수 있다. The first to
본 발명의 일 실시 예에 의한 제1 내지 제4 디코더(960, 970, 980, 990)는 각각 디코딩하는 현재 영상의 영역이 매핑될 수 있다. 즉, 제1 내지 제4 디코더(960, 970, 980, 990)는 각각 매핑된 현재 영상의 영역을 병렬적으로 동시에 디코딩할 수 있다.In the first to
이때, 제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
예를 들어, 현재 영상의 영역과 대응되는 참조 영상의 영역이 속한 그룹이 제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
영상의 움직임 예측을 수행할 때, 참조 영상과 현재 영상 간의 시간 간격이 거의 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
한편, 현재 영상이 디코딩될 때 이용될 수 있는 참조 영상의 일부 영역이 현재 영상의 영역과 대응되지 않는 영역에 포함되는 경우, 제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
제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
본 발명의 일 실시 예에 의한 영상 처리 장치(900)는 제1 내지 제4 디코더(960, 970, 980, 990)는 각각 매핑된 메모리(921, 931, 941, 951)에 저장된 참조 영상을 획득하여, 제1 캐쉬 내지 제4 캐쉬(961, 971, 981, 991)에 저장할 수 있다.In the
한편, 앞서 상술한 바와 같이 제1 내지 제4 디코더(960, 970, 980, 990)는 각각 매핑된 메모리 이외의 메모리로부터 참조영상을 획득하는 경우, 획득한 참조 영상을 제1 캐쉬 내지 제4 캐쉬(961, 971, 981, 991)에 저장할 수 있다. Meanwhile, as described above, when the first to
이때 본 발명의 일 실시 예에 의하면, 제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
이는 제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
다시 말하면, 디코더와 매핑된 메모리 이외의 메모리로부터 참조 영상이 획득된 경우, 참조 영상이 획득된 메모리와 매핑된 디코더에서도 획득된 참조 영상이 이용될 가능성이 높다. 앞서 상술한 바와 같이 현재 영상의 영역과 대응되는 참조 영상의 영역이 참조될 가능성이 높기 때문이다. 따라서, 참조 영상이 획득된 메모리와 매핑된 디코더의 캐쉬에도 획득된 참조 영상이 저장될 수 있다. 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
예를 들어, 현재 영상의 영역과 대응되는 참조 영상의 영역이 속한 그룹이 제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
단계 S1003에서, 영상 처리 장치(900)는 제1 디코더가 제2 메모리 컨트롤러에 의해 제어되는 메모리에 저장된 데이터에 접근할 수 있다. 즉, 현재 영상이 디코딩될 때 이용될 수 있는 참조 영상의 일부 영역이 현재 영상의 영역과 대응되지 않는 영역에 포함되는 경우, 각 디코더는 각각 매핑된 메모리 이외의 메모리로부터 참조영상을 획득할 수 있다.In step S1003, the
단계 S1005에서, 영상 처리 장치(900)는 단계 S1003에서 액세스한 데이터를 제1 디코더와 제2 디코더 중 적어도 하나의 캐쉬에 기록할 수 있다. 즉, 제1 디코더와 각각 연결된 캐쉬뿐만 아니라, 획득된 참조 영상의 영역과 대응되는 현재 영상의 영역이 디코딩되는 제2 디코더의 캐쉬에도 저장될 수 있다. 예를 들면, 제1 디코더가 제1 디코더와 매핑된 메모리 이외의 메모리로부터 참조 영상을 획득하는 경우, 획득한 참조 영상은 제1 캐쉬뿐만 아니라 제2 캐쉬에도 저장될 수 있다.In step S1005, the
도 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
도 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
또한, 도 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
제어부(1110)는 통상적으로 영상 처리 장치(1100)의 전반적인 동작을 제어할 수 있다. 예를 들어, 제어부(1110)는 영상 데이터를 인코딩할 때 복원된 영상이 메모리(1121, 1131, 1141, 1151)에 저장되도록 제어할 수 있다. 또한, 제어부(1110)는 영상 데이터를 디코딩할 때 복원된 영상이 메모리(1121, 1131, 1141, 1151)로부터 획득될 수 있도록 제어할 수 있다.The
복수개의 메모리 컨트롤러들(1120, 1130, 1140, 1150)은 메모리(1121, 1131, 1141, 1151)에 데이터를 저장하거나 획득하여 다른 장치로 전달할 수 있다. 즉, 메모리 컨트롤러들(1120, 1130, 1140, 1150)은 메모리(1121, 1131, 1141, 1151)를 전반적으로 제어할 수 있다.The plurality of
메모리(1121, 1131, 1141, 1151)는 메모리 컨트롤러들(1120, 1130, 1140, 1150)의 제어에 따라 데이터를 저장할 수 있다.The
제1 내지 제4 디코더(1160, 1170, 1180, 1190)는 메모리(1121, 1131, 1141, 1151)에 저장된 참조 영상을 메모리 컨트롤러들(1120, 1130, 1140, 1150)을 통해 획득하고, 획득한 참조 영상을 이용하여 현재 영상을 복호화할 수 있다. 제1 내지 제4 디코더(1160, 1170, 1180, 1190)는 각각 매핑된 현재 영상의 영역을 병렬적으로 동시에 디코딩할 수 있다.The first to
제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
도 11의 영상 처리 장치(1100)는 도 9의 영상 처리 장치(900)와는 달리 제5 캐쉬(1162)와 제6 캐쉬(1182)를 더 포함할 수 있다.Unlike the
제5 캐쉬(1162)와 제6 캐쉬(1182)는 둘 이상의 디코더와 연결될 수 있고, 각각 연결된 디코더와 매핑된 메모리 컨트롤러를 통해 획득한 참조 영상 중 일부 데이터를 임시 저장할 수 있다. The
예를 들면, 제5 캐쉬(1162)가 제1 디코더(1160) 및 제2 디코더(1170)와 연결된 경우, 제5 캐쉬(1162)는 제1 디코더(1160) 및 제2 디코더(1170)와 매핑된 제1 메모리 컨트롤러(1120) 또는 제2 메모리 컨트롤러(1130)를 통해 획득한 참조 영상 중 일부 데이터를 임시 저장할 수 있다. For example, when the
또한, 제6 캐쉬(1182)가 제3 디코더(1180) 및 제4 디코더(1190)와 연결된 경우, 제6 캐쉬(1182)는 제3 디코더(1180) 및 제4 디코더(1190)와 매핑된 제3 메모리 컨트롤러(1140) 또는 제4 메모리 컨트롤러(1150)를 통해 획득한 참조 영상 중 일부 데이터를 임시 저장할 수 있다.In addition, when the
제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
본 발명의 일 실시 예에 의하면, 영상 처리 장치(1100)는 각 디코더와 연결된 캐쉬 이외에 둘 이상의 디코더와 연결된 캐쉬를 더 포함할 수 있다. 각 디코더는 자신과 매핑되지 않은 메모리 컨트롤러를 통해 획득한 데이터를 해당 캐쉬에 임시 저장할 수 있다. 따라서, 해당 캐쉬에 연결된 다른 디코더는 자신과 매핑된 메모리 컨트롤러를 통해 참조 영상 데이터를 획득할 필요 없이 해당 캐쉬에 접근함으로써 획득하고자 하는 참조 영상 데이터를 획득할 수 있다.According to an embodiment of the present invention, the
즉, 둘 이상의 디코더와 연결된 캐쉬는 각각 연결된 디코더에서 현재 영상을 복호화하기 위해 공통으로 이용될 수 있는 참조 영상의 영역을 임시 저장할 수 있다. 이때 공통으로 이용될 수 있는 참조 영상의 영역은, 예를 들면, 각 그룹에 속하는 영상 처리 단위간 적어도 하나 이상의 인접 영역을 포함할 수 있다.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
도 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
예를 들어, 현재 영상의 영역과 대응되는 참조 영상의 영역이 속한 그룹이 제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
단계 S1203에서, 영상 처리 장치(1100)에 포함된 제1 디코더는 제1 디코더가 획득하고자 하는 데이터가 제2 메모리 컨트롤러에 의해 제어되는 메모리에 저장되어 있는지 판단할 수 있다. 즉, 디코더가 획득하고자 하는 데이터가 자신과 매핑되지 않은 메모리 컨트롤러에 의해 제어되는 메모리에 저장되어 있는지 판단할 수 있다. 제1 디코더와 제2 메모리 컨트롤러는 영상 처리 장치(1100)의 제1 디코더(1160)와 제2 메모리 컨트롤러(1130)를 의미할 수도 있으나, 이에 한하지 않고, 서로 매핑되지 않은 디코더와 메모리 컨트롤러를 각각 의미할 수 있다.In step S1203, the first decoder included in the
단계 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
단계 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.
상기 영상의 각 색성분 별로 소정의 영상 처리 단위로 분할하는 단계를 포함하는 영상 데이터 저장 방법.The method of claim 1, wherein the dividing step
And dividing each color component of the image into a predetermined image processing unit.
적어도 하나 이상의 디코더를 상기 적어도 하나의 메모리 컨트롤러와 각각 매핑하는 단계를 더 포함하고,
상기 적어도 하나의 메모리 컨트롤러에 의해 제어되는 메모리에 저장된 데이터는 상기 매핑된 디코더에 의해 액세스될 수 있는 영상 데이터 저장 방법.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.
제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.
제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.
상기 액세스한 결과, 상기 데이터가 상기 캐쉬로부터 획득될 수 없는 경우, 상기 제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.
상기 영상의 각 색성분 별로 소정의 영상 처리 단위로 분할하는 영상 처리 장치.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.
적어도 하나 이상의 디코더를 더 포함하고,
상기 제어부는
적어도 하나 이상의 디코더를 상기 적어도 하나의 메모리 컨트롤러와 각각 매핑하고,
상기 적어도 하나의 메모리 컨트롤러에 의해 제어되는 메모리에 저장된 데이터는 상기 매핑된 디코더에 의해 액세스될 수 있는 영상 처리 장치.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.
제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.
제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.
상기 제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.
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)
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)
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 |
-
2013
- 2013-08-06 KR KR1020130093341A patent/KR102135958B1/en active IP Right Grant
Patent Citations (1)
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 |