2017년 11월 19일 일요일

Compiler 관련

Compiler: LX51

Segment
Prefix
Memory
Class
Description
?BA?DATABit-addressable data in internal data memory
?BI?BITBit data in internal data memory
?CO?CONSTConstant data in program memory
?DT?DATADATA memory
?FC?HCONSTFar constant data in program memory
?FD?HDATAHDATA memory for far variables
?ID?IDATAIDATA memory
?PD?XDATAPaged data in XDATA memory
?PR?CODEExecutable program code
?PR?ECODEExecutable program code in far memory
?XD?XDATAXDATA memory

Example
    - PDATA (first 256 bytes of XDATA)
    - Link

.m51 file

ACTIVE MEMORY CLASSES OF MODULE:  SERDES_CTL_SW_NIOCAM_RELIABILITY_UART_PROGRAM_171114.OMF.CRBUILD (EXTINT)

BASE        START       END         USED      MEMORY CLASS
LX51 LINKER/LOCATER V4.66.30.0                         11/20/2017  10:47:23  PAGE 2
==========================================================
C:000000H   C:000000H   C:003FFEH   00111CH   CODE
C:000000H   C:000000H   C:003FFEH   000E3CH   CONST
C:000000H   C:000000H   C:003FFEH             ECODE

B00:0000H   C:000000H   C:003FFEH             HCONST

X:000000H   X:000000H   X:0007FFH   0000C1H   XDATA
X:000000H   X:000000H   X:0007FFH             HDATA

I:000020H.0 I:000020H.0 I:00002FH.7 000000H.5 BIT
I:000000H   I:000000H   I:00007FH   000032H   DATA
I:000000H   I:000000H   I:0000FFH   000001H   IDATA

CODE: 111C hex를 사용 4380 byte
CONST: E3C hex를 사용 3644 byte
XDATA: C1 hex 를 사용 193 byte

XDATA는 내가 직접 선언해서 쓸 수 있다(directly)

그 외의
DATA 는 모두 Internal DATA(Internal RAM) 으로 각 심볼마다 어떤 
메모리를 사용했는지 알 수 있다.

2017년 11월 18일 토요일

Color space and bits per pixel

Color model name describes the video color representation. YIQ was used in NTSC television. It corresponds closely to the YUV scheme used in NTSC and PAL television and the YDbDr scheme used by SECAM television.
색상 모델 이름은 비디오 색상 표현을 설명합니다. YIQ는 NTSC 텔레비전에서 사용되었습니다. NTSC 및 PAL TV에서 사용되는 YUV 체계 및 SECAM 텔레비전에서 사용되는 YDbDr 체계와 밀접하게 일치합니다.

The number of distinct colors a pixel can represent depends on the number of bits per pixel (bpp). A common way to reduce the amount of data required in digital video is by chroma subsampling (e.g., 4:4:4, 4:2:2, 4:2:0/4:1:1). Because the human eye is less sensitive to details in color than brightness, the luminance data for all pixels is maintained, while the chrominance data is averaged for a number of pixels in a block and that same value is used for all of them. For example, this results in a 50% reduction in chrominance data using 2 pixel blocks (4:2:2) or 75% using 4 pixel blocks(4:2:0). This process does not reduce the number of possible color values that can be displayed, it reduces the number of distinct points at which the color changes.
픽셀이 표현할 수있는 고유 한 색상의 수는 픽셀 당 비트 수 (bpp)에 따라 다릅니다. 디지털 비디오에 필요한 데이터의 양을 줄이는 일반적인 방법은 크로마 하위 샘플링 (예 : 4 : 4 : 4, 4 : 2 : 2, 4 : 2 : 0/4 : 1 : 1)입니다. 인간의 눈은 밝기보다 색의 디테일에 덜 민감하기 때문에 모든 픽셀의 휘도 데이터가 유지되고 블록의 픽셀 수에 대해 색차 데이터가 평균화되고 모든 값에 동일한 값이 사용됩니다. 예를 들어, 2 픽셀 블록 (4 : 2 : 2) 또는 4 픽셀 블록 (4 : 2 : 0)을 사용하는 75 %를 사용하여 색차 데이터를 50 % 감소시킵니다. 이 프로세스는 표시 할 수있는 가능한 색상 값의 수를 줄이지 않으며 색상이 변하는 고유 한 포인트의 수를 줄입니다.

NTSC: YIQ
NTSC, PAL: YUV
SECAM: YDbDr

Terminology
Chroma: 채도
luminance: 휘도
-> 일정한 범위를 가진 광원(光源)의 광도(光度)를, 그 광원의 면적으로 나눈 양. 그 자체가 발광하고 있는 광원뿐만 아니라, 조명되어 빛나는 2차적인 광원에 대해서도 밝기를 나타내는 양으로 쓴다.
다만 이와 같은 정의는 광원의 면과 수직인 방향에서 관찰했을 때의 휘도이고, 광원의 면을 비스듬한 방향에서 본 경우는 그 방향에서 본 겉보기의 면적으로 나눈다.
YUV:


The Components of Color
Hue, Chroma, Value, Temperature
Link

Chroma subsampling
Link

YUV: Link
Y: luminance(휘도, 광원의 단위 면적당 밝기의 정도)
UV: chrominance(색차, 임의의 색과 그 색과 같은 휘도를 가진 기준색과의 차로, 색차 신호로서 얻어진다.)
 -> U = B′ − Y′ (blue − luma).
 -> V = R′ − Y′ (red − luma).

YCbCr: Link
Y: 휘도 성분
Cb: 색차 성분
Cr: 색차 성분
RGB 정보를 인코딩 하는 방식


참조 Why YUV is preferred over RGB

YCbCr is a consumer video format and this is the way HD is encoded. RGB is the traditional computer format. One is not superior to the other because each has it's own strengths and weaknesses.
CbCr은 소비자 비디오 형식이며 이것이 HD가 인코딩되는 방식입니다. RGB는 전통적인 컴퓨터 형식입니다. 하나는 자기 자신의 강점과 약점을 가지고 있기 때문에 다른 하나보다 우월하지 않습니다.

YCbCr is preferred because it is the native format. However many displays (almost all DVI inputs) only except RGB. If your display is HDMI it will likely except YCbCr if not switch to RGB. Auto should use YCbCr whenever possible. YCbCr is the digital counterpart to analog YPbPr component video. (YCbCr converted to analog is YPbPr). Digital RGB converted to analog is usually referred to as VGA. SD and HD DVDs are encoded in 8bit YCbCr 4:2:0. After/during decoding it's upsampled to YCbCr 4:2:2. If RGB output is required the YCbCr is upsampled again to 4:4:4 (sometimes done only once 4:2:0 -> 4:4:4) and a standard and simple transform converts to RGB 4:4:4. If done properly, you'll never notice the difference between the two. The advantage of YCbCr 4:2:2 is that it can be sent as 10bit (or 12bit) video via HDMI (all versions). RGB 4:4:4 is restricted to 8bit (except for the new deep color formats). However, if your display takes 8bit video and then upsamples to 10bit or higher for display, you may only need 8bit video. RGB is also the only format used with DVI(with a few exceptions).
YCbCr이 기본 형식이기 때문에 YCbCr이 좋습니다. 그러나 RGB를 제외한 많은 디스플레이 (거의 모든 DVI 입력). 디스플레이가 HDMI 인 경우 RGB로 전환하지 않으면 YCbCr을 제외 할 가능성이 높습니다. 가능한 경우 자동으로 YCbCr을 사용해야합니다. YCbCr은 아날로그 YPbPr 컴포넌트 비디오의 디지털 대응 물입니다. (아날로그로 변환 된 YCbCr은 YPbPr 임). 아날로그로 변환 된 디지털 RGB는 일반적으로 VGA라고합니다. SD 및 HD DVD는 8 비트 YCbCr 4 : 2 : 0으로 인코딩됩니다. 디코딩 중 / 디코딩 중 YCbCr 4 : 2 : 2로 업 샘플링됩니다. RGB 출력이 필요한 경우 YCbCr은 다시 4 : 4 : 4로 업 샘플링되며 (때때로 4 : 2 : 0 -> 4 : 4 : 4 한 번만 수행됨) 표준 및 단순 변환이 RGB 4 : 4 : 4로 변환됩니다. 제대로 완료되면 두 가지의 차이를 알 수 없습니다. YCbCr 4 : 2 : 2의 이점은 HDMI (모든 버전)를 통해 10 비트 (또는 12 비트) 비디오로 전송 될 수 있다는 것입니다. RGB 4 : 4 : 4는 8 비트로 제한됩니다 (새로운 짙은 색상 형식 제외). 그러나 디스플레이가 8 비트 비디오를 취한 다음 디스플레이를 위해 10 비트 이상으로 업 샘플링하면 8 비트 비디오 만 필요할 수 있습니다. RGB는 DVI와 함께 사용되는 유일한 형식이기도합니다 (몇 가지 예외가 있음).

YUV is a color spacetypically used as part of a color image pipeline.It encodes a color image or video taking human perception into account, allowing reduced bandwidth for chrominance components, thereby typically enabling transmission errors or compression artifacts to be more efficiently masked by the human perception than using a "direct"RGB-representation. Other color spaces have similar properties, and the main reason to implement or investigate properties of Y'UV would be for interfacing with analog or digital television or photographic equipment that conforms to certain Y'UV standards.
YUV는 컬러 이미지 파이프 라인의 일부로 공간적으로 사용되는 컬러입니다. 이는 인간의 인식을 고려한 컬러 이미지 또는 비디오를 인코딩하므로 크로 미 넌스 구성 요소의 대역폭이 줄어들어 일반적으로 전송 오류 또는 압축 아티팩트가 인간에 의해보다 효율적으로 가려집니다 "직접적인"RGB 표현을 사용하는 것보다 다른 색 공간은 유사한 속성을 가지고 있으며 Y'UV의 속성을 구현하거나 조사하는 주요 이유는 특정 Y'UV 표준을 준수하는 아날로그 또는 디지털 TV 또는 사진 장비와 인터페이스하기위한 것입니다.

The scope of the terms Y'UV, YUV, YCbCr ,YPbPr , etc., is sometimes ambiguous andoverlapping. Historically, the terms YUV and Y'UV were used for a specific analog encoding of color information in television systems, while YCbCr was used for digital encoding of color information suited for video and still-image compression and transmission such as MPEG and JPEG. Today, the term YUV is commonly used in the computer industry to describe file-formats that are encoded using YCbCr. The Y'UV model defines a color space in terms of one luma(Y') and two chrominance (UV) components. The Y'UV color model is used in the PAL and SECAM composite color video standards. Previous black-and-white systems used only luma (Y')information. Color information (U and V) was added separately via a sub-carrier  so that a black-and-white receiver would still be able to receive and display a color picture transmission in the receiver's native  black-and-white format. Y' stands for the luma component (the brightness) and U and V are the chrominance (color) components; luminance is denoted by Y and luma by Y' – the prime symbols (')denote gamma compression, with "luminance" meaning perceptual (color science) brightness, while "luma" is electronic (voltage of display) brightness
용어 Y'UV, YUV, YCbCr, YPbPr 등의 범위는 때로는 모호하고 중복됩니다. 역사적으로, YUV 및 Y'UV는 텔레비전 시스템에서 컬러 정보의 특정 아날로그 인코딩에 사용되었고, YCbCr은 비디오 및 MPEG 및 JPEG와 같은 정지 이미지 압축 및 전송에 적합한 컬러 정보의 디지털 인코딩에 사용되었습니다. 오늘날 YUV라는 용어는 YCbCr을 사용하여 인코딩 된 파일 형식을 설명하기 위해 컴퓨터 업계에서 일반적으로 사용됩니다. Y'UV 모델은 하나의 휘도 (Y ') 및 2 개의 색차 (UV) 성분으로 색 공간을 정의합니다. Y'UV 컬러 모델은 PAL 및 SECAM 합성 컬러 비디오 표준에 사용됩니다. 이전의 흑백 시스템은 루마 (Y ') 정보 만 사용했습니다. 컬러 정보 (U 및 V)는 서브 캐리어를 통해 개별적으로 추가되어, 흑백 수신기는 여전히 수신기의 네이티브 흑백 포맷의 컬러 화상 전송을 수신하고 디스플레이 할 수있게된다. Y '는 휘도 성분 (밝기)을 나타내고 U 및 V는 색차 성분 (색)을 나타냅니다. 

휘도는 Y로 표시하고"휘도"는 지각 (색 과학) 밝기를 의미,
luma는 Y '로 표시 - 프라임 기호 (')는 감마 압축을 나타내며, "루마"는 전자 (표시의 전압) 밝기

Video

Video is an electronic medium for the recording, copying, playback, broadcasting, and display of moving visual media.[1]
비디오는 움직이는 영상 매체의 녹화, 복사, 재생, 방송 및 표시를위한 전자 매체입니다. [1]

Video was first developed for mechanical television systems, which were quickly replaced by cathode ray tube (CRT) systems which were later replaced by flat panel displays of several types.
비디오는 기계식 TV 시스템 용으로 처음 개발되었으며, 나중에 CRT (Cathode Ray Tube) 시스템으로 대체되었으며 나중에 여러 유형의 평면 패널 디스플레이로 대체되었습니다.

Video systems vary in display resolution, aspect ratio, refresh rate, color capabilities and other qualities. Analog and digital variants exist and can be carried on a variety of media, including radio broadcast, magnetic tape, optical discs, computer files, and network streaming.
비디오 시스템은 디스플레이 해상도(resolution), 종횡비(aspect ratio), 주사율(refresh rate), 색상 기능(color capabilities) 및 기타 품질이 다릅니다. 아날로그 및 디지털 변형이 존재하며 라디오 방송, 자기 테이프, 광학 디스크, 컴퓨터 파일 및 네트워크 스트리밍을 비롯한 다양한 미디어에서 수행 할 수 있습니다.

History
Video technology was first developed for mechanical television systems, which were quickly replaced by cathode ray tube (CRT) television systems, but several new technologies for video display devices have since been invented. Video was originally exclusively a live technology. Charles Ginsburg led an Ampex research team developing one of the first practical video tape recorder (VTR). In 1951 the first video tape recorder captured live images from television cameras by converting the camera's electrical impulses and saving the information onto magnetic video tape.
비디오 기술은 처음에는 음극선 관 (CRT) 텔레비전 시스템으로 빠르게 대체 된 기계식 텔레비전 시스템 용으로 개발되었지만 이후 비디오 디스플레이 장치 용 몇 가지 신기술이 발명되었습니다. 비디오는 원래 독점적으로 라이브 기술이었습니다. Charles Ginsburg는 최초의 실용적인 비디오 테이프 레코더 (VTR) 중 하나를 개발하는 Ampex 연구 팀을 이끌었습니다. 1951 년 최초의 비디오 테이프 레코더는 카메라의 전기 충격을 변환하고 정보를 자기 비디오 테이프에 저장함으로써 텔레비전 카메라의 라이브 이미지를 캡처했습니다.

Video recorders were sold for US $50,000 in 1956, and videotapes cost US $300 per one-hour reel.[2] However, prices gradually dropped over the years; in 1971, Sony began selling videocassette recorder (VCR) decks and tapes into the consumer market.[3]
비디오 레코더는 1956 년에 5 만 달러에 판매되었으며 비디오 테이프는 1 시간짜리 릴당 300 달러를 소비했습니다. [2] 그러나 가격은 점차 하락했습니다.. Sony는 1971 년 VCR (비디오 카세트 레코더) 데크와 테이프를 소비자 시장에 판매하기 시작했습니다.

The use of digital techniques in video created digital video, which allows higher quality and, eventually, much lower cost than earlier analog technology. After the invention of the DVD in 1997 and Blu-ray Disc in 2006, sales of videotape and recording equipment plummeted. Advances in computer technology allows even inexpensive personal computers and smartphones to capture, store, edit and transmit digital video, further reducing the cost of video production, allowing program-makers and broadcasters to move to tapeless production. The advent of digital broadcasting and the subsequent digital television transition is in the process of relegating analog video to the status of a legacy technology in most parts of the world. As of 2015, with the increasing use of high-resolution video cameras with improved dynamic range and color gamuts, and high-dynamic-range digital intermediate data formats with improved color depth, modern digital video technology is converging with digital film technology.
비디오에서 디지털 기술을 사용하여 디지털 비디오를 만들었으므로 이전 아날로그 기술보다 높은 품질과 궁극적으로 훨씬 저렴한 비용이 가능합니다. 1997 년 DVD 및 2006 년 Blu-ray Disc가 발명 된 후 비디오 테이프 및 녹화 장비 판매가 급감했습니다. 컴퓨터 기술의 발달로 저가의 개인용 컴퓨터와 스마트 폰도 디지털 비디오를 캡처, 저장, 편집 및 전송할 수 있으므로 비디오 제작 비용이 추가로 절감되어 프로그램 제작자와 방송사가 테이프리스 제작으로 이동할 수 있습니다. 디지털 방송의 출현과 그 이후의 디지털 TV 전환은 아날로그 비디오를 세계의 대부분 지역의 레거시 기술 상태로 이관하는 과정에 있습니다. 2015 년에 향상된 동적 범위와 색상 영역을 가진 고해상도 비디오 카메라와 향상된 색상 깊이를 가진 높은 동적 범위 디지털 중간 데이터 형식의 사용이 증가함에 따라 최신 디지털 비디오 기술은 디지털 필름 기술로 수렴하고 있습니다.

Characteristics of video streams

Number of frames per second
Frame rate, the number of still pictures per unit of time of video, ranges from six or eight frames per second (frame/s) for old mechanical cameras to 120 or more frames per second for new professional cameras. PAL standards (Europe, Asia, Australia, etc.) and SECAM (France, Russia, parts of Africa etc.) specify 25 frame/s, while NTSC standards (USA, Canada, Japan, etc.) specify 29.97 frame/s.[4] Film is shot at the slower frame rate of 24 frames per second, which slightly complicates the process of transferring a cinematic motion picture to video. The minimum frame rate to achieve a comfortable illusion of a moving image is about sixteen frames per second.[5]
비디오의 단위 시간당 스틸 사진의 수인 프레임 속도는 새로운 전문 카메라의 경우 기존 기계식 카메라의 경우 초당 6 또는 8 프레임 (프레임 / 초)에서 초당 120 프레임 이상까지 다양합니다. NTSC 표준 (미국, 캐나다, 일본 등)이 29.97 프레임 / 초를 지정하는 반면 PAL 표준 (유럽, 아시아, 호주 등) 및 SECAM (프랑스, 러시아, 아프리카 일부 등)은 25 프레임 / 초를 지정합니다. [4] 필름은 초당 24 프레임의 느린 프레임 속도로 촬영되므로 동영상 동영상을 비디오로 전송하는 과정이 약간 복잡해집니다. 움직이는 이미지를 편안하게 표현하기위한 최소 프레임 속도는 초당 약 16 프레임입니다. [5]

Interlaced vs progressive
Video can be interlaced or progressive. Interlacing was invented as a way to reduce flicker in early mechanical and CRT video displays without increasing the number of complete frames per second, which would have sacrificed image detail to remain within the limitations of a narrow channel bandwidth. The horizontal scan lines of each complete frame are treated as if numbered consecutively, and captured as two fields: an odd field (upper field) consisting of the odd-numbered lines and an even field (lower field) consisting of the even-numbered lines. Analog display devices reproduce each frame in the same way, effectively doubling the frame rate as far as perceptible overall flicker is concerned. When the image capture device acquires the fields one at a time, rather than dividing up a complete frame after it is captured, the frame rate for motion is effectively doubled as well, resulting in smoother, more lifelike reproduction of rapidly moving parts of the image when viewed on an interlaced CRT display.
비디오는 인터레이스 또는 프로그레시브 일 수 있습니다. 인터레이스는 초당 전체 프레임 수를 늘리지 않고 초기 기계 및 CRT 비디오 디스플레이의 깜박 거림을 줄이는 방법으로 개발되었으므로 좁은 채널 대역폭의 한계 내에서 이미지 세부 사항을 유지할 수 있습니다. 각각의 완전한 프레임의 수평 주사선은 연속적으로 번호가 매겨진 것처럼 다루어지며, 홀수 번째 라인으로 구성된 홀수 필드 (윗 필드)와 짝수 번째 라인으로 구성된 짝수 필드 (아래 필드)의 두 필드로 캡처됩니다. . 아날로그 디스플레이 장치는 각 프레임을 동일한 방식으로 재생하므로 인식 할 수있는 전체 깜박임에 관해서는 프레임 속도를 효과적으로 배가시킵니다. 인터레이스 CRT 디스플레이에서 볼 때,이미지 캡처 장치가 필드를 한 번에 하나씩 가져 오면 캡처 한 후 전체 프레임을 분할하지 않고 모션의 프레임 속도를 효과적으로 두 배로 늘리면 이미지의 빠르게 움직이는 부분을 더 부드럽고 사실처럼 재현합니다

NTSC, PAL and SECAM are interlaced formats. Abbreviated video resolution specifications often include an i to indicate interlacing. For example, PAL video format is often described as 576i50, where 576 indicates the total number of horizontal scan lines, i indicates interlacing, and 50 indicates 50 fields (half-frames) per second.
NTSC, PAL 및 SECAM은 인터레이스 형식입니다. 약식 비디오 해상도 사양에는 종종 인터레이스를 나타내는 i가 포함됩니다. 예를 들어, PAL 비디오 형식은 종종 576i50으로 설명되며, 576은 총 수평 주사선 수, i는 인터레이스, 50은 초당 50 필드 (1/2 프레임)를 나타냅니다.

In progressive scan systems, each refresh period updates all scan lines in each frame in sequence. When displaying a natively progressive broadcast or recorded signal, the result is optimum spatial resolution of both the stationary and moving parts of the image.
프로그레시브 스캔 시스템에서, 각 리프레시주기는 각 프레임의 모든 스캔 라인을 순서대로 업데이트합니다. 네이티브 프로그레시브 방송이나 녹화 된 신호를 표시 할 때 결과는 정지 영상과 움직이는 부분의 최적 공간 해상도입니다.

When displaying a natively interlaced signal on a progressive scan device, overall spatial resolution is degraded by simple line doubling—artifacts such as flickering or "comb" effects in moving parts of the image which appear unless special signal processing eliminates them. A procedure known as deinterlacing can optimize the display of an interlaced video signal from an analog, DVD or satellite source on a progressive scan device such as an LCD television, digital video projector or plasma panel. Deinterlacing cannot, however, produce video quality that is equivalent to true progressive scan source material.
프로그레시브 스캔 장치에 네이티브 인터레이스 신호를 표시 할 때 특수 신호 처리로 인해 이미지가 제거되지 않으면 나타나는 이미지의 움직이는 부분의 깜박임이나 "빗"효과와 같은 단순한 라인 증감 - 아티팩트로 전반적인 공간 해상도가 저하됩니다. 디인터레이싱으로 알려진 절차는 LCD TV, 디지털 비디오 프로젝터 또는 플라즈마 패널과 같은 프로그레시브 스캔 장치에서 아날로그, DVD 또는 위성 소스의 인터레이스 비디오 신호 디스플레이를 최적화 할 수 있습니다. 그러나 디인터레이싱은 진정한 프로그레시브 스캔 소스 자료와 동일한 비디오 품질을 생성 할 수 없습니다.

Aspect ratio
Aspect ratio describes the dimensions of video screens and video picture elements. All popular video formats are rectilinear, and so can be described by a ratio between width and height. The screen aspect ratio of a traditional television screen is 4:3, or about 1.33:1. High definition televisions use an aspect ratio of 16:9, or about 1.78:1. The aspect ratio of a full 35 mm film frame with soundtrack (also known as the Academy ratio) is 1.375:1.
화면 비율은 비디오 화면과 비디오 그림 요소의 크기를 나타냅니다. 모든 인기있는 비디오 포맷은 직선형이므로 폭과 높이의 비율로 설명 할 수 있습니다. 기존의 TV 화면의 화면 종횡비는 4 : 3 또는 약 1.33 : 1입니다. 고화질 TV는 종횡비가 16 : 9 또는 약 1.78 : 1입니다. 사운드 트랙 (아카데미 비율이라고도 함)이있는 전체 35mm 필름 프레임의 종횡비는 1.375 : 1입니다.

Pixels on computer monitors are usually square, but pixels used in digital video often have non-square aspect ratios, such as those used in the PAL and NTSC variants of the CCIR 601 digital video standard, and the corresponding anamorphic widescreen formats. Therefore, a 720 by 480 pixel NTSC DV image displayes with the 4:3 aspect ratio (the traditional television standard) if the pixels are thin, and displays at the 16:9 aspect ratio (the anamorphic widescreen format) if the pixels are fat.
컴퓨터 모니터의 픽셀은 일반적으로 사각형이지만 디지털 비디오에 사용되는 픽셀은 CCIR 601 디지털 비디오 표준의 PAL 및 NTSC 변형과 해당 아나모픽 와이드 스크린 형식에서 사용되는 것과 같이 정사각형이 아닌 비례 비율을 사용하는 경우가 많습니다. 따라서 720 x 480 픽셀 NTSC DV 이미지는 픽셀이 얇은 경우 4 : 3 종횡비 (일반 TV 표준)로 표시되고 픽셀이 뚱뚱한 경우 16 : 9 종횡비 (아나모픽 와이드 스크린 형식)로 표시됩니다 .

The popularity of viewing video on mobile phones has led to the growth of vertical video. Mary Meeker, a partner at Silicon Valley venture capital firm Kleiner Perkins Caufield & Byers, highlighted the growth of vertical video viewing in her 2015 Internet Trends Report – growing from 5% of video viewing in 2010 to 29% in 2015. Vertical video ads like Snapchat’s are watched in their entirety 9X more than landscape video ads.[6] The format was rapidly taken up by leading social platforms and media publishers such as Mashable[7] In October 2015 video platform Grabyo launched technology to help video publishers adapt horizotonal 16:9 video into mobile formats such as vertical and square.[8]
휴대 전화에서 동영상을 시청하는 인기로 인해 수직 동영상이 증가했습니다. 실리콘 밸리 벤처 캐피털 회사 인 Kleiner Perkins Caufield & Byers의 파트너 인 Mary Meeker는 2015 년 인터넷 동향 보고서에서 수직 비디오 시청의 성장을 강조했습니다. 2010 년 비디오 시청의 5 %에서 2015 년 29 %로 증가했습니다. Snapchat은 풍경 비디오 광고보다 9 배 더 많이 시청됩니다. [6] 형식은 Mashable과 같은 주요 소셜 플랫폼 및 미디어 게시자에 의해 빠르게 채택되었습니다. [10] 2015 년 10 월 비디오 플랫폼 Grabyo는 비디오 게시자가 수평 및 정사각형과 같은 모바일 형식에 수평 적 16 : 9 비디오를 적응시키는 기술을 선보였습니다.

Color space and bits per pixel
Color model name describes the video color representation. YIQ was used in NTSC television. It corresponds closely to the YUV scheme used in NTSC and PAL television and the YDbDr scheme used by SECAM television.
색상 모델 이름은 비디오 색상 표현을 설명합니다. YIQ는 NTSC 텔레비전에서 사용되었습니다. NTSC 및 PAL TV에서 사용되는 YUV 체계 및 SECAM 텔레비전에서 사용되는 YDbDr 체계와 밀접하게 일치합니다.

The number of distinct colors a pixel can represent depends on the number of bits per pixel (bpp). A common way to reduce the amount of data required in digital video is by chroma subsampling (e.g., 4:4:4, 4:2:2, 4:2:0/4:1:1). Because the human eye is less sensitive to details in color than brightness, the luminance data for all pixels is maintained, while the chrominance data is averaged for a number of pixels in a block and that same value is used for all of them. For example, this results in a 50% reduction in chrominance data using 2 pixel blocks (4:2:2) or 75% using 4 pixel blocks(4:2:0). This process does not reduce the number of possible color values that can be displayed, it reduces the number of distinct points at which the color changes.
픽셀이 표현할 수있는 고유 한 색상의 수는 픽셀 당 비트 수 (bpp)에 따라 다릅니다. 디지털 비디오에 필요한 데이터의 양을 줄이는 일반적인 방법은 크로마 하위 샘플링 (예 : 4 : 4 : 4, 4 : 2 : 2, 4 : 2 : 0/4 : 1 : 1)입니다. 인간의 눈은 밝기보다 색의 디테일에 덜 민감하기 때문에 모든 픽셀의 휘도 데이터가 유지되고 블록의 픽셀 수에 대해 색차 데이터가 평균화되고 모든 값이 동일한 값으로 사용됩니다. 예를 들어, 2 픽셀 블록 (4 : 2 : 2) 또는 4 픽셀 블록 (4 : 2 : 0)을 사용하는 75 %를 사용하여 색차 데이터를 50 % 줄입니다. 이 프로세스는 표시 할 수있는 가능한 색상 값의 수를 줄이지 않으며 색상이 변하는 고유 한 포인트의 수를 줄입니다.

Video quality

Video quality can be measured with formal metrics like PSNR or with subjective video quality using expert observation.
비디오 품질은 PSNR과 같은 공식 통계 또는 전문가 관찰을 통한 주관적인 비디오 품질로 측정 할 수 있습니다.

The subjective video quality of a video processing system is evaluated as follows:
비디오 처리 시스템의 주관적인 비디오 품질은 다음과 같이 평가됩니다.

Choose the video sequences (the SRC) to use for testing.
Choose the settings of the system to evaluate (the HRC).
Choose a test method for how to present video sequences to experts and to collect their ratings.
Invite a sufficient number of experts, preferably not fewer than 15.
Carry out testing.
Calculate the average marks for each HRC based on the experts' ratings.
Many subjective video quality methods are described in the ITU-T recommendation BT.500. One of the standardized method is the Double Stimulus Impairment Scale (DSIS). In DSIS, each expert views an unimpaired reference video followed by an impaired version of the same video. The expert then rates the impaired video using a scale ranging from "impairments are imperceptible" to "impairments are very annoying".

테스트에 사용할 비디오 시퀀스 (SRC)를 선택하십시오.
평가할 시스템의 설정을 선택하십시오 (HRC).
전문가에게 비디오 시퀀스를 표시하고 등급을 수집하는 방법에 대한 테스트 방법을 선택하십시오.
충분한 수의 전문가를 초빙하십시오.
테스트를 수행하십시오.
전문가 등급에 따라 각 HRC의 평균 점수를 계산하십시오.
많은 주관적인 비디오 품질 방법은 ITU-T 권고 BT.500에 기술되어있다. 표준화 된 방법 중 하나는 Double Stimulus Impairment Scale (DSIS)입니다. DSIS에서 각 전문가는 손상되지 않은 참조 비디오와 손상되지 않은 비디오를 봅니다. 그런 다음 전문가는 "손상이인지 할 수 없음"에서 "손상이 매우 성가심"까지의 범위를 사용하여 손상된 비디오에 등급을 매 깁니다.

Video compression method (digital only)
Uncompressed video delivers maximum quality, but with a very high data rate. A variety of methods are used to compress video streams, with the most effective ones using a Group Of Pictures (GOP) to reduce spatial and temporal redundancy. Broadly speaking, spatial redundancy is reduced by registering differences between parts of a single frame; this task is known as intraframe compression and is closely related to image compression. Likewise, temporal redundancy can be reduced by registering differences between frames; this task is known as interframe compression, including motion compensation and other techniques. The most common modern standards are MPEG-2, used for DVD, Blu-ray and satellite television, and MPEG-4, used for AVCHD, Mobile phones (3GP) and Internet.
비 압축 비디오는 최고 품질이지만 매우 높은 데이터 전송률이 필요합니다. 비디오 스트림을 압축하기 위해 다양한 방법이 사용되며, GOP (Group of Pictures)를 사용하여 공간 및 시간 중복성을 줄이는 가장 효과적인 방법이 사용됩니다. 대체로, 공간 중복성은 단일 프레임의 부분들 사이의 차이점을 등록함으로써 감소됩니다. 이 작업은 인트라 프레임 압축이라고하며 이미지 압축과 밀접한 관련이 있습니다. 마찬가지로, 시간적 중복은 프레임들 간의 차이를 등록함으로써 감소 될 수있다. 이 작업은 모션 보정 및 기타 기술을 포함한 프레임 간 압축이라고합니다. 가장 일반적인 표준은 AVCHD, 휴대폰 (3GP) 및 인터넷에 사용되는 DVD, 블루 레이 및 위성 TV 및 MPEG-4에 사용되는 MPEG-2입니다.

Stereoscopic
Stereoscopic video can be created using several different methods:

Two channels: a right channel for the right eye and a left channel for the left eye. Both channels may be viewed simultaneously by using light-polarizing filters 90 degrees off-axis from each other on two video projectors. These separately polarized channels are viewed wearing eyeglasses with matching polarization filters.
One channel with two overlaid color-coded layers. This left and right layer technique is occasionally used for network broadcast, or recent "anaglyph" releases of 3D movies on DVD. Simple Red/Cyan plastic glasses provide the means to view the images discretely to form a stereoscopic view of the content.
One channel with alternating left and right frames for the corresponding eye, using LCD shutter glasses that read the frame sync from the VGA Display Data Channel to alternately block the image to each eye, so the appropriate eye sees the correct frame. This method is most common in computer virtual reality applications such as in a Cave Automatic Virtual Environment, but reduces effective video framerate to one-half of normal (for example, from 120 Hz to 60 Hz).
Blu-ray Discs greatly improve the sharpness and detail of the two-color 3D effect in color-coded stereo programs. See articles Stereoscopy and 3-D film.
2 개의 채널 : 오른쪽 눈을위한 오른쪽 채널과 왼쪽 눈을위한 왼쪽 채널. 두 채널은 두 개의 비디오 프로젝터에서 서로 90도 축이 아닌 편광 필터를 사용하여 동시에 볼 수 있습니다. 이 개별적으로 편광 된 채널은 일치하는 편광 필터가있는 착용 안경으로 보입니다.
하나의 채널에 2 개의 겹쳐진 색으로 구분 된 레이어가 있습니다. 이 왼쪽 및 오른쪽 레이어 기법은 네트워크 방송이나 DVD의 3D 영화의 최근 "애너 글리프"릴리스에 사용됩니다. 단순한 적색 / 청록색 플라스틱 안경은이 미지를 입체적으로 볼 수있는 수단을 제공합니다.
이미지를 각 눈으로 교대로 차단하기 위해 VGA 디스플레이 데이터 채널에서 프레임 동기화를 읽는 LCD 셔터 글래스를 사용하여 적절한 눈으로 올바른 프레임을 볼 수 있도록 해당 눈에 대해 왼쪽 및 오른쪽 프레임을 번갈아 사용하는 하나의 채널. 이 방법은 동굴 자동 가상 환경에서와 같이 컴퓨터 가상 현실 응용 프로그램에서 가장 일반적이지만 유효 비디오 프레임 속도를 정상의 절반 (예 : 120Hz에서 60Hz)으로 줄입니다.
블루 레이 디스크는 색으로 구분 된 스테레오 프로그램에서 2 색 3D 효과의 선명도와 세부 사항을 크게 향상시킵니다. 스테레오 스코피 (Stereoscopy) 및 3-D 필름을 참조하십시오.

Formats
Different layers of video transmission and storage each provide their own set of formats to choose from.
다양한 비디오 전송 및 저장 계층은 각각 자신이 선택할 수있는 형식 집합을 제공합니다.

For transmission, there is a physical connector and signal protocol ("video connection standard" below). A given physical link can carry certain "display standards" that specify a particular refresh rate, display resolution, and color space.
전송에는 물리적 커넥터 및 신호 프로토콜 (아래 "비디오 연결 표준")이 있습니다. 주어진 물리적 링크는 특정 재생 빈도, 디스플레이 해상도 및 색 공간을 지정하는 특정 "디스플레이 표준"을 전달할 수 있습니다.

Many analog and digital recording formats are in use, and digital video clips can also be stored on a computer file system as files, which have their own formats. In addition to the physical format used by the data storage device or transmission medium, the stream of ones and zeros that is sent must be in a particular digital video compression format, of which a number are available.
많은 아날로그 및 디지털 레코딩 포맷이 사용되고 있으며 디지털 비디오 클립을 파일 형식으로 컴퓨터 파일 시스템에 저장할 수도 있습니다. 데이터 저장 장치 또는 전송 매체에 의해 사용되는 물리적 포맷 이외에, 전송되는 1과 0의 스트림은 특정 디지털 비디오 압축 포맷이어야하며, 그 중 숫자가 이용 가능해야한다.

Analog video
Analog video is a video signal transferred by an analog signal. An analog color video signal contains luminance, brightness (Y) and chrominance (C) of an analog television image. When combined into one channel, it is called composite video as is the case, among others with NTSC, PAL and SECAM.

Analog video may be carried in separate channels, as in two channel S-Video (YC) and multi-channel component video formats.

Analog video is used in both consumer and professional television production applications.
아날로그 비디오는 아날로그 신호로 전송되는 비디오 신호입니다. 아날로그 컬러 비디오 신호는 아날로그 텔레비전 이미지의 휘도, 밝기 (Y) 및 색차 (C)를 포함합니다. 하나의 채널로 합쳐지면 NTSC, PAL 및 SECAM의 경우와 마찬가지로 컴포지트 비디오라고도합니다.

아날로그 비디오는 2 채널 S-Video (YC) 및 다중 채널 컴포넌트 비디오 형식에서와 같이 별도의 채널로 전송 될 수 있습니다.

아날로그 비디오는 소비자 및 전문 TV 프로덕션 응용 프로그램에서 모두 사용됩니다.

Digital video
Digital video signal formats with higher quality have been adopted, including serial digital interface (SDI), Digital Visual Interface (DVI), High-Definition Multimedia Interface (HDMI) and DisplayPort Interface, though analog video interfaces are still used and widely available. There exist different adaptors and variants.
아날로그 비디오 인터페이스가 여전히 사용되고 광범위하게 이용 가능하지만 직렬 디지털 인터페이스 (SDI), DVI (Digital Visual Interface), HDMI (High-Definition Multimedia Interface) 및 DisplayPort 인터페이스를 포함하여 고품질의 디지털 비디오 신호 형식이 채택되었습니다. 다른 어댑터와 변형이 존재합니다.

Transport medium
Video can be transmitted or transported in a variety of ways. Wireless broadcast as an analog or digital signal. Coaxial cable in a closed circuit system can be sent as analog interlaced 1 volt peak to peak with a maximum horizontal line resolution up to 480. Broadcast or studio cameras use a single or dual coaxial cable system using a progressive scan format known as SDI serial digital interface and HD-SDI for High Definition video. The distances of transmission are somewhat limited depending on the manufacturer the format may be proprietary. SDI has a negligible lag and is uncompressed. There are initiatives to use the SDI standards in closed circuit surveillance systems, for Higher Definition images, over longer distances on coax or twisted pair cable. Due to the nature of the higher bandwidth needed, the distance the signal can be effectively sent is a half to a third of what the older interlaced analog systems supported.[9]
비디오는 다양한 방식으로 전송되거나 전송 될 수 있습니다. 아날로그 또는 디지털 신호로 무선 브로드 캐스트. 폐회로 시스템의 동축 케이블은 최대 수평 라인 해상도가 480까지 인 아날로그 인터레이스 1V 피크 - 피크로 전송할 수 있습니다. 방송 또는 스튜디오 카메라는 SDI 직렬 디지털로 알려진 프로그레시브 스캔 형식을 사용하는 단일 또는 이중 동축 케이블 시스템을 사용합니다 인터페이스 및 HD-SDI를 지원합니다. 전송 거리는 제조업체에 따라 다소 제한적이며 형식은 독점적 일 수 있습니다. SDI는 무시할 수있는 지연이 있으며 압축되지 않습니다. SDI 표준을 폐회로 감시 시스템에서 사용하기위한 이니셔티브가 있습니다. 동축 케이블 또는 트위스트 페어 케이블에서 더 긴 거리에서 고화질 이미지를 얻을 수 있습니다. 필요한 더 높은 대역폭의 특성으로 인해 신호가 효과적으로 전송 될 수있는 거리는 이전 인터레이스 아날로그 시스템이 지원하는 것의 1/3이다.
















2017년 11월 17일 금요일

시리얼 통신방법에 대해 알고 싶을 때

시리얼 통신(뿐만아니라 모든 통신)은 표준이 있고, 그 표준은 그 기술을 사용하는 모든 업체에서 쓰고 있다.
그렇기 때문에 Major 업체의 문서(Datasheet)를 보면 이해가 쉬울 때가 많다.

유명한 반도체 회사로는
아트멜
ST마이크로일렉트로닉스
텍사스 인스트루먼트
프리스케일 세미컨덕터
아날로그 디바이시스
마이크로칩 테크날로지

등이 있다. 반도체 회사의 순위는 Link 참조

나의 경우 I2C 통신의 세부 Interrupt 의 동작을 알고 싶었고

필요한 내용을 찾는 순서는

1. atmel 홈페이지(Link)에 들어간다.
2. 제품 페이지(Link)로 들어간다.
3. Serial 통신이므로 Memory 항목의 Serial 페이지(Link)로 들어가면
4. Serial EEPROM - I2C 관련 페이지가 있고 문서(Link) 링크로 가면
5. 다양한 제품의 문서가 있는데 제일 위의 문서를 열고
    1) Device Addressing
    2) Write Operations
    3) Read Operations
부분을 보고 이해하면 된다.





2017년 11월 16일 목요일

Camera interface

The CAMIF, also the Camera Interface block is the hardware block that interfaces with different image sensor interfaces and provides a standard output that can be used for subsequent image processing.

A typical Camera Interface would support at least a parallel interface although these days many camera interfaces are beginning to support the MIPI CSI interface.

The camera interface's parallel interface consists of the following lines :-

8 to 12 bits parallel data line

These are parallel data lines that carry pixel data. The data transmitted on these lines change with every Pixel Clock (PCLK).

Horizontal Sync (HSYNC)
This is a special signal that goes from the camera sensor or ISP to the camera interface. An HSYNC indicates that one line of the frame is transmitted.

Vertical Sync (VSYNC)
This signal is transmitted after the entire frame is transferred. This signal is often a way to indicate that one entire frame is transmitted.

Pixel Clock (PCLK)
This is the pixel clock and it would change on every pixel.
NOTE: The above lines are all treated as input lines to the Camera Interface hardware.

Example
Let us suppose that a sensor is transmitting a VGA frame 640x480. The video frame is of a format RGB888. Let's assume that we have a camera sensor transmitting 8 bits per pixel clock (PCLK). This means to transfer one pixel of data, 3 PCLKs would be required. The HSYNC would be fired by the sensor after every 640 x 3, 1920 PCLKs. A VSYNC would be fired by the sensor after the entire frame is transmitted i.e. after 1920x480, 921600 PCLKs.
센서가 VGA 프레임 640x480을 전송한다고 가정 해 봅시다. 비디오 프레임은 RGB888 형식입니다. 우리가 픽셀 클록 (PCLK) 당 8 비트(0~255)를 전송하는 카메라 센서를 가지고 있다고 가정 해 봅시다. 이것은 한 픽셀의 데이터를 전송하는 것을 의미하며, 3 개의 PCLK(R, G, B 세가지 색을 모두 전달할 경우?)가 필요합니다. HSYNC는 640 x 3, 1920 PCLK마다 센서에 의해 발사됩니다. VSYNC는 전체 프레임이 전송 된 후 즉 1920x480, 921600 PCLK 이후에 센서에 의해 시작됩니다.

The camera interface's hardware block (that could be a part of any SOC) would constantly monitor the above lines to see if the sensor has transmitted anything. A typical camera interface would come with some internal buffering and would also have an associated DMA to transfer the image to the destination memory. The buffer would capture the incoming pixels to temporarily buffer them, and using the DMA the pixels would be transferred (probably line by line) through multiple burst DMA transfers to a destination address in the memory (pre programmed by the camera interface driver programmer). The camera interface's programmer interface might also give a facility of issuing hardware interrupts upon the receipt of the HSYNC, VSYNC signals to the host micro-controller. This could serve as a useful trigger for DMA reprogramming if required.
카메라 인터페이스의 하드웨어 블록 (SOC의 일부일 수 있음)은 센서가 아무 것도 전송하지 않았는지 확인하기 위해 위의 라인을 지속적으로 모니터링합니다. 전형적인 카메라 인터페이스는 약간의 내부 버퍼링을 가지며 이미지를 대상 메모리로 전송하는 관련 DMA를 갖습니다. 버퍼는 들어오는 픽셀을 캡처하여 일시적으로 버퍼에 저장하고, DMA를 사용하면 메모리의 대상 주소 (카메라 인터페이스 드라이버 프로그래머가 사전 프로그래밍 한)로 다중 버스트 DMA 전송을 통해 픽셀이 전송됩니다. 카메라 인터페이스의 프로그래머 인터페이스는 호스트 마이크로 컨트롤러에 대한 HSYNC, VSYNC 신호 수신시 하드웨어 인터럽트를 발행하는 기능을 제공 할 수도 있습니다. 필요할 경우 DMA 재 프로그래밍을위한 유용한 트리거 역할을 할 수 있습니다.

카메라에서의 PLL
pclk 이 기본으로 Data 라인까지 정상적이라면 PLL 이 Lock 된다.


Digital Camera Basics

원본: Link

Overview
Digital cameras have become increasingly popular for use in machine vision systems thanks to their accuracy, high frame rates, large image sizes, and the ability to change attributes of the camera programmatically. This document describes the basic concepts of digital cameras and how they interact with IMAQ hardware and NI-IMAQ software.
디지털 카메라는 정확성, 높은 프레임 속도, 큰 이미지 크기 및 카메라 속성을 프로그래밍 으로 변경 가능 하기 때문에 머신 비전 시스템에 널리 사용됩니다. 이 문서는 디지털 카메라의 기본 개념과 IMAQ 하드웨어 및 NI-IMAQ 소프트웨어와 상호 작용하는 방법을 설명합니다.

Table of Contents

  1. Anatomy
  2. Taps
  3. Camera Communication
  4. Signal Types


1. Anatomy
The three most important types of digital signals that come out of a digital camera are the data lines, the pixel clock, and the enable lines.
디지털 카메라에서 나오는 가장 중요한 세 가지 유형의 디지털 신호는 데이터 라인, 픽셀 클럭 및 인 에이블 라인입니다.

  • The Data Lines are parallel wires that carry digital signals that correspond to pixel values. Digital cameras typically represent one pixel with 8 bits, 10 bits, 12 bits or even 14 bits. Therefore, it takes 8, 10, 12, or 14 digital lines to represent one pixel. The number of lines per pixel is referred to as the pixel depth. All image data is transferred to an image acquisition device on these lines at the same time, and is constantly toggling up and down.
  • 데이터 라인은 픽셀 값에 해당하는 디지털 신호를 전달하는 병렬 와이어입니다. 디지털 카메라는 일반적으로 8 비트, 10 비트, 12 비트 또는 심지어 14 비트의 (1개)픽셀을 나타냅니다. 따라서 하나의 픽셀을 표현하는 데 8, 10, 12 또는 14 개의 디지털 라인이 필요합니다. 픽셀 당 라인 수를 픽셀 깊이(pixel depth)라고합니다. 모든 이미지 데이터는 동시에 이 라인의 이미지 수집 장치로 전송되며 끊임없이 위아래로 전환됩니다.
  • The Pixel Clock is a high frequency pulse train that determines when the data lines have valid data. On the active edge of the pixel clock (which can be either the rising edge or the falling edge, depending on the camera), the digital lines should all have a constant value that is input into the image acquisition device, which latches in the data. The data changes to the next pixel value before the next active edge of the pixel clock, so that the next pixel value will get latched into the image acquisition device. The pixel clock frequency determines the rate pixels are acquired.
  • 픽셀 클록 (Pixel Clock)은 데이터 라인에 유효한 데이터가있을 때를 결정하는 고주파 펄스 트레인입니다. 픽셀 클럭의 활성 에지 (카메라에 따라 상승 에지 또는 하강 에지 중 하나 일 수 있음)에서 디지털 라인은 모두 이미지 수집 장치에 입력되는 일정한 값을 가져야하며, 이는 데이터를 래치합니다 . 다음 픽셀 값이 이미지 획득 장치에 래치되도록 데이터는 픽셀 클럭의 다음 활성 에지 전에 다음 픽셀 값으로 변경됩니다. 픽셀 클럭 주파수는 픽셀이 획득되는 속도를 결정합니다.
  • The Enable Lines are used to determine where the pixels are located in the image. The H-Enable (also referred to as the HSYNC or Line Enable signal) is active while an entire row of pixels is coming in. At the end of that row of pixels, the H-Enable goes inactive until the beginning of the next row of pixels begins. Another signal, the V-Enable (also referred to as the VSYNC or Frame Enable signal), is active during the entire frame. After one frame is done, the signal goes inactive until the beginning of the next frame. Enable signals can be either active high or active low. Some cameras' Enable Lines are edge-sensitive instead of level-sensitive, meaning that they use the rising edge of timing signals rather than the level. and National Instruments image acquisition devices are designed to work with level-sensitive enable lines and edge-sensitive pixel clocks.
  • 라인 사용은 이미지의 픽셀 위치를 결정하는 데 사용됩니다. H-enable (HSYNC 또는 라인 인 에이블 신호라고도 함)은 픽셀의 전체 행이 들어오는 동안 활성화됩니다. 픽셀 행의 끝에서 H- enable는 다음 행의 시작 때까지 비활성 상태가됩니다 픽셀이 시작됩니다. 또 다른 신호 인 V-Enable (VSYNC 또는 프레임 인 에이블 신호라고도 함)은 전체 프레임 동안 활성화됩니다. 한 프레임이 끝나면 신호는 다음 프레임이 시작될 때까지 비활성 상태가됩니다. 인 에이블 신호는 액티브 하이 또는 액티브 로우 일 수 있습니다. 일부 카메라의 인 에이블 라인은 레벨에 민감하지 않고 경계에 민감합니다. 즉, 레벨보다는 타이밍 신호의 상승 에지를 사용합니다. 내쇼날 인스트루먼트의 이미지 수집 디바이스는 레벨에 민감한 인 에이블 라인 및 에지 감지 픽셀 클럭과 함께 작동하도록 설계되었습니다.

Most digital cameras use a CCD (Charge Coupled Device) sensor to acquire images. The CCD is composed of thousands of small sensors that absorb photons while the shutter is open and build up an electrical charge. When the camera takes a picture, it discharges the CCD elements and converts the voltages into digital data in the camera. The CCD elements form a square or line with each element corresponding to a pixel.
There are two major classes of cameras -- Line Scan and Area Scan. Line Scan cameras use a single row of CCD elements. Also, since there are only lines, Line Scan cameras only require the H-Enable signal. Area Scan cameras feature frames with a defined width and height and use both the H-Enable and V-Enable signals to construct their frames. Below is an image of these two types of cameras with the enable signals and pixel clock. The following figure represents the enable signals and pixel clock signals for Line Scan and Area Scan cameras. Note that the data lines in the figure may change between each active edge of the pixel clock. The data on the lines during the active edge of the pixel clock, when the H-Enable and V-Enable signals are active, will be latched into the image acquisition device.
대부분의 디지털 카메라는 CCD (Charge Coupled Device) 센서를 사용하여 이미지를 수집합니다. CCD는 셔터가 열려있는 동안 광자를 흡수하는 작은 센서로 구성되어 있으며 전기를 충전합니다. 카메라가 사진을 찍으면 CCD 요소를 방전하고 카메라의 전압을 디지털 데이터로 변환합니다. CCD 요소는 각 요소가 픽셀에 해당하는 사각형 또는 선을 형성합니다.
라인 스캔과 영역 스캔의 두 가지 주요 클래스가 있습니다. 라인 스캔 카메라는 CCD 요소의 단일 행을 사용합니다. 또한 회선 만 있기 때문에 라인 스캔 카메라는 H-Enable 신호 만 필요합니다. Area Scan 카메라는 정의 된 너비와 높이의 프레임을 특징으로하며 H-Enable 및 V-Enable 신호를 사용하여 프레임을 구성합니다. 아래는 이네 이블 신호와 픽셀 클록이있는이 두 종류의 카메라의 이미지입니다. 다음 그림은 라인 스캔 및 영역 스캔 카메라의 인 에이블 신호 및 픽셀 클록 신호를 나타냅니다. 그림의 데이터 라인은 픽셀 클록의 각 활성 에지 사이에서 변경 될 수 있습니다. H-Enable 및 V-Enable 신호가 활성화 될 때 픽셀 클럭의 활성 에지 동안 라인의 데이터가 이미지 수집 장치에 래치됩니다.
Figure 2. Area Scan camera that is 12 x 4 (12 pixels per line and 4 lines per frame)

2. Taps
Increasing the speed of a digital camera's pixel clock or acquiring more than one pixel at a time can greatly increase the camera's acquisition speed. A camera that latches only one pixel on the active edge of the pixel clock is known as a single tap camera. A tap, or channel, is defined as a group of data lines that bring in one pixel each. Some cameras have multiple pixels on separate data lines that are all available on the same active edge of the pixel clock. These cameras are called multi-tap cameras, and digital cameras are available with as many as 4 taps. This technique requires more data lines, but allows for faster transfers.
디지털 카메라의 픽셀 클럭 속도를 높이거나 한 번에 두 개 이상의 픽셀을 획득하면 카메라의 획득 속도가 크게 높아질 수 있습니다. 픽셀 클럭의 활성 에지에서 하나의 픽셀 만 래치하는 카메라를 단일 탭 카메라라고합니다. 탭 또는 채널은 각각 하나의 픽셀을 가져 오는 데이터 라인 그룹으로 정의됩니다. 일부 카메라에는 픽셀 클럭의 동일한 활성 에지에서 사용할 수있는 별도의 데이터 라인에 여러 개의 픽셀이 있습니다. 이 카메라를 멀티탭 카메라라고하며 디지털 카메라는 최대 4 번까지 사용할 수 있습니다. 이 기술은 더 많은 데이터 회선을 필요로하지만 더 빠른 전송을 허용합니다.

The IMAQ 1422 Series devices features 16 digital lines, and the IMAQ 1424 Series devices features 32 digital lines. Therefore, an IMAQ 1422 device can support cameras with one 16- bit tap or two 8-bit taps, and an IMAQ 1424 device can handle a single 32-bit tap, two 16-bit taps, or four 8-bit taps. IMAQ devices require a tap to be a multiple of 8 bits, so that even if a camera only has 10 bits per pixel, the device will require a tap of 16 bits to handle the data and ignore the upper 6 bits.
IMAQ 1422 시리즈 디바이스에는 16 개의 디지털 라인이 있으며 IMAQ 1424 시리즈 디바이스에는 32 개의 디지털 라인이 있습니다. 따라서 IMAQ 1422 장치는 하나의 16 비트 탭 또는 두 개의 8 비트 탭이있는 카메라를 지원할 수 있으며 IMAQ 1424 장치는 단일 32 비트 탭, 두 개의 16 비트 탭 또는 네 개의 8 비트 탭을 처리 할 수 ​​있습니다. IMAQ 디바이스는 탭이 8 비트의 배수가되어야하므로 카메라가 픽셀 당 10 비트 만 가지고 있어도 디바이스는 데이터를 처리하고 상위 6 비트를 무시하기 위해 16 비트의 탭이 필요합니다.

There are several different configurations multi-tap cameras use to store data. A single tap camera stores data beginning with the top left pixel and moves to the right before moving down to the next line, continuing in this manner until the last line is completed for that frame. The camera then starts acquiring the pixels at the top of the next frame. The following figures illustrate different storage configurations used by multi-tap cameras.
다중 탭 카메라가 데이터를 저장하는 데 사용하는 여러 가지 구성이 있습니다. 단일 탭 카메라는 왼쪽 상단 픽셀로 시작하는 데이터를 저장하고 오른쪽으로 이동하여 다음 줄로 이동 한 다음 마지막 줄이 해당 프레임에 대해 완료 될 때까지이 방식으로 계속됩니다. 그러면 카메라는 다음 프레임의 상단에서 픽셀 획득을 시작합니다. 다음 그림은 멀티탭 카메라에서 사용되는 다양한 스토리지 구성을 보여줍니다.
Figure 3. Tap illustration

3. Camera Communication
Digital cameras often allow you to change their functionality through serial commands or control signals. You can modify camera attributes through Measurement & Automation Explorer (MAX) by right-clicking on the camera, selecting Properties, and clicking on the Advanced tab. You can view and change all of your camera's properties on this tab. You can also access these properties programmatically using the function imgSetCameraAttributeString or the IMAQ Set Camera Attribute VI in LabVIEW.

Note: Be sure to check for the correct spelling and attribute order when you are setting your camera properties. Always set higher-level attributes first(i.e. before changing the Pulse Width, set the Shutter Control and Shutter Speed to the correct settings.)
지털 카메라는 종종 직렬 명령이나 제어 신호를 통해 기능을 변경할 수 있도록합니다. 카메라를 마우스 오른쪽 버튼으로 클릭하고 속성을 선택한 다음 고급 탭을 클릭하여 MAX (Measurement & Automation Explorer)를 통해 카메라 속성을 수정할 수 있습니다. 이 탭에서 카메라의 모든 속성을보고 변경할 수 있습니다. 또한 LabVIEW의 imgSetCameraAttributeString 또는 IMAQ Set Camera Attribute VI 함수를 사용하여 프로그래밍 방식으로 이러한 프로퍼티에 접근 할 수 있습니다.

참고 : 카메라 속성을 설정할 때 정확한 철자 및 속성 순서를 확인하십시오. 항상 높은 수준의 속성을 설정하십시오 (예 : 펄스 폭을 변경하기 전에 셔터 제어 및 셔터 속도를 올바른 설정으로 변경하십시오).

Serial Commands 
Digital cameras are controlled using either serial commands or control pulses. These methods use the same VIs or function calls. NI-IMAQ and your camera's camera file manage the serial commands and control pulses as required by your camera. The IMAQ 1422 and 1424 Series devices feature a UART chip designed for serial communication with digital cameras. The high-level commands called with the Camera Attribute functions allow you to set these properties without explicit knowledge of the low-level commands. The camera file also makes the use of serial commands and control pulses transparent.
직렬 명령
디지털 카메라는 직렬 명령 또는 제어 펄스를 사용하여 제어됩니다. 이 메소드는 동일한 VI 또는 함수 호출을 사용합니다. NI-IMAQ와 카메라의 카메라 파일은 카메라가 요구하는대로 직렬 명령과 제어 펄스를 관리합니다. IMAQ 1422 및 1424 시리즈 디바이스는 디지털 카메라와의 직렬 통신을 위해 설계된 UART 칩을 특징으로합니다. 카메라 속성 기능으로 호출 된 고급 명령을 사용하면 하위 수준의 명령에 대한 지식 없이도 이러한 속성을 설정할 수 있습니다. 카메라 파일은 또한 직렬 명령과 제어 펄스를 투명하게 사용합니다.

Control Pulses
Another method for controlling the camera is to send digital control pulses. Exposure time is a good example of an attribute that may be controlled with control signals. Some cameras may expect a rising edge before they open the shutter and the shutter stays open until the signal has a falling edge. As soon as the falling edge occurs, the shutter closes and the camera begins transferring the digital data to the image acquisition device. The length of the control pulse determines the shutter time, while the control pulse frequency determines the frame rate.
제어 펄스
카메라를 제어하는 ​​또 다른 방법은 디지털 제어 펄스를 보내는 것입니다. 노출 시간은 제어 신호로 제어 할 수있는 속성의 좋은 예입니다. 일부 카메라는 셔터를 열기 전에 상승 에지를 기대할 수 있으며 신호가 하강 에지에 도달 할 때까지 셔터는 열린 상태를 유지합니다. 하강 에지가 발생하면 셔터가 닫히고 카메라가 디지털 데이터를 이미지 수집 장치로 전송하기 시작합니다. 제어 펄스의 길이는 셔터 시간을 결정하는 반면, 제어 펄스 주파수는 프레임 속도를 결정합니다.

Note: You can set the shutter with serial commands, control pulses, or both. See your camera documentation for more information on which method your camera uses. 
참고 : 직렬 명령, 제어 펄스 또는 두 가지 모두로 셔터를 설정할 수 있습니다. 카메라가 사용하는 방법에 대한 자세한 내용은 카메라 설명서를 참조하십시오.

* Pixel Clock: 8bit(색의 종류에 따라 14bit 까지 가능?)로 이루어짐 하나의 픽셀을 나타낸다(역이서 1나의 픽셀은 한가지 색을 의미하는 것 같다)
3가지 색을 가진 Pixel 이라면 3개의 Pixel 클럭이 있어야 하나의 Pixel 을 나타낼 수 있다?
그러면 3Pixel 클럭이 가로 길이만큼 있으면 hsync, 가로 X 세로 만큼 있으면 vsync

Image Change
Some properties change how the image is formatted. These changes can cause timeout errors. For example, if you are expecting a 1000 x 1000 image, and you change an attribute that changes the image size to 500 x 500, NI-IMAQ will continue to look for a 1000 x 1000 image, resulting in the error message.
일부 속성은 이미지 서식을 변경합니다. 이러한 변경으로 인해 시간 초과 오류가 발생할 수 있습니다. 예를 들어, 1000 x 1000 이미지가 필요하고 이미지 크기를 500 x 500로 변경하는 속성을 변경하면 NI-IMAQ는 계속해서 1000 x 1000 이미지를 찾아 오류 메시지를 표시합니다.

A common example of an attribute that changes the images size is the binning attribute. Binning is a method of combining the charge of two consecutive pixels and returning a single pixel value with a greater charge, producing a smaller, brighter image. Since this attribute affects the image, make sure your window is reduced appropriately so that the reduced image size does not cause an error. While camera attribute functions send the serial command or control pulse and notify NI-IMAQ of the attribute change, you must still change the acquisition size.
이미지 크기를 변경하는 속성의 공통적 인 예는 binning 속성입니다. Binning은 두 개의 연속 픽셀의 전하를 결합하고 단일 픽셀 값을 더 큰 전하로 반환하여 더 작고 밝은 이미지를 생성하는 방법입니다. 이 속성은 이미지에 영향을 미치므로 축소 된 이미지 크기로 인해 오류가 발생하지 않도록 창을 적절하게 축소해야합니다. 카메라 속성 함수가 시리얼 명령 또는 제어 펄스를 전송하고 NI-IMAQ에 속성 변경을 알리는 동안, 여전히 획득 크기를 변경해야합니다.

Note: If the cable coming from the image acquisition device does not have the serial lines connected (often because the serial lines are housed in the power connector of the camera), change the window size to fit the image and then send the serial command using your operating system's COM port.
참고 : 이미지 수집 장치에서 나오는 케이블에 직렬 회선이 연결되어 있지 않은 경우 (종종 직렬 회선이 카메라의 전원 커넥터에 들어 있기 때문에) 이미지에 맞게 창 크기를 변경 한 후 다음을 사용하여 직렬 명령을 보냅니다. 운영 체제의 COM 포트

Camera Files
A camera file tells NI-IMAQ how the camera organizes the pixels, what attributes the camera supports and how to change them, either using serial commands or control pulses.
카메라 파일은 NI-IMAQ에 카메라가 픽셀을 구성하는 방법, 카메라가 지원하는 속성 및 변경 방법을 직렬 명령 또는 제어 펄스를 사용하여 알려줍니다.

Due to all the variations in digital cameras, such as how they format the data and the modes they support, NI-IMAQ requires a camera file to specify how the data is coming in and what serial commands and control pulses should be sent to the camera to change the mode or attributes of the acquisition. You can check the list of Compatible Digital Camera Files to see if there is a digital camera file available for your camera. If you do not see the camera listed here, the NI Camera File Generator can help you create your own custom camera files with an easy to use user interface.
NI-IMAQ는 데이터를 포맷하는 방법과 지원하는 모드와 같은 디지털 카메라의 모든 변형으로 인해 데이터 입력 방법과 카메라로 전송할 일련의 명령과 컨트롤 펄스를 지정하는 카메라 파일이 필요합니다 획득의 모드 또는 속성을 변경합니다. 호환되는 디지털 카메라 파일 목록을 확인하여 카메라에서 사용할 수있는 디지털 카메라 파일이 있는지 확인할 수 있습니다. 여기에 나열된 카메라가 보이지 않는다면 NI Camera File Generator를 사용하여 사용하기 쉬운 사용자 인터페이스로 사용자 정의 카메라 파일을 만들 수 있습니다.

See Also:
NI Camera File Generator

4. Signal Types

There are four types of digital signals used to send the image data to your image acquisition device.
이미지 수집 장치로 이미지 데이터를 전송하는 데 사용되는 네 가지 유형의 디지털 신호가 있습니다.

  • TTL is a single-ended, 0 to 5 V signal. It can travel only about 1 meter (6-8 feet) reliably. Due to the large voltage swing, the signal cannot maintain pixel clock frequencies above 20 MHz. TTL signals are not as common because of these limitations.
  • TTL은 단일 종단 형, 0 ~ 5V 신호입니다. 그것은 약 1 미터 (6-8 피트) 정도의 거리를 안정적으로 여행 할 수 있습니다. 전압 스윙이 크기 때문에 신호는 20MHz 이상의 픽셀 클럭 주파수를 유지할 수 없습니다. TTL 신호는 이러한 한계 때문에 흔하지 않습니다.
  • RS-422 is a differential signal that can travel about 6-8 meters (18-24 feet). It has the limitation of 20 MHz maximum for the pixel clock. This type of signal is typically used for digital cameras that do not require pixel clocks faster than 20 MHz.
  • RS-422는 약 6-8 미터 (18-24 피트)를 이동할 수있는 차동 신호입니다. 픽셀 클럭에는 최대 20 MHz의 한계가 있습니다. 이 유형의 신호는 일반적으로 20 MHz보다 빠른 픽셀 클럭을 필요로하지 않는 디지털 카메라에 사용됩니다.
  • LVDS (Low Voltage Differential Signal) is a differential signal with a lower voltage swing. The differential property allows for 6-8 meters (18-24 feet) of digital data integrity, and the lower voltage swing allows the signals to have greater than 20 MHz frequencies. Cameras that require faster pixel clocks use LVDS signals.
  • LVDS (Low Voltage Differential Signal)는 전압 스윙이 낮은 차동 신호입니다. 차동 특성은 6-8 미터 (18-24 피트)의 디지털 데이터 무결성을 허용하며, 낮은 전압 스윙은 신호가 20 MHz 이상의 주파수를 갖도록합니다. 더 빠른 픽셀 클럭을 필요로하는 카메라는 LVDS 신호를 사용합니다.
  • Camera Link is a new digital standard that sends back serialized data instead of parallel. All bits pass through a converter onboard the camera, which places all of the data on a single line. The device then sends this single line back through a converter to return the data to the camera. This standard allows for thinner cables and uses a standard connector. The Camera Link standard can support pixel clocks greater than 20 MHz and can travel up to 10 meters (30 feet). Camera Link's enable lines use the LVDS signal. Camera Link eliminates the burden of specialty cables, since the Camera Link cable is compatible with every Camera Link camera and image acquisition device.
  • Camera Link는 병렬 대신 직렬화 된 데이터를 다시 전송하는 새로운 디지털 표준입니다. 모든 비트는 카메라에 내장 된 변환기를 통과하여 모든 데이터를 한 줄에 배치합니다. 그런 다음 장치는이 단일 라인을 변환기를 통해 다시 전송하여 데이터를 카메라로 반환합니다. 이 표준은 더 얇은 케이블을 허용하고 표준 커넥터를 사용합니다. Camera Link 표준은 20 MHz 이상의 픽셀 클록을 지원하며 최대 10 미터 (30 피트)까지 이동할 수 있습니다. Camera Link의 인 에이블 라인은 LVDS 신호를 사용합니다. Camera Link 케이블은 모든 Camera Link 카메라 및 이미지 수집 장치와 호환되므로 Camera Link는 특수 케이블의 부담을 없애줍니다.

The table below lists the boards that support the four digital formats.

Note: The IMAQ 1424 and 1422 Series devices each have a RS-422 and LVDS version. 

2017년 11월 12일 일요일

Serial Port 에 대한 이해

Serial Port 는 말 그대로 컴퓨터 통신에서 bit 를 1개씩 일렬로 전달하는 것을 말한다. 이는 병렬로 데이터가 전송되는 parallel 과 대비되어 serial한 모든 통신을 나타낸다고 생각할 수 있지만(그런 의미도 포함한다)실제로는 RS232 표준이 구현된 H/W를 의미한다. RS232는 IBM 에서 처음 만들었던 Personal Computer 의 표준이었기 때문에 모든 컴퓨터에는 필수적으로 있었다. 하지만 RS232 는 속도가 느렸기 때문에 USB로 대체가 되어서 지금 나오는 컴퓨터들에는 Serial Port가 없다. 하지만 Serial Port가 워낙 많이 사용되었고 간단하기 때문에 이와 호환할 수 있는 Serial to USB(혹은 USB to Serial) 을 거의 모든 컴퓨터에서 지원(Mother board 에 COM Port 형태)한다. 

참조
Wilkipedia - SerialPort
Wikipedia - RS232
Wikipedia - Personal Computer
Wikipedia - COM Port