KR101624196B1 - Apparatus and method for inserting data into video and apparatus and method for extracting data from such video - Google Patents

Apparatus and method for inserting data into video and apparatus and method for extracting data from such video Download PDF

Info

Publication number
KR101624196B1
KR101624196B1 KR1020140077587A KR20140077587A KR101624196B1 KR 101624196 B1 KR101624196 B1 KR 101624196B1 KR 1020140077587 A KR1020140077587 A KR 1020140077587A KR 20140077587 A KR20140077587 A KR 20140077587A KR 101624196 B1 KR101624196 B1 KR 101624196B1
Authority
KR
South Korea
Prior art keywords
image
data
column
row
columns
Prior art date
Application number
KR1020140077587A
Other languages
Korean (ko)
Other versions
KR20160000338A (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 KR1020140077587A priority Critical patent/KR101624196B1/en
Publication of KR20160000338A publication Critical patent/KR20160000338A/en
Application granted granted Critical
Publication of KR101624196B1 publication Critical patent/KR101624196B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/08Systems for the simultaneous or sequential transmission of more than one television signal, e.g. additional information signals, the signals occupying wholly or partially the same frequency band, e.g. by time division
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

복수의 프레임을 포함하는 영상에 데이터를 삽입하기 위한 영상 처리 장치가 일반적으로 설명된다. 복수의 프레임 각각은 복수의 행 및 복수의 열을 포함하고, 상기 복수의 행 및 복수의 열은 복수의 픽셀을 포함한다. 영상 처리 장치는, 데이터를 영상의 픽셀의 색상을 이용하여 인코딩하도록 구성되는 데이터 인코더; 복수의 행 및 복수의 열 중 적어도 하나의 행 또는 열을 선택하도록 구성되는 행열 선택부; 인코딩된 데이터를 상기 선택된 적어도 하나의 행 또는 열에 프레임 단위로 분할하여 영상과 결합하도록 구성되는 데이터 결합부; 인코딩된 데이터가 결합된 영상을 인코딩하도록 구성되는 영상 인코더; 및 인코딩된 영상을 네트워크 상으로 전송하도록 구성된 영상 전송부를 포함할 수 있다.An image processing apparatus for inserting data into an image including a plurality of frames is generally described. Each of the plurality of frames includes a plurality of rows and a plurality of columns, and the plurality of rows and the plurality of columns include a plurality of pixels. An image processing apparatus includes: a data encoder configured to encode data using a color of a pixel of an image; A matrix selecting unit configured to select at least one row or a plurality of columns and a plurality of columns; A data combiner configured to combine the encoded data with an image by dividing the encoded data into at least one selected row or column on a frame basis; A video encoder configured to encode an image in which encoded data is combined; And an image transmission unit configured to transmit the encoded image onto the network.

Description

영상에 데이터를 삽입하기 위한 장치, 방법과 이러한 영상에서 데이터를 판독하기 위한 장치 및 방법{APPARATUS AND METHOD FOR INSERTING DATA INTO VIDEO AND APPARATUS AND METHOD FOR EXTRACTING DATA FROM SUCH VIDEO}BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an apparatus and a method for inserting data into an image, an apparatus and a method for inserting data into an image,

본 발명은 영상에 데이터를 삽입하고, 이러한 영상으로부터 데이터를 판독하는 장치 및 방법에 관한 것이다.The present invention relates to an apparatus and method for inserting data into an image and reading data from the image.

여기에서 달리 언급하지 않으면, 본 섹션에서 기술되는 내용은 본 출원에서의 청구항의 선행 기술이 아니며 본 섹션에 기재된 것 만으로 선행 기술로서 인정되는 것이 아니다.Unless otherwise stated herein, the description in this section is not prior art to the claims in this application and is not prior art recognized solely by what is described in this section.

최근, 모바일 장치, 인터넷, 통신 및 방송 기술 등의 발달에 따라, 인터넷과 같은 네트워크를 통하여 데스크 탑 컴퓨터, 랩탑 컴퓨터, 휴대용 장치 등과 같은 다양한 컴퓨팅 장치에 가공된 영상을 제공하는 것이 가능해지고 있다. 일반적으로, 영상은 복수의 프레임을 포함하며 각각의 프레임은 복수의 행 및 복수의 열을 포함할 수 있다. 또한 각각의 행 또는 열은 복수의 픽셀을 포함하며, 영상 데이터는 복수의 픽셀에 대하여, 프레임 단위로 디스플레이하는 색에 대한 정보를 포함할 수 있다. 이러한 복수의 픽셀의 색이 미리 정해진 초당 프레임 수(frames per seconds; fps), 예컨대, 초당 약 24 프레임/초 내지 30 프레임/초의 속도로 변경 또는 유지됨으로써, 사용자는 영상, 예컨대, 비디오 영상을 감상할 수 있다. 2. Description of the Related Art In recent years, with the development of mobile devices, the Internet, communication and broadcasting technologies, it has become possible to provide processed images to various computing devices such as a desktop computer, a laptop computer, a portable device and the like through a network such as the Internet. Generally, an image comprises a plurality of frames and each frame may comprise a plurality of rows and a plurality of columns. Also, each row or column includes a plurality of pixels, and the image data may include information on colors displayed on a frame-by-frame basis for a plurality of pixels. By changing or maintaining the color of such a plurality of pixels at a predetermined frames per second (fps), e.g., at a rate of about 24 frames per second to 30 frames per second per second, the user can view the video, can do.

일부 실시예에서, 복수의 프레임을 포함하는 영상에 데이터를 삽입하기 위한 영상 처리 장치가 설명된다. 복수의 프레임 각각은 복수의 행 및 복수의 열을 포함하고, 복수의 행 및 복수의 열은 복수의 픽셀을 포함할 수 있다. 영상 처리 장치는, 데이터를 상기 영상의 픽셀의 색상을 이용하여 인코딩하도록 구성되는 데이터 인코더; 복수의 행 및 복수의 열 중 적어도 하나의 행 또는 열을 선택하도록 구성되는 행열 선택부; 인코딩된 데이터를 상기 선택된 적어도 하나의 행 또는 열에 프레임 단위로 분할하여 영상과 결합하도록 구성되는 데이터 결합부; 인코딩된 데이터가 결합된 영상을 인코딩하도록 구성되는 영상 인코더; 및 인코딩된 영상을 네트워크 상으로 전송하도록 구성된 영상 전송부를 포함할 수 있다.In some embodiments, an image processing apparatus for inserting data into an image including a plurality of frames is described. Each of the plurality of frames includes a plurality of rows and a plurality of columns, and the plurality of rows and the plurality of columns may include a plurality of pixels. An image processing apparatus includes: a data encoder configured to encode data using a color of a pixel of the image; A matrix selecting unit configured to select at least one row or a plurality of columns and a plurality of columns; A data combiner configured to combine the encoded data with an image by dividing the encoded data into at least one selected row or column on a frame basis; A video encoder configured to encode an image in which encoded data is combined; And an image transmission unit configured to transmit the encoded image onto the network.

일부 실시예에서, 복수의 프레임을 포함하는 영상에 데이터를 삽입하기 위한 영상 처리 방법이 설명된다. 복수의 프레임 각각은 복수의 행 및 복수의 열을 포함하고, 복수의 행 및 복수의 열은 복수의 픽셀을 포함할 수 있다. 영상 처리 방법은, 데이터를 픽셀의 색상을 이용하여 인코딩하는 단계; 복수의 행 및 복수의 열 중 적어도 하나의 행 또는 열을 선택하는 단계; 인코딩된 데이터를 선택된 적어도 하나의 행 또는 열에 프레임 단위로 분할하여 영상과 결합하는 단계; 인코딩된 데이터가 결합된 영상을 인코딩하는 단계; 및 인코딩된 영상을 네트워크 상으로 전송하는 단계를 포함할 수 있다.In some embodiments, an image processing method for inserting data into an image including a plurality of frames is described. Each of the plurality of frames includes a plurality of rows and a plurality of columns, and the plurality of rows and the plurality of columns may include a plurality of pixels. An image processing method includes: encoding data using a color of a pixel; Selecting at least one row or column of a plurality of rows and a plurality of columns; Segmenting the encoded data into at least one selected row or column of frames and combining the encoded data with an image; Encoding an image in which encoded data is combined; And transmitting the encoded image over a network.

일부 실시예에서, 복수의 프레임을 포함하는 영상에 데이터를 삽입하기 위한 컴퓨터 실행 가능 명령어가 저장된 컴퓨터 판독가능 저장 매체가 설명된다. 복수의 프레임 각각은 복수의 행 및 복수의 열을 포함하고, 복수의 행 및 복수의 열은 복수의 픽셀을 포함할 수 있다. 컴퓨터 실행 가능 명령어가 실행되면, 컴퓨터로 하여금, 데이터를 픽셀의 색상을 이용하여 인코딩하는 동작; 복수의 행 및 복수의 열 중 적어도 하나의 행 또는 열을 선택하는 동작; 인코딩된 데이터를 선택된 적어도 하나의 행 또는 열에 프레임 단위로 분할하여 영상과 결합하는 동작; 인코딩된 데이터가 결합된 영상을 인코딩하는 동작; 및 인코딩된 영상을 네트워크 상으로 전송하는 동작을 수행하도록 구성될 수 있다.In some embodiments, a computer-readable storage medium having computer-executable instructions for inserting data into an image comprising a plurality of frames is described. Each of the plurality of frames includes a plurality of rows and a plurality of columns, and the plurality of rows and the plurality of columns may include a plurality of pixels. When the computer-executable instructions are executed, causing the computer to: encode the data using the color of the pixel; Selecting at least one row or a plurality of rows and a plurality of columns; Segmenting the encoded data into at least one selected row or column of frames and combining with the image; Encoding an image in which the encoded data is combined; And transmitting the encoded image over the network.

다른 실시예에서, 복수의 프레임을 포함하는 영상으로부터 데이터를 판독하기 위한 영상 판독 장치가 설명된다. 복수의 프레임 각각은 복수의 행 및 복수의 열을 포함하고, 복수의 행 및 복수의 열은 복수의 픽셀을 포함할 수 있다. 영상 판독 장치는, 복수의 행 및 복수의 열 중 적어도 하나의 행 또는 열을 선택하도록 구성되는 행열 선택부; 선택된 적어도 하나의 행 또는 열의 각 픽셀의 색상에 기초한 디코딩을 수행하도록 구성되는 데이터 디코더; 및 디코딩에 기초하여 데이터를 복원하도록 구성되는 데이터 복원부를 포함할 수 있다.In another embodiment, an image reading apparatus for reading data from an image including a plurality of frames is described. Each of the plurality of frames includes a plurality of rows and a plurality of columns, and the plurality of rows and the plurality of columns may include a plurality of pixels. The image reading apparatus includes a matrix selecting unit configured to select at least one row or a plurality of columns and a plurality of columns; A data decoder configured to perform decoding based on a color of each pixel of at least one selected row or column; And a data reconstruction unit configured to reconstruct the data based on the decoding.

이상의 요약은 단순히 예시적인 것으로서 어떠한 방식으로든 제한적으로 의도된 것이 아니다. 이하의 상세한 설명과 도면을 참조함으로써, 상술된 예시적인 양태들, 실시예들, 그리고 특징들에 더하여, 추가적인 양태들, 실시예들, 그리고 특징들 또한 명확해질 것이다.The foregoing summary is exemplary only and is not intended as limiting in any way. Additional aspects, embodiments, and features will become apparent in addition to the above-described exemplary aspects, embodiments, and features, by referring to the following detailed description and drawings.

본 개시의 전술한 특징들 및 기타 특징들은, 첨부 도면을 참조하여 이하의 설명으로부터 충분히 분명해질 것이다. 이러한 도면들은 본 개시에 따르는 단지 몇 가지의 실시예만을 도시한 것이고, 따라서 그 범위를 제한하는 것으로 간주되어서는 안되는 것을 이해하면서, 본 개시는 첨부된 도면의 사용을 통하여, 더 구체적이고 상세하게 기술될 것이다.
도 1은 본 개시의 적어도 일부 실시예에 따른 영상 처리 시스템이 동작하는 환경을 도시하는 전체 개략도이고;
도 2는 본 개시의 적어도 일부 실시예에 따른 예시적인 영상 처리 시스템을 도시하는 개략적인 블록도이고;
도 3는 본 개시의 적어도 일부 실시예에 따라, 영상으로부터 데이터를 판독하기 위한 예시적인 영상 판독 장치를 도시하는 개략적인 블록도이고;
도 4는 본 개시의 적어도 일부 실시예에 따라, 예시적인 영상 처리 시스템에서 수행되는 프로세스를 도시하는 흐름도이고;
도 5는 본 개시의 적어도 일부 실시예에 따라, 예시적인 영상 판독 장치에서 수행되는 프로세스를 도시하는 흐름도이고;
도 6은 본 개시의 적어도 일부 실시예에 따라, 인코딩된 데이터를 결합한 영상의 하나의 프레임의 예시를 도시하고;
도 7는 본 개시의 적어도 일부 실시예에 따른 미디어 처리에 이용될 수 있는 컴퓨터 프로그램 제품을 도시하며;
도 8은 본 개시의 적어도 일부 실시예에 따라 배열되는 컴퓨팅 장치의 예시적인 실시예의 블록도이다.
The foregoing and other features of the disclosure will become more fully apparent from the following description, taken in conjunction with the accompanying drawings. It is to be understood that the disclosure is not to be regarded as limiting the scope of the invention, which is set forth merely to illustrate only a few embodiments in accordance with the present disclosure, Will be.
1 is an overall schematic diagram illustrating an environment in which an image processing system operates in accordance with at least some embodiments of the present disclosure;
Figure 2 is a schematic block diagram illustrating an exemplary image processing system in accordance with at least some embodiments of the present disclosure;
3 is a schematic block diagram illustrating an exemplary image reading apparatus for reading data from an image, in accordance with at least some embodiments of the present disclosure;
4 is a flow diagram illustrating a process performed in an exemplary image processing system, in accordance with at least some embodiments of the present disclosure;
5 is a flow diagram illustrating a process performed in an exemplary image reading device, in accordance with at least some embodiments of the present disclosure;
Figure 6 illustrates an example of one frame of an image combining encoded data, in accordance with at least some embodiments of the present disclosure;
Figure 7 illustrates a computer program product that may be used for media processing according to at least some embodiments of the present disclosure;
8 is a block diagram of an exemplary embodiment of a computing device arranged in accordance with at least some embodiments of the present disclosure.

본 개시의 전술한 특징들 및 기타 특징들은, 첨부 도면을 참조하여 이하의 설명으로부터 충분히 분명해질 것이다. 이러한 도면들은 본 개시에 따르는 단지 몇 가지의 실시예만을 도시한 것이고, 따라서 그 범위를 제한하는 것으로 간주되어서는 안되는 것을 이해하면서, 본 개시는 첨부된 도면의 사용을 통하여, 더 구체적이고 상세하게 기술될 것이다.The foregoing and other features of the disclosure will become more fully apparent from the following description, taken in conjunction with the accompanying drawings. It is to be understood that the disclosure is not to be regarded as limiting the scope of the invention, which is set forth merely to illustrate only a few embodiments in accordance with the present disclosure, Will be.

본 개시는, 그 중에서도, 일반적으로 영상에 데이터를 삽입하거나 영상으로부터 데이터를 판독하는 것에 관한, 장치, 시스템, 방법, 컴퓨터 판독가능 저장매체에 관련된다.This disclosure relates generally to devices, systems, methods, computer-readable storage media related to inserting data into an image or reading data from the image.

다양한 실시예에서, 영상 처리 시스템은 영상에 삽입될 데이터를 영상의 픽셀에서 사용하는 색상을 이용하여 인코딩하도록 구성될 수 있다. 영상은 복수의 프레임을 포함할 수 있으며 각 프레임은 복수의 행 및 복수의 열을 포함하는 복수의 픽셀을 포함할 수 있다. 영상 처리 장치는 영상의 복수의 행 및 복수의 열 중 적어도 하나의 행 또는 열을 선택하도록 구성될 수 있다. 추가적으로 또는 대안적으로 영상 처리 장치는 복수의 프레임 중에서 적어도 하나의 프레임을 선택할 수 있다. 영상 처리 장치는 선택된 적어도 하나의 행 또는 열 및/또는 적어도 하나의 프레임에 상기 인코딩된 데이터를 결합할 수 있다. 영상 처리 장치는 인코딩된 데이터가 결합된 영상을 인터넷과 같은 네트워크 상으로 전송할 수 있도록 인코딩할 수 있다. 이후, 영상 처리 장치는 인코딩된 영상을 네트워크 상으로 전송하도록 구성될 수 있다.In various embodiments, the image processing system may be configured to encode data to be embedded in the image using a color used in the pixels of the image. An image may comprise a plurality of frames and each frame may comprise a plurality of pixels including a plurality of rows and a plurality of columns. The image processing apparatus may be configured to select at least one row or column of a plurality of rows and a plurality of columns of the image. Additionally or alternatively, the image processing apparatus may select at least one of the plurality of frames. The image processing device may combine the encoded data into at least one selected row or column and / or at least one frame. The image processing apparatus can encode the encoded data to be transmitted over a network such as the Internet. Thereafter, the image processing apparatus can be configured to transmit the encoded image onto the network.

다른 다양한 실시예에서, 영상 판독 장치는 복수의 프레임을 포함하는 영상의 적어도 하나의 행 또는 열을 선택할 수 있다. 영상 판독 장치는 영상으로부터 데이터가 삽입된 행 또는 열에 대한 정보를 검출하여 적어도 하나의 행 또는 열을 선택할 수 있다. 영상 판독 장치는 선택된 적어도 하나의 행 또는 열에 포함된 각 픽셀의 색상에 기초하여 디코딩을 수행하도록 구성될 수 있다. 영상 판독 장치는 디코딩에 의한 디코딩에 기초하여 복수의 프레임을 포함하는 영상으로부터 데이터를 복원하도록 구성될 수 있다.In various other embodiments, the image reading device may select at least one row or column of an image comprising a plurality of frames. The image reading apparatus can detect at least one row or column by detecting information on a row or column in which data is inserted from the image. The image reading device can be configured to perform decoding based on the color of each pixel included in at least one selected row or column. The image reading apparatus can be configured to recover data from an image including a plurality of frames based on decoding by decoding.

도 1은 본 개시의 적어도 일부 실시예에 따른 영상 처리 시스템(100)이 동작하는 환경을 도시하는 전체 개략도이다. 영상 처리 시스템(100)은 외부 소스(110)로부터 영상을 구성될 수 있다. 예컨대, 외부 소스(110)는 공중파 및 케이블 TV 등과 같은 방송 사업자 및 영상을 수집하여 제공하는 영상 서비스 제공자를 포함할 수 있으며, 영상은 실시간으로 수신되는 다양한 방송 동영상 예컨대, 스포츠, 뉴스, 드라마, 오락 프로그램, 영화 등을 포함할 수 있으나, 외부 소스(110) 및 미디어 데이터에 대한 예시는 이에 제한되지 않는다. 영상 처리 시스템(100)은 수신된 영상 데이터에 대하여 가공에 적합하도록 적절한 처리를 수행할 수 있다. 예컨대, 수신된 영상이 아날로그 데이터인 경우, 아날로그-디지털 변환을 수행할 수 있거나, 수신된 영상에 대하여 디코딩을 수행할 수 있으나, 수신된 영상에 대한 처리는 이에 제한되지 않는다.1 is an overall schematic diagram illustrating an environment in which an image processing system 100 operates in accordance with at least some embodiments of the present disclosure. The image processing system 100 may be configured from an external source 110. For example, the external source 110 may include a broadcasting company such as an airwave and a cable TV, and a video service provider that collects and provides images. The video may include various broadcasting videos, such as sports, news, dramas, Programs, movies, etc., but examples of external sources 110 and media data are not limited thereto. The image processing system 100 may perform appropriate processing on the received image data so as to be suitable for processing. For example, when the received image is analog data, it is possible to perform analog-to-digital conversion or to perform decoding on the received image, but the processing on the received image is not limited thereto.

일부 실시예에서, 영상 처리 시스템(100)은 영상에 삽입될 데이터를 수신된 영상에서 사용되는 픽셀의 색상을 이용하여 인코딩할 수 있다. 일부 예시에서, 삽입될 데이터는 하나 이상의 색상으로 복수의 픽셀에 디지털화되어 표현될 수 있다. 예컨대, 영상 처리 시스템(100)은 RGB(Red, Green 및 Blue) 색에 기초하여 데이터를 디지털화 할 수 있다. 그러나, 색상의 예시는 이에 한정되지 않고, 흑색, 백색, 회색의 무채색을 이용하여 데이터를 디지털화하는 것도 가능하다. In some embodiments, the image processing system 100 may encode data to be embedded in the image using the color of the pixel used in the received image. In some examples, the data to be inserted may be digitized and represented in a plurality of pixels in one or more colors. For example, the image processing system 100 can digitize data based on RGB (Red, Green, and Blue) colors. However, the color is not limited to this example, and it is also possible to digitize data using achromatic colors of black, white, and gray.

한편, 영상 처리 시스템(100)은 수신된 영상의 복수의 행 및 복수의 열 중에서 적어도 하나의 행 또는 열을 선택하도록 구성될 수 있다. 일부 예시에서, 영상 처리 시스템(100)은 복수의 행 및 복수의 열 중에서, 영상의 내용 상 중요도가 낮은 최외각 행 또는 최외각 열부터 행 또는 열을 선택할 수 있다. 영상 처리 시스템(100)은 선택된 적어도 하나의 행 또는 열 상에 인코딩된 데이터를 결합할 수 있다. 추가적이거나 대안적인 예시에서, 영상 처리 시스템(100)은 영상의 복수의 프레임 중에서 적어도 하나의 프레임을 선택할 수 있다. 영상 처리 시스템(100)은 선택된 적어도 하나의 프레임 상의 선택된 적어도 하나의 행 또는 열에 인코딩된 데이터를 결합할 수 있다. 또 다른 예시에서, 영상 처리 시스템(100)은 선택된 프레임 마다 상이한 행 또는 열을 선택하여, 인코딩된 데이터를 결합할 수 있다. 영상 처리 시스템(100)은 인코딩된 데이터가 결합된 영상을 인터넷과 같은 네트워크(120) 상에 전송하기에 적합하도록 인코딩할 수 있으며, 이후, 영상 처리 시스템(100)은 인코딩된 영상을 네트워크(120) 상에 전송할 수 있다. 일 예시에서, 영상 처리 시스템(100)은 인코딩된 영상을 스트리밍의 형태로 전송할 수 있다.On the other hand, the image processing system 100 can be configured to select at least one row or column from among a plurality of rows and a plurality of columns of the received image. In some examples, the image processing system 100 can select a row or column from an outermost row or an outermost column, which is less important in content of the image, among a plurality of rows and a plurality of columns. The image processing system 100 may combine the encoded data on at least one selected row or column. In a further or alternative example, the image processing system 100 may select at least one of a plurality of frames of an image. The image processing system 100 may combine the encoded data into a selected at least one row or column on the selected at least one frame. In another example, the image processing system 100 may select different rows or columns for each selected frame to combine the encoded data. The image processing system 100 may encode the encoded data to be suitable for transmission on the network 120 such as the Internet and then the image processing system 100 may transmit the encoded image to the network 120 Lt; / RTI > In one example, the image processing system 100 may transmit the encoded image in the form of streaming.

일부 실시예에서, 영상 처리 시스템(100)으로부터 전송된 인코딩된 영상은 네트워크(120)를 통하여, 영상 판독 장치(130)로 전송될 수 있다. 영상 판독 장치(130)는 네트워크(120)를 통하여, 영상 처리 시스템(100)으로부터 인코딩된 영상을 수신할 수 있다. 일부 실시예에서, 영상 판독 장치(130)는 영상의 복수의 행 및 복수의 열 중에서 적어도 하나의 행 또는 열을 선택하도록 구성될 수 있다. 선택되는 행 또는 열은 미리 정해진 위치에 기초할 수 있다. 추가적이거나 대안적인 예시에서, 영상 판독 장치(130)는 영상으로부터 데이터가 삽입된 행 또는 열에 대한 정보를 검출할 수 있다. 영상 판독 장치(130)는 선택된 행 또는 열에 포함된 픽셀들의 색상에 기초하여 디코딩을 수행하도록 구성될 수 있다. 영상 판독 장치(130)는 하나 이상의 프레임의 선택된 행 또는 열에서의 디코딩에 기초하여 데이터를 복원하도록 구성될 수 있다.In some embodiments, the encoded image transmitted from image processing system 100 may be transmitted via network 120 to image reader 130. The image reading device 130 can receive the encoded image from the image processing system 100 via the network 120. [ In some embodiments, the image reading device 130 may be configured to select at least one row or column from a plurality of rows and a plurality of columns of an image. The selected row or column may be based on a predetermined position. In a further or alternative example, the image reading device 130 may detect information about a row or column in which data is inserted from the image. The image reading device 130 may be configured to perform decoding based on the color of the pixels included in the selected row or column. The image reading device 130 may be configured to recover data based on decoding in a selected row or column of one or more frames.

전술에서는 데이터를 영상의 행 또는 열 전부를 선택하여 데이터를 삽입하는 것으로 설명하였으나, 당업자는 선택된 행 또는 열의 일부에 인코딩된 데이터를 삽입할 수도 있음 또한 인식할 것이다.Although the foregoing description has been given to insert data by selecting all of the rows or columns of the image, one of ordinary skill in the art will also recognize that it may insert encoded data into selected rows or columns.

도 2는 본 개시의 적어도 일부 실시예에 따른 예시적인 영상 처리 시스템(100)을 도시하는 개략적인 블록도이다. 영상 처리 시스템(100)은 영상 수신기(210), 행열 선택부(220), 프레임 선택부(230), 데이터 인코더(240), 데이터 결합부(250), 영상 인코더(260) 및 영상 전송부(270)를 포함할 수 있다.2 is a schematic block diagram illustrating an exemplary image processing system 100 in accordance with at least some embodiments of the present disclosure. The image processing system 100 includes an image receiver 210, a matrix selecting unit 220, a frame selecting unit 230, a data encoder 240, a data combining unit 250, a video encoder 260, 270).

일부 실시예에서, 영상 수신부(210)는 도 1의 외부 소스(110)와 같은 외부 소스로부터 영상을 수신하도록 구성될 수 있다. 추가적인 실시예에서, 영상 처리 시스템(100)은 미디어 데이터를 실시간으로 수신하고, 처리하여, 전송하는 스트리밍 서비스를 제공할 수 있도록, 영상 수신부(210)는 영상을 실시간으로 수신할 수 있다. 예컨대, 영상은 실시간으로 수신되는 스포츠, 뉴스, 드라마, 오락 프로그램, 영화 등과 같은 다양한 방송 동영상 또는 영상 파일을 포함할 수 있으나, 이에 제한되지는 않는다.In some embodiments, the image receiving unit 210 may be configured to receive images from an external source, such as the external source 110 of FIG. In a further embodiment, the image receiving unit 210 may receive the image in real time so that the image processing system 100 can provide the streaming service to receive, process, and transmit the media data in real time. For example, the image may include, but is not limited to, various broadcast moving images or image files such as sports, news, dramas, entertainment programs, movies, etc., received in real time.

영상 수신부(210)에 의하여 수신된 영상은 복수의 프레임을 포함할 수 있다. 각각의 프레임은 복수의 행 및 복수의 열을 포함할 수 있으며, 복수의 행 및 복수의 열 각각은 복수의 픽셀을 포함할 수 있다. 예컨대, 720X400 사이즈의 영상의 경우, 각 프레임은 720열 및 400행을 가질 수 있으며, 1 열은 400픽셀을 포함할 수 있으며, 1 행은 720픽셀을 포함할 수 있으며, 1 프레임은 288000픽셀을 포함할 수 있다. 일부 실시예에서, 행열 선택부(220)는 영상 수신부(210)에 의하여 수신된 영상의 복수의 행 및 복수의 열 중에서 데이터가 삽입될 적어도 하나의 행 또는 열을 선택하도록 구성될 수 있다. 일부 예시에서, 선택되는 행 또는 열은 미리 정해진 위치일 수 있다. 일부 예시에서, 행열 선택부(220)는 영상의 최외각 행 또는 최외각 열부터 행 또는 열을 선택하도록 구성될 수 있다. The image received by the image receiving unit 210 may include a plurality of frames. Each frame may include a plurality of rows and a plurality of columns, and each of the plurality of rows and the plurality of columns may include a plurality of pixels. For example, for an image of size 720X400, each frame may have 720 columns and 400 rows, one column may contain 400 pixels, one row may contain 720 pixels, one frame may contain 288000 pixels . In some embodiments, the matrix selector 220 may be configured to select at least one row or column into which data is to be inserted, from among a plurality of rows and a plurality of columns of the image received by the image receiving unit 210. In some examples, the selected row or column may be a predetermined position. In some examples, the matrix selector 220 may be configured to select rows or columns from the outermost column or the outermost column of the image.

추가적으로 또는 대안적으로, 프레임 선택부(230)는 영상 수신부(210)에 의하여 수신된 영상의 복수의 프레임 중 적어도 하나를 선택하도록 구성될 수 있다. 예컨대, 프레임 선택부(230)는 복수의 프레임 중에서 2 내지 3fps 단위로 프레임을 선택할 수 있다. 추가적인 예시에서, 행열 선택부(220)는 프레임 선택부(230)에 의하여 선택된 프레임 마다 상이한 행 또는 열을 선택하도록 구성될 수 있다. 예컨대, 프레임 선택부(230)에 의하여 선택된 첫번째 프레임에서, 행열 선택부(220)는 최하단의 1행 및 2행을 선택할 수 있고, 두번째 프레임에서, 행열 선택부(220)는 최우측의 1열 및 2열을 선택할 수 있다. Additionally or alternatively, the frame selector 230 may be configured to select at least one of a plurality of frames of the image received by the image receiver 210. For example, the frame selector 230 can select a frame from a plurality of frames in units of 2 to 3 fps. In a further example, the matrix selector 220 may be configured to select a different row or column for each frame selected by the frame selector 230. For example, in the first frame selected by the frame selecting unit 230, the matrix selecting unit 220 can select the lowermost one row and two rows. In the second frame, the matrix selecting unit 220 selects the matrix And two columns can be selected.

일부 실시예에서, 데이터 인코더(240)는 영상 수신부(210)에 의하여 수신된 영상에 삽입할 데이터를 영상의 픽셀의 색상을 이용하여 인코딩하도록 구성될 수 있다. 예컨대, 데이터 인코더(240)는 3비트의 색상[예컨대, 적색(R), 녹색(G) 및 청색(B)]을 이용하여 데이터를 인코딩할 수 있다. 각 색상은 디지털 신호를 나타낼 수 있다. 예를 들어, 적색은 1을 나타내고, 녹색은 0을 나타내고, 청색은 -1을 나타낼 수 있다. 그러나, 색상은 3비트에 한정되지 않으며, 4비트 이상도 가능하거나, 흑백과 같은 2비트도 가능하다. 또한, 색상은 RGB의 3색 외에도, 흑색, 회색, 백색의 무체색도 가능하고, 청색의 채도 또는 명도의 변화로도 구별하여 표현할 수 있으나, 이하에서는, 설명의 명료함을 위하여, 3비트의 RGB색으로 데이터를 인코딩하는 예시에 대하여 설명할 것이다. 데이터는 데이터 인코더(240)에 의하여 3비트의 RGB색상으로 복수의 셀로서 표현될 수 있다. In some embodiments, the data encoder 240 may be configured to encode data to be inserted into the image received by the image receiving unit 210 using the color of the pixel of the image. For example, the data encoder 240 may encode data using three bits of color (e.g., red (R), green (G), and blue (B)). Each color can represent a digital signal. For example, red may represent 1, green may represent 0, and blue may represent -1. However, the color is not limited to three bits, and it may be four bits or more, or two bits such as black and white. In addition, in addition to the three colors of RGB, the hue may be black, gray, or white, and the hue may be expressed by changing the saturation or brightness of blue. In order to clarify the description, An example of encoding data in color will now be described. Data can be represented by a data encoder 240 as a plurality of cells in 3-bit RGB color.

일부 실시예에서, 데이터 결합부(250)는 데이터 인코더(240)에 의하여 인코딩된 데이터를 프레임 선택부(230)에 의하여 선택된 적어도 하나의 행 또는 열에 프레임 단위로 분할하여 영상과 결합할 수 있다. 추가적인 예시에서, 프레임 선택부(230)에 의하여 데이터가 결합될 프레임이 선택되는 경우는 선택된 프레임 및 선택된 행 또는 열 상에 데이터가 결합될 수 있다. 예컨대, 영상 수신부(210)에 의하여 수신된 영상이 720X400의 사이즈를 가지고, 행열 선택부(220)가 2행 및 2열을 선택하고, 프레임 선택부(230)가 15프레임을 선택한 경우, 약 [(720 pixel x 2 line x 3bit) + (400 x 2 line x 3 bit)/8] x 15 frames = 약 12,600 byte를 저장할 수 있다. 선택되는 프레임 수가 많아지거나, 1픽셀에 표현되는 색상의 수를 늘리면(예컨대, 4bit/1pixel) 보다 많은 데이터를 삽입할 수 있다.In some embodiments, the data combining unit 250 may divide the data encoded by the data encoder 240 into at least one row or column selected by the frame selecting unit 230, and combine the data with the image. In a further example, if the frame to which the data is to be combined is selected by the frame selector 230, the data may be combined on the selected frame and the selected row or column. For example, when the image received by the image receiving unit 210 has a size of 720X400, the matrix selecting unit 220 selects 2 rows and 2 columns, and the frame selecting unit 230 selects 15 frames, (720 pixels x 2 lines x 3 bits) + (400 x 2 lines x 3 bits) / 8] x 15 frames = about 12,600 bytes. More data can be inserted by increasing the number of selected frames or by increasing the number of colors represented by one pixel (for example, 4 bits / 1 pixel).

일부 실시예에서, 영상 인코더(260)는 데이터 결합부(250)에 의하여 인코딩된 데이터가 결합된 영상을 네트워크 상으로 전송하기에 적합하도록 인코딩하도록 구성될 수 있다. 영상 전송부(270)는 인코딩된 영상을 인터넷과 같은 도 1의 네트워크(120) 상으로 전송하도록 구성될 수 있다. 인터넷 상으로 영상을 송출하는 경우, 방송 영상의 송출에 비하여 데이터를 비교적 적은 손실로 전송할 수 있어, 데이터를 삽입하는 주기를 낮출 수 있는 것과 같이 데이터를 보다 고효율로 삽입하여 전송할 수 있다. 일부 예시에서, 영상 전송부(270)는 인코딩된 영상을 스트리밍의 형태로 네트워크 상에 전송할 수 있다.In some embodiments, the video encoder 260 may be configured to encode data encoded by the data combining unit 250 to be suitable for transmission over the network. The image transmitting unit 270 may be configured to transmit the encoded image onto the network 120 of FIG. 1, such as the Internet. In the case of transmitting video over the Internet, data can be transmitted with a relatively small loss compared with transmission of a broadcast image, so that the period of inserting data can be reduced, and data can be inserted and transmitted with higher efficiency. In some examples, the image transmission unit 270 may transmit the encoded image on the network in the form of streaming.

도 3은 본 개시의 적어도 일부 실시예에 따라, 영상으로부터 데이터를 판독하기 위한 예시적인 영상 판독 장치(130)를 도시하는 개략적인 블록도이다. 영상 판독 장치(130)는 행열 선택부(310), 데이터 디코더(330), 데이터 복원부(350)를 포함할 수 있다.FIG. 3 is a schematic block diagram illustrating an exemplary image reading device 130 for reading data from an image, according to at least some embodiments of the present disclosure. The image reading apparatus 130 may include a matrix selecting unit 310, a data decoder 330, and a data restoring unit 350.

영상 판독 장치(130)는 명확히 도시되지 않았지만, 도 2의 영상 처리 시스템(100)에 의하여 생성된 인코딩된 영상을 네트워크(120)를 통하여, 유선 또는 무선으로 수신할 수 있다. 일부 실시예에서, 행열 선택부(310)는 영상의 복수의 행 및 복수의 열 중 적어도 하나의 행 또는 열을 선택하도록 구성될 수 있다. 선택되는 행 또는 열은 미리 정해진 위치일 수 있다. 다른 실시예에서, 행열 선택부(310)는 영상으로부터 데이터가 삽입된 행 또는 열에 대한 정보를 검출하도록 더 구성될 수 있다. 이러한 예시에서, 행열 선택부(310)는 검출된 정보에 기초하여 영상의 적어도 하나의 행 또는 열을 선택하도록 구성될 수 있다.The image reading apparatus 130 can receive the encoded image generated by the image processing system 100 of FIG. 2 through the network 120, wired or wirelessly, though it is not clearly shown. In some embodiments, the matrix selector 310 may be configured to select at least one row or column of a plurality of rows and a plurality of columns of an image. The selected row or column may be a predetermined position. In another embodiment, the matrix selector 310 may be further configured to detect information about a row or column in which data is inserted from the image. In this example, the matrix selector 310 can be configured to select at least one row or column of the image based on the detected information.

일부 실시예에서, 데이터 디코더(330)는 선택된 적어도 하나의 행 또는 열의 각 픽셀의 색상에 기초하여 디코딩을 수행하도록 구성될 수 있다. 예컨대, 선택된 적어도 하나의 행 또는 열은 RGB색으로 표현될 수 있으며, 데이터 디코더(330)는 데이터의 적어도 일부를 검출할 수 있다. 데이터 복원부(350)는 데이터 디코더(330)에 의한 디코딩에 기초하여 데이터를 복원하도록 구성될 수 있다. 예컨대, 데이터 디코더(330)는 프레임 별로 데이터의 일부를 검출할 수 있으며, 데이터 복원부(350)는 이를 조합하여, 원래의 데이터를 복원하도록 구성될 수 있다.In some embodiments, the data decoder 330 may be configured to perform decoding based on the color of each pixel of the selected at least one row or column. For example, the selected at least one row or column may be represented by an RGB color, and the data decoder 330 may detect at least a portion of the data. The data restoring unit 350 may be configured to restore the data based on the decoding by the data decoder 330. For example, the data decoder 330 may detect a part of data on a frame-by-frame basis, and the data decompression unit 350 may be configured to combine and restore the original data.

도 4는 본 개시의 적어도 일부 실시예에 따라, 예시적인 영상 처리 시스템에서 수행되는 프로세스(400)를 도시하는 흐름도이다. 도 4에 도시된 제어명령의 프로세스(400)는 블록(410, 420, 430, 440 및/또는 450)에 의해 도시된 바와 같은 하나 이상의 동작, 기능 또는 작용을 포함할 수 있다. 다양한 블록은 설명된 실시예로 제한하려고 의도되지는 않는다. 예컨대, 당업자는 여기에서 개시된 본 프로세스에 대하여, 프로세스 및 방법에서 수행되는 기능이 상이한 순서로 구현될 수 있다는 것을 인정할 것이다. 또한, 개략적인 동작들은 예시로서만 제공되고, 개시된 실시예의 본질에서 벗어나지 않으면서, 동작들 중 일부가 선택적일 수 있거나, 더 적은 동작으로 조합될 수 있거나, 추가적인 동작으로 확장될 수 있다. 프로세스(400)는 데이터를 픽셀의 색상을 이용하여 인코딩하는 블록(410)에서 시작할 수 있다.4 is a flow chart illustrating a process 400 performed in an exemplary image processing system, in accordance with at least some embodiments of the present disclosure. The process 400 of the control command shown in FIG. 4 may include one or more actions, functions, or actions as illustrated by blocks 410, 420, 430, 440, and / or 450. The various blocks are not intended to be limited to the embodiments described. For example, those skilled in the art will appreciate that, for this process disclosed herein, the functions performed in the processes and methods may be implemented in a different order. In addition, the outline operations are provided by way of example only, and some of the operations may be optional, combined with fewer operations, or extended with additional operations, without departing from the essence of the disclosed embodiments. The process 400 may begin at block 410 where the data is encoded using the color of the pixel.

블록(410)에서, 영상 처리 시스템은 영상의 픽셀에서 표현되는 색상을 이용하여 디지털 데이터로 나타내도록 데이터를 인코딩할 수 있다. 일부 예시에서, 데이터는 3 비트의 픽셀의 색상을 이용하여 인코딩될 수 있다. 영상 처리 시스템는 블록(410)에서 영상의 복수의 행 및 복수의 열 중 적어도 하나의 행 또는 열을 선택하는 블록(420)으로 계속될 수 있다.At block 410, the image processing system may encode the data to represent it as digital data using the colors represented in the pixels of the image. In some examples, the data may be encoded using the color of the 3-bit pixel. The image processing system may continue at block 410 to block 420, which selects at least one row or column of a plurality of rows and a plurality of columns of the image.

블록(420)에서, 영상 처리 시스템은 영상의 복수의 행 및 복수의 열 중에서 적어도 하나의 행 또는 열을 선택할 수 있다. 일부 실시예에서, 영상의 최외각 행 또는 최외각 열부터 적어도 하나의 행 또는 열을 선택하도록 구성될 수 있다. 추가적이거나 대안적인 실시예에서, 영상 처리 시스템은 영상의 복수의 프레임 중 적어도 하나의 프레임을 선택할 수 있다. 프로세스는 블록(420)에서, 인코딩된 데이터를 상기 선택된 적어도 하나의 행 또는 열에 프레임 단위로 분할하여 영상과 결합하는 블록(430)으로 계속될 수 있다.At block 420, the image processing system may select at least one row or column from a plurality of rows and a plurality of columns of the image. In some embodiments, it may be configured to select at least one row or column from the outermost row or the outermost column of the image. In a further or alternative embodiment, the image processing system may select at least one of the plurality of frames of the image. The process may continue at block 420, at block 430, where the encoded data is segmented into the selected at least one row or column and combined with the image.

블록(430)에서, 영상 처리 시스템은 인코딩된 데이터를 상기 선택된 적어도 하나의 행 또는 열에 프레임 단위로 분할하여 영상과 결합할 수 있다. 일부 예시에서, 영상 처리 시스템은 선택된 적어도 하나의 프레임의 선택된 적어도 하나의 행 또는 열에 인코딩된 데이터를 결합하도록 구성될 수 있다. 프로세스(400)는 블록(430)에서 인코딩된 데이터가 결합된 영상을 인코딩하는 블록(440)으로 계속될 수 있다.In block 430, the image processing system may divide the encoded data into at least one selected row or column of frames and combine them with the image. In some examples, the image processing system may be configured to combine encoded data into a selected at least one row or column of at least one frame selected. The process 400 may continue at block 440 where the encoded data is encoded in block 430.

블록(440)에서, 영상 처리 시스템은, 인코딩된 데이터가 결합된 영상을 추후 네트워크로의 전송에 적합하도록 인코딩할 수 있다. 프로세스(400)는 블록(440)에서 인코딩된 영상을 네트워크 상으로 전송하는 블록(450)으로 계속될 수 있으며, 여기서 영상 처리 시스템은 인터넷과 같은 네트워크 상으로 인코딩된 영상을 전송할 수 있다. At block 440, the image processing system may encode the combined image of the encoded data to be suitable for transmission to the network in the future. The process 400 may continue to block 450 where the encoded image is transmitted over the network in block 440 where the image processing system may transmit the encoded image over a network such as the Internet.

이와 같이, 영상을 인터넷과 같은 네트워크 상으로 전송함에 있어서, 데이터를 삽입하면, 원래의 영상을 왜곡시키거나, 영상을 감상하는 데에 크게 영향을 주지 않으면서, 데이터를 삽입하는 것이 가능해진다. 예컨대, 프로세스(400)에 의하여 영상 영상이 720X400의 사이즈를 가지고, 그 중 2행 및 2열을 선택되고 15프레임이 선택된 경우, 약 [(720 pixel x 2 line x 3bit) + (400 x 2 line x 3 bit)/8] x 15 frames = 약 12,600 byte를 저장할 수 있다. 선택되는 프레임 수가 많아지거나, 1픽셀에 표현되는 색상의 수를 늘리면(예컨대, 4bit/1pixel) 보다 많은 데이터를 삽입할 수 있다. 또한 전술에서는 데이터를 영상의 행 또는 열 전부를 선택하여 데이터를 삽입하는 것으로 설명하였으나, 당업자는 선택된 행 또는 열의 일부에 인코딩된 데이터를 삽입하는 방식으로 구현될 수 있음을 인식할 것이다.In this manner, when the video is transmitted to a network such as the Internet, insertion of the data makes it possible to insert the data without significantly affecting the distortion of the original video or viewing the video. For example, if the image 400 has a size of 720x400 and 2 rows and 2 columns are selected and 15 frames are selected by the process 400, the image is approximately 720 pixels x 2 lines x 3 bits + x 3 bits) / 8] x 15 frames = about 12,600 bytes. More data can be inserted by increasing the number of selected frames or by increasing the number of colors represented by one pixel (for example, 4 bits / 1 pixel). Also, in the above description, data is inserted into the image by selecting all the rows or columns of the image. However, those skilled in the art will recognize that the present invention can be implemented by inserting encoded data into selected rows or columns.

도 5는 본 개시의 적어도 일부 실시예에 따라, 예시적인 영상 판독 장치에서 수행되는 프로세스(500)를 도시하는 흐름도이다. 도 5는 본 개시의 적어도 일부 실시예에 따라, 예시적인 영상 처리 시스템에서 수행되는 프로세스(500)를 도시하는 흐름도이다. 도 5에 도시된 제어명령의 프로세스(500)는 블록(510, 530, 및/또는 550)에 의해 도시된 바와 같은 하나 이상의 동작, 기능 또는 작용을 포함할 수 있다. 다양한 블록은 설명된 실시예로 제한하려고 의도되지는 않는다. 예컨대, 당업자는 여기에서 개시된 본 프로세스에 대하여, 프로세스 및 방법에서 수행되는 기능이 상이한 순서로 구현될 수 있다는 것을 인정할 것이다. 또한, 개략적인 동작들은 예시로서만 제공되고, 개시된 실시예의 본질에서 벗어나지 않으면서, 동작들 중 일부가 선택적일 수 있거나, 더 적은 동작으로 조합될 수 있거나, 추가적인 동작으로 확장될 수 있다. 프로세스(500)는 영상의 복수의 행 및 복수의 열 중 적어도 하나의 행 또는 열을 선택하는 블록(510)에서 시작할 수 있다.5 is a flow diagram illustrating a process 500 performed in an exemplary image reading device, in accordance with at least some embodiments of the present disclosure. FIG. 5 is a flow chart illustrating a process 500 performed in an exemplary image processing system, in accordance with at least some embodiments of the present disclosure. The process 500 of the control command shown in FIG. 5 may include one or more actions, functions, or actions as illustrated by blocks 510, 530, and / or 550. The various blocks are not intended to be limited to the embodiments described. For example, those skilled in the art will appreciate that, for this process disclosed herein, the functions performed in the processes and methods may be implemented in a different order. In addition, the outline operations are provided by way of example only, and some of the operations may be optional, combined with fewer operations, or extended with additional operations, without departing from the essence of the disclosed embodiments. The process 500 may begin at block 510, which selects at least one row or column of a plurality of rows and a plurality of columns of an image.

블록(510)에서, 도 1 및 도 3의 영상 판독 장치(130)와 같은 영상 판독 장치는 영상의 복수의 행 및 복수의 열 중 적어도 하나의 행 또는 열을 선택하도록 구성될 수 있다. 일부 예시에서, 선택되는 행 또는 열은 미리 정해진 위치일 수 있다. 다른 예시에서, 영상 판독 장치는 영상으로부터 데이터가 삽입된 행 또는 열에 대한 정보를 검출하도록 더 구성될 수 있다. 이러한 예시에서, 영상 판독 장치는 검출된 정보에 기초하여 영상의 적어도 하나의 행 또는 열을 선택하도록 구성될 수 있다. 프로세스(500)는 블록(510)에서 선택된 행 또는 열의 각 픽셀의 색상에 기초한 디코딩을 수행하는 블록(530)으로 계속될 수 있다.At block 510, an image reading device, such as the image reading device 130 of Figures 1 and 3, may be configured to select a plurality of rows and at least one row or columns of images. In some examples, the selected row or column may be a predetermined position. In another example, the image reading device may be further configured to detect information about a row or column in which data is inserted from the image. In this example, the image reading apparatus can be configured to select at least one row or column of the image based on the detected information. The process 500 may continue to block 530 which performs decoding based on the color of each pixel of the selected row or column in block 510. [

블록(530)에서, 영상 판독 장치는 선택된 행 또는 열의 각 픽셀의 색상에 기초한 디코딩을 수행하도록 구성될 수 있다. 예컨대, 선택된 적어도 하나의 행 또는 열은 RGB색으로 표현될 수 있으며, 영상 판독 장치는 데이터의 적어도 일부를 검출할 수 있다. 프로세스(500)는 블록(530)에서 디코딩에 기초하여 데이터를 복원하는 블록(550)으로 계속될 수 있다.At block 530, the image reading device may be configured to perform decoding based on the color of each pixel of the selected row or column. For example, the selected at least one row or column may be represented by an RGB color, and the image reading device may detect at least a portion of the data. The process 500 may continue at block 530 with block 550 to restore the data based on the decoding.

블록(550)에서, 영상 판독 장치는 상기 디코딩에 기초하여 데이터를 복원하도록 구성될 수 있다. 다른 예시에서, 영상 판독 장치는 프레임 별로 데이터의 일부를 검출할 수 있으며, 이를 조합하여, 원래의 데이터를 복원하도록 구성될 수 있다.At block 550, the image reading device may be configured to recover the data based on the decoding. In another example, the image reading apparatus can detect a part of the data on a frame-by-frame basis and combine them to reconstruct the original data.

도 6은 본 개시의 적어도 일부 실시예에 따라, 인코딩된 데이터를 결합한 영상의 하나의 프레임(600)의 예시를 도시한다. 프레임(600)은 m x n 픽셀을 포함한다. 일부 실시예에서, 도 2의 행열 선택기(220)에 의하여 선택된 행 및 열(610)에는 데이터가 삽입되어 있다. 도 6과 같이, 데이터가 삽입된 행 및 열이 영상의 최외각의 열 또는 행인 경우, 인코딩된 데이터를 결합한 영상에서 데이터가 삽입된 부분은 통상 영상에서 중요도가 낮은 부분이므로, 데이터 결합으로 인한 영상의 왜곡을 낮출 수 있다. 또한, 도 6에 도시되지 않았으나, 데이터를 영상의 수 프레임에 한번 나누어 결합하는 경우, 영상을 감상하는 자는 데이터가 삽입되었음을 인식하기 어려울 수 있다.FIG. 6 illustrates an example of one frame 600 of an image combining encoded data, according to at least some embodiments of the present disclosure. Frame 600 includes m x n pixels. In some embodiments, data is inserted into the rows and columns 610 selected by the matrix selector 220 of FIG. As shown in FIG. 6, when the row and column in which the data are inserted are the outermost columns or rows of the image, since the portion in which the data is inserted in the combined image of the encoded data is a portion of low importance in the normal image, Can be reduced. Also, although not shown in FIG. 6, when dividing data into several frames of an image, it is difficult for a person who views the image to recognize that data is inserted.

도 7는 여기에서 제시된 적어도 일부 실시예에 따라 배열된, 컴퓨팅 장치 상에서의 컴퓨터 장치를 실행하기 위한 컴퓨터 프로그램을 포함하는 컴퓨터 프로그램 제품(700)을 도시하는 개략도이다. 예시적인 컴퓨터 프로그램 제품의 예시적인 실시예는 신호 포함 매체(702)를 이용하여 제공된다. 일부 실시예에서, 하나 이상의 컴퓨터 프로그램 제품(700)의 신호 포함 매체(702)는 컴퓨터 판독가능 매체(706), 기록 가능 매체(708) 및/또는 통신 매체(710)를 포함할 수 있다.FIG. 7 is a schematic diagram illustrating a computer program product 700 including a computer program for executing a computer device on a computing device, arranged in accordance with at least some embodiments set forth herein. An exemplary embodiment of an exemplary computer program product is provided using signal embedding medium 702. [ In some embodiments, the signal-bearing medium 702 of one or more computer program products 700 may include a computer-readable medium 706, a recordable medium 708 and / or a communication medium 710.

명령어(704)는, 데이터를 픽셀의 색상을 이용하여 인코딩하기 위한 하나 이상의 명령어; 복수의 행 및 복수의 열 중 적어도 하나의 행 또는 열을 선택하기 위한 하나 이상의 명령어; 인코딩된 데이터를 선택된 적어도 하나의 행 또는 열에 프레임 단위로 분할하여 영상과 결합하기 위한 하나 이상의 명령어; 인코딩된 데이터가 결합된 영상을 인코딩하기 위한 하나 이상의 명령어; 및 인코딩된 영상을 네트워크 상으로 전송하기 위한 하나 이상의 명령어 중 적어도 하나를 포함할 수 있다.The instructions 704 include one or more instructions for encoding the data using the color of the pixel; One or more instructions for selecting at least one row or column of a plurality of rows and a plurality of columns; One or more instructions for segmenting the encoded data into at least one selected row or column and combining the encoded data with an image; One or more instructions for encoding an image in which encoded data is combined; And one or more instructions for transmitting the encoded image over a network.

도 8는 본 개시의 적어도 일부 실시예에 따라 배열되는 예시적인 컴퓨팅 장치(800)를 도시하는 블록도이다. 일 예시적인 기본적인 구성(802)에서, 컴퓨팅 장치(800)는 하나 이상의 프로세서(804) 및 시스템 메모리(806)를 포함할 수 있다. 메모리 버스(808)는 프로세서(804) 및 시스템 메모리(806) 사이에서 통신하기 위하여 이용될 수 있다.8 is a block diagram illustrating an exemplary computing device 800 arranged in accordance with at least some embodiments of the present disclosure. In one exemplary basic configuration 802, computing device 800 may include one or more processors 804 and system memory 806. [ The memory bus 808 may be used to communicate between the processor 804 and the system memory 806. [

요구되는 구성에 따라, 프로세서(804)는 마이크로 프로세서(μP), 마이크로 컨트롤러(μC), 디지털 신호 프로세서(DSP), 또는 그들의 임의의 조합을 포함하는 임의의 유형일 수 있으나, 이에 제한되지는 않는다. 프로세서(804)는 레벨 1 캐시(810), 레벨 2 캐시(812)와 같은 하나 이상의 레벨(level)의 캐시(cache), 프로세서 코어(814), 및 레지스터(816)를 포함할 수 있다. 프로세서 코어(814)는 산술 논리 연산장치(arithmetic logic unit; ALU), 부동 소수점 장치(floating point unit; FPU), 디지털 신호 처리 코어(DSP Core), 또는 그들의 임의의 조합을 포함할 수 있다. 메모리 컨트롤러(818)는 또한 프로세서(804)와 함께 사용될 수 있거나, 또는 일부 구현예에서 메모리 컨트롤러(818)는 프로세서(804)의 내적인 일부일 수 있다.Depending on the configuration desired, the processor 804 may be of any type, including, but not limited to, a microprocessor (uP), a microcontroller (uC), a digital signal processor (DSP), or any combination thereof. The processor 804 may include one or more levels of a cache, such as a level 1 cache 810, a level 2 cache 812, a processor core 814, and a register 816. The processor core 814 may include an arithmetic logic unit (ALU), a floating point unit (FPU), a digital signal processing core (DSP Core), or any combination thereof. The memory controller 818 may also be used with the processor 804 or, in some implementations, the memory controller 818 may be an internal portion of the processor 804.

요구되는 구성에 따라, 시스템 메모리(806)는 (RAM과 같은) 휘발성 메모리, (ROM, 플래시 메모리 등과 같은) 비휘발성 메모리, 또는 그들의 임의의 조합을 포함하는 임의의 유형일 수 있으나, 이에 제한되지는 않는다. 시스템 메모리(806)는 운영 체제(820), 하나 이상의 어플리케이션(application)(822), 및 프로그램 데이터(824)를 포함할 수 있다. 어플리케이션(822)은 도 2의 영상 처리 시스템(100) 및/또는 도 4의 프로세스에 관하여 기술된 기능 블록 및/또는 작용을 포함하여 여기에서 기술된 바와 같은 기능을 수행하도록 배열된 제어 알고리즘(826)을 포함할 수 있다. 프로그램 데이터(824)는, 제어 알고리즘(826)과 함께 이용하기 위한 데이터(828), 예컨대, 정적 네트워크 환경 등에 해당하는 데이터를 포함할 수 있다. 일부 실시예에서, 어플리케이션(822)은 최적의 전송 환경을 결정하기 위한 구현이 여기에서 설명된 바와 같이 제공될 수 있도록 운영 체제(820) 상에서 프로그램 데이터(824)로 동작하도록 배열될 수 있다. 예컨대, 영상 처리 시스템(100)은 컴퓨팅 장치(800)의 전부 또는 일부를 포함할 수 있으며 최적의 전송 환경을 결정하는 구현이 여기에서 설명된 바와 같이 제공될 수 있도록 어플리케이션(822)의 전부 또는 일부를 수행하는 것이 가능할 수 있다. 이러한 기술된 기본적인 구성은 도 8에서 파선(802) 내의 그 구성요소들에 의해 도시된다.Depending on the configuration desired, the system memory 806 may be any type, including but not limited to volatile memory (such as RAM), non-volatile memory (such as ROM, flash memory, etc.), or any combination thereof, Do not. The system memory 806 may include an operating system 820, one or more applications 822, and program data 824. The application 822 may include control algorithms 826 arranged to perform the functions as described herein, including functional blocks and / or operations described with respect to the image processing system 100 of FIG. 2 and / or the process of FIG. ). The program data 824 may include data 828 for use with the control algorithm 826, e.g., data corresponding to a static network environment or the like. In some embodiments, application 822 may be arranged to operate with program data 824 on operating system 820 such that an implementation for determining an optimal transmission environment may be provided as described herein. For example, the image processing system 100 may include all or a portion of the computing device 800 and may include all or some of the applications 822 such that an implementation for determining an optimal transmission environment may be provided as described herein Lt; / RTI > This described basic configuration is illustrated by its components in dashed line 802 in FIG.

컴퓨팅 장치(800)는 기본적인 구성(802) 및 임의의 요구되는 장치 및 인터페이스(interface) 사이의 통신을 용이하게 하도록 추가적인 특징 또는 기능, 및 추가적인 인터페이스를 가질 수 있다. 예를 들어, 버스/인터페이스 컨트롤러(830)는 저장부 인터페이스 버스(834)를 통한 기본적인 구성(802) 및 하나 이상의 데이터 저장 장치(832) 사이의 통신을 용이하게 하도록 사용될 수 있다. 데이터 저장 장치(832)는 이동식 저장 장치(836), 고정식 저장 장치(838), 또는 그 조합일 수 있다. 이동식 저장 장치 및 고정식 저장 장치의 예를 몇 가지 들자면, 플렉서블 디스크 드라이브(flexible disk drive) 및 하드 디스크 드라이브(HDD)와 같은 자기 디스크 장치, 컴팩트 디스크(CD) 드라이브 또는 디지털 다목적 디스크(DVD) 드라이브와 같은 광 디스크 드라이브, 고체 상태 드라이브(SSD), 및 테이프 드라이브 등을 포함한다. 예시적인 컴퓨터 저장 매체는 컴퓨터 판독가능 명령, 데이터 구조, 프로그램 모듈(program module), 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술에서 구현되는 휘발성 및 비휘발성의 이동식 및 고정식 매체를 포함할 수 있다.The computing device 800 may have additional features or functionality and additional interfaces to facilitate communication between the basic configuration 802 and any desired devices and interfaces. For example, the bus / interface controller 830 may be used to facilitate communication between the basic configuration 802 and the one or more data storage devices 832 via the storage interface bus 834. [ The data storage device 832 may be a removable storage device 836, a fixed storage device 838, or a combination thereof. Examples of removable storage devices and fixed storage devices include magnetic disk devices such as flexible disk drives and hard disk drives (HDD), compact disk (CD) drives or digital versatile disk (DVD) drives, Optical disk drives, solid state drives (SSDs), and tape drives, and the like. Exemplary computer storage media includes volatile and nonvolatile removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules, or other data can do.

시스템 메모리(806), 이동식 저장 장치(836) 및 고정식 저장 장치(838)는 모두 컴퓨터 저장 매체의 예이다. 컴퓨터 저장 매체는 RAM, ROM, EEPROM, 플래시 메모리 또는 기타 메모리 기술, CD-ROM, 디지털 다목적 디스크(DVD) 또는 기타 광 저장 장치, 자기 카세트, 자기 테이프, 자기 디스크 저장 장치 또는 기타 자기 저장 장치, 또는 요구되는 정보를 저장하도록 사용될 수 있고, 컴퓨팅 장치(800)에 의해 액세스될 수 있는 임의의 기타 매체를 포함하나, 이에 제한되지는 않는다. 임의의 그러한 컴퓨터 저장 매체는 컴퓨팅 장치(800)의 일부일 수 있다.System memory 806, removable storage 836, and fixed storage 838 are all examples of computer storage media. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, But is not limited to, any other medium which can be used to store the required information and which can be accessed by the computing device 800. [ Any such computer storage media may be part of the computing device 800.

컴퓨팅 장치(800)는 또한 버스/인터페이스 컨트롤러(842)를 통한 다양한 인터페이스 장치(예컨대, 출력 인터페이스, 주변 인터페이스, 및 통신 인터페이스)로부터 기본적인 구성(802)으로의 통신을 용이하게 하기 위한 인터페이스 버스(842)를 포함할 수 있다. 예시적인 출력 장치(842)는 그래픽 처리 유닛(848) 및 오디오 처리 유닛(850)을 포함할 수 있으며, 이는 하나 이상의 A/V 포트(852)를 통하여 디스플레이 또는 스피커와 같은 다양한 외부 장치로 통신하도록 구성될 수 있다. 예시적인 주변 인터페이스(844)는 직렬 인터페이스 컨트롤러(854) 또는 병렬 인터페이스 컨트롤러(856)를 포함할 수 있으며, 이는 하나 이상의 I/O 포트(858)를 통하여 입력 장치(예컨대, 키보드, 마우스, 펜, 음성 입력 장치, 터치 입력 장치 등) 또는 기타 주변 장치(예컨대, 프린터, 스캐너 등)와 같은 외부 장치와 통신하도록 구성될 수 있다. 예시적인 통신 장치(846)는 네트워크 컨트롤러(860)를 포함하며, 이는 하나 이상의 통신 포트(864)를 통한 네트워크 통신 상에서의 하나 이상의 다른 컴퓨팅 장치(862)와의 통신을 용이하게 하도록 배열될 수 있다. 통신 연결은 통신 매체의 일 예시이다. 통신 매체는 일반적으로 컴퓨터 판독가능 명령, 데이터 구조, 프로그램 모듈, 또는 반송파 또는 기타 수송 메커니즘(transport mechanism)과 같은, 변조된 데이터 신호에서의 기타 데이터에 의해 구현될 수 있고 임의의 정보 전달 매체를 포함할 수 있다. "변조된 데이터 신호"는 신호 내에 정보를 인코딩하는 방식으로 설정되거나 변경된 하나 이상의 특성을 갖는 신호일 수 있다. 예를 들어, 통신 매체는 유선 네트워크 또는 직접 유선 연결(direct-wired connection)과 같은 유선 매체, 및 음향, 라디오 주파수(RF), 적외선(IR) 및 기타 무선 매체와 같은 무선 매체를 포함할 수 있으나, 이에 제한되지 않는다. 여기에서 사용된 컴퓨터 판독가능 매체라는 용어는 저장 매체 및 통신 매체 둘 다를 포함할 수 있다.The computing device 800 also includes an interface bus 842 for facilitating communication from the various interface devices (e.g., output interface, peripheral interface, and communication interface) through the bus / interface controller 842 to the basic configuration 802 ). Exemplary output device 842 may include a graphics processing unit 848 and an audio processing unit 850 that may be coupled to one or more A / V ports 852 to communicate with various external devices, Lt; / RTI > The exemplary peripheral interface 844 may include a serial interface controller 854 or a parallel interface controller 856 which may be coupled to an input device (e.g., a keyboard, a mouse, a pen, A voice input device, a touch input device, etc.) or other peripheral device (e.g., a printer, a scanner, etc.). Exemplary communication device 846 includes a network controller 860 that may be arranged to facilitate communication with one or more other computing devices 862 over network communications via one or more communication ports 864. [ A communication connection is an example of a communication medium. Communication media typically embodies computer readable instructions, data structures, program modules, or other data in a modulated data signal, such as a carrier wave or other transport mechanism, and includes any information delivery media can do. A "modulated data signal" may be a signal having one or more characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media may include wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, radio frequency (RF), infrared (IR) , But is not limited thereto. The term computer readable media as used herein may include both storage media and communication media.

컴퓨팅 장치(800)는 휴대 전화기, 개인 휴대용 단말기(PDA), 개인 미디어 재생 장치, 무선 웹워치 장치, 개인 헤드셋 장치, 특정 용도 장치, 또는 상기 기능 중 임의의 것을 포함하는 융합 장치와 같은 소형 폼팩터 휴대용(모바일) 전자 장치의 일부로 구현될 수 있다. 컴퓨팅 장치(800)는 또한 랩탑 컴퓨터나 랩탑이 아닌 컴퓨터 구성 둘 다를 포함하는 개인 컴퓨터로 구현될 수 있다. 또한, 컴퓨팅 장치(800)는 무선 기지국 또는 기타 무선 시스템 또는 장치의 일부로서 구현될 수 있다.The computing device 800 may be a small form factor portable device such as a cellular phone, a personal digital assistant (PDA), a personal media player, a wireless web watch device, a personal headset device, (Mobile) electronic device. The computing device 800 may also be implemented as a personal computer, including both a laptop computer or a non-laptop computer configuration. The computing device 800 may also be implemented as part of a wireless base station or other wireless system or device.

청구된 대상은 여기에서 기술된 특정 구현예로 범위가 제한되지 않는다. 예컨대, 일부 구현예는 장치 또는 장치의 조합 상에서 동작하도록 사용될 수 있는 것과 같은 하드웨어로 있을 수 있는 반면, 예컨대, 다른 구현예는 소프트웨어 및/또는 펌웨어로 있을 수 있다. 마찬가지로, 청구된 대상은 이러한 점에서 범위가 제한되지 않지만, 일부 구현예는 신호 베어링 매체, 저장 매체와 같은 하나 이상의 물품을 포함할 수 있다. CD-ROM, 컴퓨터 디스크, 플래시 메모리 등과 같은 이러한 저장 매체는, 예컨대, 컴퓨팅 시스템, 컴퓨팅 플랫폼 또는 기타 시스템과 같은 컴퓨팅 장치에 의하여 실행되면, 예컨대, 앞서 설명된 구현예 중 하나와 같은 청구된 대상에 따라 프로세서의 실행을 야기시킬 수 있는 명령을 저장할 수 있다. 하나의 가능성으로서, 컴퓨팅 장치는 하나 이상의 처리 유닛 또는 프로세서, 디스플레이, 키보드 및/또는 마우스와 같은 하나 이상의 입/출력 장치, 및 정적 랜덤 액세스 메모리, 동적 랜덤 액세스 메모리, 플래시 메모리 및/또는 하드 드라이브와 같은 하나 이상의 메모리를 포함할 수 있다.The claimed subject matter is not to be limited in scope to the specific embodiments described herein. For example, some implementations may be in hardware, such as may be used to operate on a device or combination of devices, while other implementations may be in software and / or firmware, for example. Likewise, although the claimed subject matter is not limited in scope in this respect, some embodiments may include one or more articles, such as signal bearing media, storage media. Such a storage medium, such as a CD-ROM, a computer disk, a flash memory, etc., may, for example, be executed by a computing device, such as a computing system, computing platform or other system, Thereby storing instructions that can cause the execution of the processor. As one possibility, a computing device may include one or more processing units or processors, one or more input / output devices such as a display, a keyboard and / or a mouse, and a static random access memory, a dynamic random access memory, a flash memory and / Lt; / RTI > memory.

시스템의 양상들의 하드웨어 및 소프트웨어 구현 사이에는 구별이 거의 없다; 하드웨어 또는 소프트웨어의 사용은 일반적으로 (그러나 어떤 맥락에서 하드웨어 및 소프트웨어 사이의 선택이 중요할 수 있다는 점에서 항상 그런 것은 아니지만) 비용 대비 효율의 트레이드오프(tradeoff)를 나타내는 설계상 선택(design choice)이다. 본 개시에서 기재된 프로세스 및/또는 시스템 및/또는 다른 기술들이 영향 받을 수 있는 다양한 수단(vehicles)(예를 들어, 하드웨어, 소프트웨어 및/또는 펌웨어)이 있으며, 선호되는 수단은 프로세스 및/또는 시스템 및/또는 다른 기술이 사용되는 맥락(context)에 따라 변경될 것이다. 예를 들어, 구현자가 속도 및 정확성이 가장 중요하다고 결정한다면, 구현자는 주로 하드웨어 및/또는 펌웨어 수단을 선택할 수 있으며, 유연성이 가장 중요하다면, 구현자는 주로 소프트웨어 구현을 선택할 수 있으며; 또는, 다른 대안으로서, 구현자는 하드웨어, 소프트웨어 및/또는 펌웨어의 어떤 결합을 선택할 수 있다.There is little distinction between hardware and software implementations of aspects of the system; The use of hardware or software is a design choice that generally represents a trade-off between cost-effectiveness (although not always in that the choice between hardware and software in some contexts may be important) . There are a variety of vehicles (e.g., hardware, software and / or firmware) in which the processes and / or systems and / or other technologies described herein may be affected and preferred means include processes and / And / or the context in which other technologies are used. For example, if the implementer decides that speed and accuracy are the most important, the implementer can chose mainly hardware and / or firmware means, and if flexibility is of paramount importance, the implementer can chose mainly the software implementation; Alternatively, as an alternative, the implementer may select any combination of hardware, software, and / or firmware.

전술한 상세한 설명은 블록도, 흐름도, 및/또는 예시를 통해 장치 및/또는 프로세스의 다양한 실시예를 설명하였다. 그러한 블록도, 흐름도, 및/또는 예시는 하나 이상의 기능 및/또는 동작을 포함하는 한, 당업자라면 그러한 블록도, 흐름도, 또는 예시 내의 각각의 기능 및/또는 동작은 하드웨어, 소프트웨어, 펌웨어, 또는 그들의 실질적으로 임의의 조합의 넓은 범위에 의해 개별적으로 및/또는 집합적으로 구현될 수 있다는 것이 이해할 것이다. 일 실시예에서, 본 개시에 기재된 대상의 몇몇 부분은 ASIC(Application Specific Integrated Circuit), FPGA(Field Programmable Gate Array), DSP(Digital Signal Processor) 또는 다른 집적의 형태를 통해 구현될 수 있다. 그러나, 당업자라면, 본 개시의 실시예의 일부 양상은, 하나 이상의 컴퓨터 상에 실행되는 하나 이상의 컴퓨터 프로그램(예를 들어, 하나 이상의 컴퓨터 시스템 상에 실행되는 하나 이상의 프로그램), 하나 이상의 프로세서 상에서 실행되는 하나 이상의 프로그램(예를 들어, 하나 이상의 마이크로프로세서 상에서 실행되는 하나 이상의 프로그램), 펌웨어 또는 이들의 실질적으로 임의의 조합으로써, 전체적으로 또는 부분적으로 균등하게 집적 회로에서 구현될 수 있다는 점, 소프트웨어 및/또는 펌웨어를 위한 코드의 작성 및/또는 회로의 설계는 본 개시에 비추어 당업자의 기술 범위 내라는 점을 알 수 있을 것이다. 또한, 당업자라면, 본 개시의 대상의 매커니즘(mechanism)들이 다양한 형태의 프로그램 제품으로 분배될 수 있음을 이해할 것이며, 본 개시의 대상의 예시는, 분배를 실제로 수행하는데 사용되는 신호 베어링 매체의 특정 유형과 무관하게 적용됨을 이해할 것이다. 신호 베어링 매체의 예는, 플렉서블 디스크, 하드 디스크 드라이브(HDD), CD, DVD, 디지털 테이프, 컴퓨터 메모리 등과 같은 기록 가능 유형의 매체, 디지털 및/또는 아날로그 통신 매체(예를 들어, 섬유 광학 케이블, 도파관, 유선 통신 링크, 무선 통신 링크 등)와 같은 전송 유형 매체를 포함할 수 있으나, 이에 제한되지는 않는다.The foregoing detailed description has described various embodiments of devices and / or processes by way of block diagrams, flowcharts, and / or illustrations. As long as such block diagrams, flowcharts, and / or illustrations contain one or more functions and / or operations, those skilled in the art will recognize that each function and / or operation in such block diagrams, flowcharts or illustrations may be implemented in hardware, software, firmware, It is to be understood that they may be implemented individually and / or collectively by virtually any of a wide range of combinations. In one embodiment, some portions of the subject matter described in this disclosure may be implemented in the form of an Application Specific Integrated Circuit (ASIC), a Field Programmable Gate Array (FPGA), a Digital Signal Processor (DSP), or other integrated form. However, those skilled in the art will appreciate that some aspects of embodiments of the present disclosure may be implemented as a combination of one or more computer programs (e.g., one or more programs running on one or more computer systems) running on one or more computers, (I. E., One or more programs running on one or more microprocessors), firmware, or substantially any combination thereof, may be implemented in whole or in part in an integrated circuit, software and / And / or the design of the circuitry is within the skill of one of ordinary skill in the art in light of the present disclosure. It will also be understood by those skilled in the art that the mechanisms of the subject matter of the present disclosure may be distributed in various types of program products and examples of objects of the present disclosure may include certain types of signal bearing media ≪ / RTI > Examples of signal bearing media include recordable type media such as flexible disks, hard disk drives (HDD), CD, DVD, digital tape, computer memory, etc., digital and / or analog communication media But are not limited to, transmission-type media such as waveguides, wired communication links, wireless communication links, etc.).

특정 예시적 기법이 다양한 방법 및 시스템을 이용하여 여기에서 기술되고 도시되었으나, 청구된 대상에서 벗어나지 않고, 다양한 기타의 수정이 이루어질 수 있고, 등가물이 대체될 수 있음이 당업자에 의해 이해되어야 한다. 추가적으로, 여기에 기술된 중심 개념으로부터 벗어남이 없이 특정 상황을 청구된 대상의 교시로 적응시키도록 많은 수정이 이루어질 수 있다. 따라서, 청구된 대상이 개시된 특정 예시로 제한되지 않으나, 그러한 청구된 대상은 또한 첨부된 청구범위 및 그 균등의 범위 내에 들어가는 모든 구현예를 포함할 수 있음이 의도된다.
While certain exemplary techniques have been described and shown herein using various methods and systems, it should be understood by those skilled in the art that various other modifications may be made, and equivalents may be substituted, without departing from the claimed subject matter. In addition, many modifications may be made to adapt a particular situation to the teachings of the claimed subject matter without departing from the central concept described herein. Accordingly, it is intended that the claimed subject matter is not limited to the specific examples disclosed, but that the claimed subject matter may also include all embodiments falling within the scope of the appended claims and their equivalents.

Claims (13)

복수의 프레임을 포함하는 영상에 데이터를 삽입하기 위한 영상 처리 장치로서, 상기 복수의 프레임 각각은 복수의 행 및 복수의 열을 포함하고, 상기 복수의 행 및 복수의 열은 복수의 픽셀을 포함하고, 상기 영상 처리 장치는,
상기 데이터를 상기 영상의 픽셀의 색상을 이용하여 인코딩하도록 구성되는 데이터 인코더;
상기 영상의 복수의 프레임 중 적어도 하나의 프레임을 선택하도록 구성된 프레임 선택부;
상기 복수의 행 및 복수의 열 중 적어도 하나의 행 또는 열을 선택하도록 구성되는 행열 선택부;
상기 인코딩된 데이터를 상기 프레임 선택부에 의해 선택된 상기 적어도 하나의 프레임 상의 상기 행열 선택부에 의해 선택된 상기 적어도 하나의 행 또는 열에 프레임 단위로 분할하여 영상과 결합하도록 구성되는 데이터 결합부;
상기 인코딩된 데이터가 결합된 영상을 인코딩하도록 구성되는 영상 인코더; 및
상기 인코딩된 영상을 네트워크 상으로 전송하도록 구성된 영상 전송부
를 포함하고,
상기 행열 선택부는, 상기 프레임 선택부에 의해서 선택된 프레임마다 상이한 행 또는 열을 선택하도록 더 구성되고,
상기 인코딩된 데이터는 상기 영상의 상기 선택된 적어도 하나의 행 또는 열에서 색상으로 표현되는 영상 처리 장치.
An image processing apparatus for inserting data into an image including a plurality of frames, wherein each of the plurality of frames includes a plurality of rows and a plurality of columns, the plurality of rows and the plurality of columns include a plurality of pixels , The image processing apparatus comprising:
A data encoder configured to encode the data using a color of a pixel of the image;
A frame selector configured to select at least one frame among a plurality of frames of the image;
A matrix selecting unit configured to select at least one row or column of the plurality of rows and the plurality of columns;
A data combining unit configured to combine the encoded data with an image by dividing the encoded data into the at least one row or column selected by the matrix selecting unit on the at least one frame selected by the frame selecting unit;
An image encoder configured to encode the combined data; And
An image transmission unit configured to transmit the encoded image onto a network,
Lt; / RTI >
Wherein the matrix selecting unit is further configured to select a different row or column for each frame selected by the frame selecting unit,
Wherein the encoded data is represented in color in the selected at least one row or column of the image.
제1항에 있어서,
상기 데이터 인코더는 상기 데이터를 3 비트의 픽셀의 색상을 이용하여 인코딩하도록 더 구성되는, 영상 처리 장치.
The method according to claim 1,
Wherein the data encoder is further configured to encode the data using a color of a 3-bit pixel.
제1항 또는 제2항에 있어서,
상기 픽셀의 색상은 적색(Red), 녹색(Green) 또는 청색(Blue) 중 적어도 하나를 포함하는, 영상 처리 장치.
3. The method according to claim 1 or 2,
Wherein the color of the pixel comprises at least one of Red, Green or Blue.
제1항에 있어서,
상기 행열 선택부는, 상기 영상의 최외각 행 또는 최외각 열부터 적어도 하나의 행 또는 열을 선택하도록 더 구성되는, 영상 처리 장치.
The method according to claim 1,
Wherein the matrix selector is further configured to select at least one row or column from an outermost column or an outermost column of the image.
삭제delete 삭제delete 복수의 프레임을 포함하는 영상에 데이터를 삽입하기 위한 영상 처리 방법으로서, 상기 복수의 프레임 각각은 복수의 행 및 복수의 열을 포함하고, 상기 복수의 행 및 복수의 열은 복수의 픽셀을 포함하고, 상기 영상 처리 방법은,
상기 데이터를 픽셀의 색상을 이용하여 인코딩하는 단계;
상기 영상의 상기 복수의 프레임 중 적어도 하나의 프레임을 선택하는 단계;
상기 복수의 행 및 복수의 열 중 적어도 하나의 행 또는 열을 선택하는 단계;
상기 인코딩된 데이터를 상기 선택된 적어도 하나의 프레임 상의 상기 선택된 적어도 하나의 행 또는 열에 프레임 단위로 분할하여 영상과 결합하는 단계;
상기 인코딩된 데이터가 결합된 영상을 인코딩하는 단계; 및
상기 인코딩된 영상을 네트워크 상으로 전송하는 단계
를 포함하고,
상기 적어도 하나의 행 또는 열을 선택하는 단계는 상기 선택된 프레임 마다 상이한 행 또는 열을 선택하는 단계를 포함하고,
상기 인코딩된 데이터는 상기 영상의 상기 선택된 적어도 하나의 행 또는 열에서 색상으로 표현되는 영상 처리 방법.
An image processing method for inserting data into an image including a plurality of frames, wherein each of the plurality of frames includes a plurality of rows and a plurality of columns, the plurality of rows and the plurality of columns include a plurality of pixels , The image processing method comprising:
Encoding the data using a color of a pixel;
Selecting at least one frame of the plurality of frames of the image;
Selecting at least one row or column of the plurality of rows and the plurality of columns;
Dividing the encoded data into the selected at least one row or column on the selected at least one frame and combining the encoded data with the image;
Encoding the combined data; And
Transmitting the encoded image onto a network
Lt; / RTI >
Wherein selecting the at least one row or column comprises selecting a different row or column for each selected frame,
Wherein the encoded data is represented in color in the selected at least one row or column of the image.
제7항에 있어서,
상기 픽셀의 색상은 3 비트의 색상인, 영상 처리 방법.
8. The method of claim 7,
Wherein the color of the pixel is a 3-bit color.
제7항에 있어서,
상기 적어도 하나의 행 또는 열을 선택하는 단계는, 상기 영상의 최외각 행 또는 최외각 열부터 적어도 하나의 행 또는 열을 선택하는 단계를 포함하는, 영상 처리 방법.
8. The method of claim 7,
Wherein the step of selecting at least one row or column comprises selecting at least one row or column from an outermost column or an outermost column of the image.
삭제delete 복수의 프레임을 포함하는 영상에 데이터를 삽입하기 위한 컴퓨터 실행 가능 명령어가 저장된 컴퓨터 판독가능 저장 매체로서, 상기 복수의 프레임 각각은 복수의 행 및 복수의 열을 포함하고, 상기 복수의 행 및 복수의 열은 복수의 픽셀을 포함하고, 상기 컴퓨터 실행 가능 명령어가 실행되면, 컴퓨터로 하여금,
상기 데이터를 픽셀의 색상을 이용하여 인코딩하는 동작;
상기 영상의 상기 복수의 프레임 중 적어도 하나의 프레임을 선택하는 동작;
상기 복수의 행 및 복수의 열 중 적어도 하나의 행 또는 열을 선택하는 동작;
상기 인코딩된 데이터를 상기 선택된 적어도 하나의 프레임 상의 상기 선택된 적어도 하나의 행 또는 열에 프레임 단위로 분할하여 영상과 결합하는 동작;
상기 인코딩된 데이터가 결합된 영상을 인코딩하는 동작; 및
상기 인코딩된 영상을 네트워크 상으로 전송하는 동작
을 수행하도록 구성되고,
상기 적어도 하나의 행 또는 열을 선택하는 동작은 상기 선택된 프레임 마다 상이한 행 또는 열을 선택하는 동작을 포함하고,
상기 인코딩된 데이터는 상기 영상의 상기 선택된 적어도 하나의 행 또는 열에서 색상으로 표현되는, 컴퓨터 판독가능 저장 매체.
A computer-readable storage medium having computer-executable instructions for inserting data into an image comprising a plurality of frames, wherein each of the plurality of frames comprises a plurality of rows and a plurality of columns, Wherein the column comprises a plurality of pixels and, when the computer-executable instructions are executed,
Encoding the data using a color of a pixel;
Selecting at least one frame among the plurality of frames of the image;
Selecting at least one row or column of the plurality of rows and the plurality of columns;
Dividing the encoded data into the selected at least one row or column on the selected at least one frame and combining the encoded data with the image;
Encoding the combined data; And
An operation of transmitting the encoded video over a network
, ≪ / RTI >
Wherein the act of selecting the at least one row or column includes selecting a different row or column for each selected frame,
Wherein the encoded data is represented in color in the selected at least one row or column of the image.
제7항에 따라 전송된 영상으로부터 데이터를 판독하기 위한 영상 판독 장치로서,
상기 복수의 행 및 복수의 열 중 상기 데이터가 포함된 적어도 하나의 행 또는 열을 선택하도록 구성되는 행열 선택부;
상기 영상 판독 장치의 행열 선택부에 의해 선택된 적어도 하나의 행 또는 열의 각 픽셀의 색상에 기초하여 디코딩을 수행하도록 구성되는 데이터 디코더; 및
상기 디코딩에 기초하여 데이터를 복원하도록 구성되는 데이터 복원부
를 포함하는 영상 판독 장치.
8. An image reading apparatus for reading data from an image transmitted according to claim 7,
A matrix selecting unit configured to select at least one row or column including the data among the plurality of rows and the plurality of columns;
A data decoder configured to perform decoding based on a hue of each pixel of at least one row or column selected by the matrix selector of the image reading apparatus; And
And a data restoring unit configured to recover data based on the decoding,
And an image reading device.
제12항에 있어서,
상기 영상 판독 장치의 행열 선택부는 상기 영상으로부터 데이터가 삽입된 행 또는 열에 대한 정보를 검출하고, 검출된 정보로부터 적어도 하나의 행 또는 열을 선택하도록 더 구성되는, 영상 판독 장치.
13. The method of claim 12,
Wherein the matrix selecting unit of the image reading apparatus is further configured to detect information on a row or column in which data is inserted from the image and to select at least one row or column from the detected information.
KR1020140077587A 2014-06-24 2014-06-24 Apparatus and method for inserting data into video and apparatus and method for extracting data from such video KR101624196B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140077587A KR101624196B1 (en) 2014-06-24 2014-06-24 Apparatus and method for inserting data into video and apparatus and method for extracting data from such video

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140077587A KR101624196B1 (en) 2014-06-24 2014-06-24 Apparatus and method for inserting data into video and apparatus and method for extracting data from such video

Publications (2)

Publication Number Publication Date
KR20160000338A KR20160000338A (en) 2016-01-04
KR101624196B1 true KR101624196B1 (en) 2016-05-25

Family

ID=55164251

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140077587A KR101624196B1 (en) 2014-06-24 2014-06-24 Apparatus and method for inserting data into video and apparatus and method for extracting data from such video

Country Status (1)

Country Link
KR (1) KR101624196B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020113229A1 (en) * 2018-11-30 2020-06-04 Warner Bros. Entertainment Inc. Partial frame replacement enabling multiple versions in an integrated video package

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102444915B1 (en) * 2021-12-15 2022-09-19 주식회사 페이스테그 Image information management method using facial feature vectors, Image information management apparatus, and computer program therefor

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020113229A1 (en) * 2018-11-30 2020-06-04 Warner Bros. Entertainment Inc. Partial frame replacement enabling multiple versions in an integrated video package
US11863818B2 (en) 2018-11-30 2024-01-02 Warner Bros. Entertainment Inc. Partial frame replacement enabling multiple versions in an integrated video package

Also Published As

Publication number Publication date
KR20160000338A (en) 2016-01-04

Similar Documents

Publication Publication Date Title
AU2020201708B2 (en) Techniques for encoding, decoding and representing high dynamic range images
US8891939B2 (en) Systems and methods for video-aware screen capture and compression
US8115708B2 (en) System and method for the prevention of display burn-in
US20150156557A1 (en) Display apparatus, method of displaying image thereof, and computer-readable recording medium
TWI699111B (en) Midpoint prediction error diffusion for display stream compression
TW201710883A (en) Low latency screen mirroring
US20130182767A1 (en) Identifying a key frame from a video sequence
EP3051488A1 (en) A method and apparatus for inverse-tone mapping a picture
US20160227235A1 (en) Wireless bandwidth reduction in an encoder
US10250900B2 (en) Systems and methods for embedding metadata into video contents
JP2016518771A5 (en)
US9230173B2 (en) Soft decision making processes for analyzing images
KR101624196B1 (en) Apparatus and method for inserting data into video and apparatus and method for extracting data from such video
KR102273141B1 (en) System for cloud streaming service, method of cloud streaming service using still image compression technique and apparatus for the same
US8648870B1 (en) Method and apparatus for performing frame buffer rendering of rich internet content on display devices
TWI505717B (en) Joint scalar embedded graphics coding for color images
CN111836054B (en) Video anti-piracy method, electronic device and computer readable storage medium
US8537892B2 (en) Detection of double video compression using first digit based statistics
US20230336704A1 (en) V3c video component track alternatives
US20140153822A1 (en) Color component predictive method for image coding
US20140254664A1 (en) Methods to perform intra prediction for compression of cfa data
WO2018120230A1 (en) Image filtering method, apparatus and device
Khalaf et al. Segmenting and hiding data randomly based on index channel
US10271059B2 (en) Decoder, decoding system including the decoder and method of operating the decoder
KR20130107538A (en) Method and apparatus to inserting and extracting secret information of image data

Legal Events

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