단편화 현상을 줄인 고속 처리가 가능한 블랙 박스

申请号 KR1020140149672 申请日 2014-10-30 公开(公告)号 KR101591807B1 公开(公告)日 2016-02-05
申请人 (주)위니테크놀러지; 发明人 오형석;
摘要 영상을처리하는블랙박스장치가개시된다. 이장치는영상을촬영하는카메라, 촬영한상기영상을인코딩하는인코더, 인코딩한상기영상을미리설정된 2킬로바이트크기(n은정수)의블록단위로게더링하고, 나머지부분을패딩으로설정하도록어플리케이션(application) 레벨에서동작하는게더링부및 게더링한블록단위의상기영상을메모리에기록하는기록부를포함한다. 게더링부는긴급한상황이발생하면게더링을클로징(closing)하고, 기록부는상기클로징시점까지게더링된영상을기록한다. 본발명에따르면, 입출력성능에제약없이영상데이터를사용자가접근할수 있으며, 메모리에영상의기록/삭제가반복되더라도그 속도를빠르게유지할수 있다.
权利要求
  • 블랙 박스 장치에 있어서,
    영상을 촬영하는 카메라;
    촬영한 상기 영상을 인코딩하는 인코더;
    인코딩한 상기 영상을 미리 설정된 2 n 킬로 바이트 크기(n은 정수)의 블록 단위로 게더링하고, 나머지 부분을 패딩(padding)으로 설정하도록 어플리케이션(application) 레벨에서 동작하는 게더링부; 및
    게더링한 블록단위의 상기 영상을 메모리에 기록(writing)하는 기록부를 포함하며,
    상기 게더링부는 긴급한 상황이 발생하면 게더링을 클로징(closing)하고,
    상기 기록부는 상기 클로징 시점까지 게더링된 영상을 기록함을 특징으로 하는 블랙 박스 장치
  • 제 1 항에 있어서,
    상기 인코더, 상기 게더링부 및 상기 기록부 중 적어도 하나를 포함하는 프로세서를 포함하는 블랙 박스 장치
  • 제 1 항에 있어서, 상기 기록부는
    상기 블록 단위 중에서 게더링한 상기 영상 이외의 부분을 패딩으로 설정하여 기록함을 특징으로 하는 블랙 박스 장치.
  • 제 1 항에 있어서,
    상기 게더링부는 상기 인코딩한 영상의 속성에 따라서 설정된 블록 단위로 상기 영상을 게더링함을 특징으로 하는 블랙 박스 장치.
  • 제 1 항에 있어서,
    상기 영상의 속성 정보는 블랙박스 내부에 미리 저장된 정보이거나, 상기 카메라의 촬영에 따라 얻은 정보이거나, 상기 인코더의 인코딩 과정에서 얻은 정보인 것을 특징으로 하는 블랙 박스 장치.
  • 제 1 항에 있어서,
    상기 게더링부는 상기 인코딩한 영상의 프레임의 크기를 기초로 설정한 블록 단위로 상기 영상을 게더링함을 특징으로 하는 블랙 박스 장치.
  • 제 1 항에 있어서,
    상기 게더링부는 상기 메모리의 물리적인 속성에 따라 설정된 블록 단위로 상기 영상을 게더링함을 특징으로 하는 블랙 박스 장치.
  • 제 1 항에 있어서,
    상기 게더링부는 상기 블랙 박스의 운영 체제의 클러스터 사이즈 또는 상기 영상의 이미지 프레임 사이즈에 관한 함수 관계를 기초로 결정된 블록 단위로 상기 영상을 게더링함을 특징으로 하는 블랙 박스 장치.
  • 제 1 항에 있어서,
    상기 게더링부는 인코딩된 상기 영상의 프레임들을 상기 블록 단위로 순차적으로 게더링하거나, 랜덤한 순서로 게더링하거나, 평면 형태로 게더링함을 특징으로 하는 블랙 박스 장치.
  • 제 1 항에 있어서,
    상기 게더링된 블록 단위와 동일한 크기의 블록 단위로 상기 영상의 프레임을 읽는(reading) 리딩부을 더 포함하는 블랙 박스 장치.
  • 说明书全文

    단편화 현상을 줄인 고속 처리가 가능한 블랙 박스{BLACK BOX ABLE TO PROCESS FASTER WITH LESS FRAGMENTATION}

    본 발명은 블랙 박스 장치에 관한 것으로서, 보다 자세하게는 빠른 속도로 영상을 기록하거나 삭제하는 블랙 박스에 관한 것이다.

    최근 자동차 사고가 빈번하게 발생하게 발생함에 따라 블랙 박스가 널리 사용되고 있다. 또한, 안전에 대한 국민의 관심이 높아져 CCTV도 넓은 범위에 걸쳐서 사용되고 있다.

    그런데 이러한 블랙 박스나 CCTV와 같은 영상 저장 장치는 저장 할 수 있는 메모리의 크기가 한정되어 있다. 따라서 메모리에 기록을 완료하여 가득 차면 보통 가장 오래된 저장 영상을 지우고 새로운 영상을 기록한다.

    메모리를 포맷하지 않고 삭제 및 기록을 반복하는 경우 메모리 단편화 현상이 발생한다. 여기서 단편화 현상이란 하나의 파일(또는 프레임 또는 데이터)이 복수의 영역에 분산되어 저장되는 것을 말한다. 단편화 현상이 심할수록 메모리에서 파일을 읽고/쓰는 속도가 매우 느려진다.

    도 1은 단편화 현상의 일 예를 나타낸다. 하나의 파일이 7개의 조각(101 내지 107)으로 단편화되어 저장된다. 이 파일을 읽거나 삭제하기 이하여 7개의 조각(101 내지 107)을 모두 접근(access) 하는 것이 요구된다.

    블랙박스나 CCTV의 경우, 메모리에 저장하는 클러스터 단위보다 블랙박스가 촬영한 영상의 프레임 단위가 더 클 경우 단편화 현상이 발생할 수 있으며, 또한 영상을 프레임 단위로 삭제하기 때문에 단편화 현상이 발생할 수 있다.

    또한, 최근 다채널 영상이 증가하고 있으며 영상의 크기가 커져서 단편화 현상이 더 심하게 발생한다.

    사용자가 메모리를 포맷하지 않은 채 삭제/녹화를 자주 반복할 경우 단편화 발생이 더 심하게 발생한다.

    따라서, 사용자의 편의를 위하여 메모리를 포맷하지 않고도 단편화 현상 없이 영상을 기록/삭제할 수 있도록 단편화를 줄이는 영상 처리가 요구된다.

    본 발명의 기술적 과제는 블랙 박스의 영상 기록/삭제에서 발생하는 단편화 현상을 감소시킴에 있다

    본 발명의 다른 기술적 과제는 잦은 포맷 없이도 고속 처리가 가능한 블랙 박스를 제공함에 있다.

    본 발명의 일 양태에 따르면, 블랙 박스 장치는 영상을 촬영하는 카메라, 촬영한 상기 영상을 인코딩하는 인코더, 인코딩한 상기 영상을 미리 설정된 2 n 킬로 바이트 크기(n은 정수)의 블록 단위로 게더링하고, 나머지 부분을 패딩(padding)으로 설정하도록 어플리케이션 레벨에서 동작하는 게더링부 및 게더링한 블록단위의 상기 영상을 메모리에 기록(writing)하는 기록부를 포함한다. 게더링부는 긴급한 상황이 발생하면 게더링을 클로징(closing)하고, 기록부는 상기 클로징 시점까지 게더링된 영상을 기록한다.

    본 발명에 따르면, 입출력 성능에 제약 없이 영상 데이터를 사용자가 접근할 수 있으며, 메모리에 영상의 기록/삭제가 반복되더라도, 그 속도를 빠르게 유지할 수 있다.

    도 1은 단편화 현상의 일 예를 나타낸다.
    도 2는 본 발명에 따라서 블랙박스에서 영상을 처리하여 기록하는 방법을 나타내는 순서도의 일 예이다.
    도 3은 본 발명에 따라서 데이터를 게더링하여 기록하는 일 예를 나타낸다.
    도 4는 인코딩된 프레임들이 해당 블록 단위 내에서 평면 형태로 게더링되어 저장되는 일 예를 나타낸다.
    도 5는 본 발명에 따라서 영상을 처리하는 블랙 박스의 일 예를 나타내는 블록도이다.

    이하, 첨부된 도면을 참조하여 본 발명의 실시 예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 이하에서 개시되는 실시 예에 한정되지 않는다. 또한 도면에서 본 발명을 명확하게 개시하기 위해서 본 발명과 관계없는 부분은 생략하였으며, 도면에서 동일하거나 유사한 부호들은 동일하거나 유사한 구성요소들을 나타낸다.

    본 발명의 목적 및 효과는 하기의 설명에 의해서 자연스럽게 이해되거나 보다 분명해 질 수 있으며, 하기의 기재만으로 본 발명의 목적 및 효과가 제한되는 것은 아니다.

    본 발명의 목적, 특징 및 장점은 다음의 상세한 설명을 통하여 보다 분명해 질 것이다. 또한, 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이, 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 실시예를 상세히 설명하기로 한다.

    이하에서, 블랙 박스를 예로 들어 설명하지만, CCTV와 같은 영상 처리 및 저장 장치에 대해서도 동일하게 적용될 수 있다.

    도 2는 본 발명에 따라서 블랙박스에서 영상을 처리하여 기록하는 방법을 나타내는 순서도의 일 예이다.

    도 2를 참조하면, 먼저 카메라가 영상을 촬영하고(S201), 인코더는 촬영한 영상을 인코딩한다(S202).

    블랙 박스는 인코딩한 프레임 하나 또는 그 이상을 블록 단위로 게더링하여(S203), 메모리에 기록한다(S204).

    블록 단위에 따라서 메모리에 영상을 저장하는 사이즈가 결정될 수 있다.

    블랙 박스는 영상을 파일 단위로 메모리에 기록하고자 할 때, 인코딩된 프레임의 사이즈가 다르기 때문에 단편화 발생하므로, 적어도 하나의 프레임을 모아서 일정한 크기의 블록 단위로 게더링하여 기록함으로써 단편화 현상을 해결할 수 있다.

    일 예로, 적어도 하나의 프레임들을 게더링하는 블록 단위는 2의 n승(2 n )일 수 있다. 즉 2 n 킬로 바이트(kB) 또는 2 n 메가 바이트(MB) 등일 수 있다. 예를 들어, 인코딩된 프레임 크기가 각각 100kB, 10kB, 100kB일 경우, 총 210kB의 인코딩된 프레임들이 256kB 크기의 블록에 게더링되고, 나머지 46kB의 공간을 패딩(padding)으로 설정하여 기록된다. 이 경우, 256Kb 단위로만 단편화 현상이 발생하므로 이전보다 단편화 현상이 훨씬 감소할 것이다. 2 n 크기로 블록 단위를 설정하는 것은 블랙 박스의 운영체제가 데이터를 저장하는 기본 단위의 n승에 해당하므로 성능이 향상된다.

    도 3은 본 발명에 따라서 데이터를 게더링하여 기록하는 일 예를 나타낸다.

    도 3을 참조하면, 블록 단위는 4MB이며, 데이터(301)의 크기가 3.1MB일 경우, 패딩(302)의 크기는 0.9MB이고, 데이터(303)의 크기가 2.9MB일 경우 패딩(304)의 크기는 1.1MB일 것이다. 패딩은 각 블록마다 서로 다르게 결정될 수 있으며, 0 바이트 일수도 있다.

    본 발명에 따라서 2 n 의 크기의 블록 단위로 영상을 기록하거나 삭제함에 따라, 메모리를 균일하게 분할하여 사용할 수 있어서 해당 블록 밖의 범위에서는 단편화 현상이 발생하지 않는다. 영상 파일을 기록할 때도 차곡차곡 쌓을 수 있으며. 메모리가 가득 차서 영상 파일을 삭제하더라도 삭제된 공간이 블록 단위 이므로 그 공간에 새로운 영상 파일을 다시 차곡차곡 쌓을 수 있어서 잘 맞아 떨어진다.

    한편, 블록 단위가 커질수록 단편화 현상도 감소한다. 고화질 영상의 경우 파일 크기도 크고 인코딩된 프레임의 크기도 크기 때문에 단편화 될 가능성이 매우 크므로, 블록 단위를 크게 설정하면 단편화 현상을 더 큰 폭으로 줄일 수 있다.

    본 발명에 따르면, 영상의 속성에 따라서 블록 단위가 다르게 설정될 수 있으며, 특히, 프레임의 크기를 기초로 블록 단위가 동적으로 설정될 수 있다. 예를 들어, 촬영되는 영상이 HD인지 Full HD 영상인지, 1채널인지 다채널인지에 따라서 기록되는 프레임의 크기도 달라질 수 있으므로 이를 기초로 블록 단위가 설정될 수 있다. 이때 블록단위 2 n 의 n값이 결정된다.

    또 다른 예로, 블록 단위는 외부적인 저장장치의 물리적인 속성에 따라 다르게 설정될 수 있다.

    또 다른 예로, 블록 단위는 운영 체제 클러스터 사이즈 및/또는 영상의 이미지 프레임 사이즈의 함수 관계를 기초로 결정될 수 있다. 예를 들어, 16~32대의 IP 카메라를 이용하여 HD 또는 full HD로 화질로 촬영하는 경우, 최소 43~57k 의 프레임이 실시간 발생할 수 있다. 이 경우 56, 128 또는 512KB의 블록 단위로 게더링하여 파일이 기록될 수 있다.

    한편, 인코딩된 프레임들은 해당 블록 단위에서 순차적으로 게더링되어 저장될 수 있다.

    또 다른 예로, 인코딩된 프레임들은 해당 블록 단위 내에서 랜덤한 순서로 게더링되어 저장될 수도 있다. 소정의 패딩을 포함하여 프레임들의 총합이 블록 단위를 넘지 않도록 한다.

    또 다른 예로, 인코딩된 프레임들은 해당 블록 단위 내에서 평면 형태로 게더링되어 저장될 수도 있다. 도 4는 이러한 일 예를 나타낸다. 블록단위(401, 403)는 평면 형태이며, 그 외의 공간이 패딩으로 설정됨을 알 수 있다.

    한편, 본 발명에 따라서 고정된 블록 단위로 영상을 기록/삭제하기 위한 게더링 과정(이를 버퍼링이라고도 한다)은 어플리케이션 레벨(application level)에서 수행된다. 게더링 과정이 운영 체제 레벨에서 수행되지 않으므로, Linux 운영 체제를 사용하는 블랙박스 장치에 대해서 더 효과적일 수 있다.

    일 예로, 데이터를 기록하고자 하는 크기가 64kB일 경우, 어플리케이션은 데이터 파일을 64kB로 저장할 때까지 소정의 공간(예, 내부 메모리)에 게더링해서, 64kB 되는 순간 기록한다.

    예를 들어, 어플리케이션은 블랙 박스의 프로세서에 포함될 수 있다. 어플리케이션이 게더링을 수행하는 장소는 메모리(예, 블랙박스의 내부 메모리)일 수 있다.

    또 다른 예로, 본 발명에 따른 블랙 박스는 해당 블록에서의 게더링을 클로징(closing)함을 더 포함할 수 있다.

    예를 들어, 갑작스럽게 차 사고가 발생하는 등의 이벤트로 블랙박스 전원이 OFF 되기 전에 파일의 저장을 완료하고자 하는 경우, 블랙 박스는 데이터를 기록하고자 하는 크기가 64kB이고 게더링된 영상이 30kB일 경우 34kB의 패딩을 합하여 게더링을 클로징하고 신속하게 데이터를 기록한다.

    이는 고정 블록 단위가 아니면 읽는 입장에서 깨진 데이터로 판단할 수 있기 때문이다. 즉, 파일의 게더링이 신속하게 완료되어 파일이 기록되어야, 이후에 기록된 파일이 정상적으로 재생될 수 있기 때문이다.

    패딩의 크기는 특정 범위로 제한되지 않으며 바람직하게는 패딩의 크기를 최소화하도록 게더링이 수행될 수 있으나, 데이터를 신속하게 저장하게 저장할 필요가 있는 경우 그 크기가 비교적 클 수도 있다.

    다른 실시 예로, 블랙 박스는 영상을 기록하는 블록 단위와 동일한 크기의 블록 단위로 프레임을 읽을 수 있다.

    예를 들어, 프레임을 기록하는 블록 단위가 4 MB일 경우, 프레임을 읽는 블록 단위도 4 MB이다.

    프레임을 재생할 때도 블록 단위로 읽음에 따라 읽는 속도도 매우 빨라진다.

    도 5는 본 발명에 따라서 영상을 처리하는 블랙 박스의 일 예를 나타내는 블록도이다. 블랙 박스에 대한 실시예는 CCTV에도 동일하게 적용될 수 있다.

    도 5를 참조하면, 블랙 박스(500)는 카메라(505), 인코더(510), 게더링부(515), 기록부(520) 및 적어도 하나의 메모리(525)를 포함한다.

    게더링부는 버퍼링부라고도 불린다. 하나의 유닛에서 게더링부와 기록부의 기능이 모두 수행될 수도 있다. 프로세서(도면 미표시)에 인코더, 게더링부 또는 기록부가 포함될 수도 있다.

    카메라는 영상을 촬영하고, 이미지 정보를 얻는다.

    인코더는 촬영한 영상을 인코딩한다. 인코더는 영상을 인코딩할 수도 있고, 촬영한 프레임을 인코딩할 수도 있고, 영상 파일을 인코딩할 수도 있다.

    게더링부는 인코딩한 영상(또는 프레임이나 파일) 하나 또는 그 이상을 블록 단위로 게더링한다

    기록부는 게더링한 블록 단위의 영상을 메모리에 기록한다(write).

    일 예로, 게더링부는 적어도 하나의 프레임들을 2의 n승(2 n ) 크기의 블록 단위로 게더링할 수 있다. 예를 들어, 2 n 킬로 바이트(kB) 또는 2 n 메가 바이트(MB) 등일 수 있다.

    블록 단위에서 영상 이외의 부분은 패딩(padding)으로 설정된다. 게더링부에서 블록 단위로 게더링한 영상에 패딩을 더하여 기록부에 전달할 수도 있고, 게더링부에서 게더링한 영상을 전달받은 기록부가 패딩을 더하여 메모리에 기록할 수도 있다.

    게더링부는 인코딩한 영상의 속성에 따라서 다르게 설정된 블록 단위로 게더링할 수 있다. 영상의 속성 정보는 미리 블랙박스 내부에 저장된 것일 수도 있고. 촬영과 동시에 얻은 정보일 수도 있고, 인코딩 과정에서 판단된 정보일 수도 있다.

    게더링부는 인코딩한 프레임의 크기를 기초로 동적으로 설정한 블록 단위로 게더링할 수도 있다. 다만, 메모리의 기록되는 단위가 블록 단위가 되는 것이 원칙이나, 게더링부는 필요에 따라 블록 단위를 동적으로 변경할 수 있다. 이때 기 설정된 블록 단위의 2의 배수 크기일 수 있다.

    게더링부는 외부적인 저장장치의 물리적인 속성에 따라 다르게 설정된 블록 단위로 영상을 게더링할 수도 있다.

    게더링부는 운영 체제 클러스터 사이즈 및/또는 영상의 이미지 프레임 사이즈의 함수 관계를 기초로 결정된 블록단위로 영상을 게더링할 수 있다.

    게더링부는 인코딩된 프레임들을 해당 블록 단위에서 순차적으로 게더링할 수 있다.

    게더링부는 인코딩된 프레임들을 해당 블록 단위 내에서 랜덤한 순서로 게더링할 수 있다.

    게더링부는 인코딩된 프레임들을 상기 도 4와 같이 해당 블록 단위 내에서 평면 형태로 게더링할 수 있다.

    게더링부는 프로세서에 포함될 수 있으며, 어플리케이션의 일종일 수 있다. 즉 게더링부는 어플리케이션 레벨일 수 있다.

    게더링부가 게더링을 수행하는 장소는 메모리일 수 있다.

    게더링부는 긴급한 경우 해당 블록에서의 게더링을 클로징할 수도 있다.

    적어도 하나의 메모리는 게더링을 위한 메모리일 수도 있고, 기록을 위한 메모리 일 수도 있다. 게더링과 기록을 위한 메모리가 구분될 수도 있다.

    블랙 박스는 게더링된 또는 기록된 블록 단위와 동일한 크기의 블록 단위로 프레임을 읽을 수 있는, 리딩부(reading unit)을 더 포함할 수도 있다.

    일반적으로 포맷을 하지 않은 메모리에 2~3주 가량 영상의 기록/삭제를 반복할 경우 약 30~60프로 정도의 단편화가 발생하며, 이때 I/O(Input/output) 성능이 매우 저하된다.

    본 발명에 따르면, 단편화 현상을 약 10프로 이하의 범위로 줄일 수 있을 것으로 판단된다. 이 경우 약 3~6개월 동안 포맷하지 않아도 I/O 성능이 크게 저하되지 않은 채 유지될 수 있을 것으로 예상된다.

    본 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서, 여러 가지 치환, 변형 및 변경이 가능하므로, 본 발명은 전술한 실시 예 및 첨부된 도면에 의해 한정되는 것이 아니다.

    상술한 예시적인 시스템에서, 방법들은 일련의 단계 또는 블록으로써 순서도를 기초로 설명되고 있지만, 본 발명은 단계들의 순서에 한정되는 것은 아니며, 어떤 단계는 상술한 바와 다른 단계와 다른 순서로 또는 동시에 발생할 수 있다. 또한, 당업자라면 순서도에 나타낸 단계들이 배타적이지 않고, 다른 단계가 포함되거나 순서도의 하나 또는 그 이상의 단계가 본 발명의 범위에 영향을 미치지 않고 삭제될 수 있음을 이해할 수 있을 것이다.

    QQ群二维码
    意见反馈