4 GL , Image Processing , Video Conferencing .

1.4GL


A fourth-generation programming language (4GL) is a computer programming language envisioned as a refinement of the style of languages classified as third-generation programming language (3GL).

Languages claimed to be 4GL include :
  • Support for database management, 
  • Report generation
  • Mathematical optimization,
  • GUI development, or web development

Fourth-generation languages have often been compared to domain-specific languages (DSLs). Some researchers state that 4GLs are a subset of DSLs.

The concept of 4GL was developed from the 1970s through the 1990s, overlapping most of the development of 3GL.

While 3GLs like CC++C#Java, and JavaScript remain popular for a wide variety of uses, 4GLs as originally defined found narrower uses. 

Some advanced 3GLs like PythonRuby, and Perl combine some 4GL abilities within a general-purpose 3GL environment. 

Also, libraries with 4GL-like features have been developed as add-ons for most popular 3GLs. This has blurred the distinction of 4GL and 3GL.

FEATURES -4GL :

1. It's compatible with number of commercial products
  • The option to mix and match features and environments based on particular situation. 
  • User will never again be locked in one compiler, one company or one database. 
  • User can develop wit commercial product, deploy with a 4GL and save on runtime licensing, at the same time gaining the speed of C compiled runtime. 
  • User can use 4GL Wizard functionality and templates in development, and deploy using commercial runtime that supports client side functionality that is not present in Aubit 4GL at the moment.



2. Database, OS and platform and user interface independent
  • ODBC means choosing database is no longer the issue. 
  • Usercan develop and deploy wherever GCC compiler is available with single recompile. 
  • And because of full n-tire support,  use CUI, GUI and Web interfaces from same code, and same compiled program, at the same time.


3. It already has big developers base, and big existing applications base

  • User will not need to look hard to find developers for your projects. 
  • And since 4GL is English-like in syntax, programmers with experience in any language will be productive in just few days.
  • User will not need to look far to find commercial, tried and tested applications in any field of business oriented database applications.

4. Syntax and functionality Features:
  • Associative Arrays -This productivity enhancement will make complex Array manipulations easy and fast, and at the same time make your code easier to maintain and understand.
  • PAUSE Screen Handling -Will enhance usability over the slower connection lines, no matter what front-end implementation user will deploy.
  • ODBC Compliance -Is the crucial feature for unprecedented connectivity and freedom of database options in 4GL world.
  • Multiple concurrent connections-Based on ODBC access concept, this feature will enable to easily open several databases at the same time, and keep them open, and also to open several databases from several vendors from different servers, bringing together all database resources in corporate environments.
  • Application Constants-Small but effective contribution to error free programs that are easier to maintain and debug.
  • Map Files -Will for the first time enable user to have full overview of what is code doing, how, and where. Indispensable for debugging and understanding of unfamiliar code, and behavior of compiler.
  • Variable IDs -No more hard-coded ID names! You can specify and reference all 4GL objects in the runtime! No more copy-and-paste code just to change ID names, resulting in higher productivity and code that is compact and easier to maintain.
  • Passing IDs to functions -One of the implications of Variable IDs, it will allow user to name objects passed to functions, even in another module.
  • Embedded 'C' code. -No mere messing around external C code, and no more complex make and link process. Just embed your C code with your 4gl code, in the same source code file. 
  • Move/Show/Hide Window -Enhanced windows manipulation resulting in more usable and flexible user interfaces.


TYPES OF 4GLS :

1. Table-driven (codeless) programming
  • It is usually running with a runtime framework and libraries. Instead of using code, the developer defines his logic by selecting an operation in a pre-defined list of memory or data table manipulation commands. 
  • In other words, instead of coding, the developer uses Table-driven algorithm programming 
  • EXAMPLE- S A  language is PowerBuilder
  • These types of tools can be used for business application development usually consisting in a package allowing for both business data manipulation and reporting, therefore they come with GUI screens and report editors.
  • They usually offer integration with lower level DLLs generated from a typical 3GL for when the need arise for more hardware/OS specific operations.



2. Report-generator programming languages 
  • These take a description of the data format and the report to generate and from that they either generate the required report directly or they generate a program to generate the report. 



3. Forms generators 
  • These manage online interactions with the application system users or generate programs to do so.



4. Data management 4GLs
  • These provide sophisticated coding commands for data manipulation, file reshaping, case selection and data documentation in the preparation of data for statistical analysis and reporting.
  • Example -SAS, SPSS and Stata .



5. More ambitious 4GLs (sometimes termed fourth generation environments)
  • These attempt to automatically generate whole systems from the outputs of CASE tools, specifications of screens and reports, and possibly also the specification of some additional processing logic.


Some 4GLs have integrated tools which allow for the easy specification of all the required information:
  • James Martin's version of Information Engineering systems development methodology was automated to allow the input of the results of system analysis and design in the form of data flow diagrams, entity relationship diagrams, entity life history diagrams etc. from which hundreds of thousands of lines of COBOL would be generated overnight.
  • More recently Oracle Corporation's Oracle Designer and Oracle Developer Suite 4GL products could be integrated to produce database definitions and the forms and reports programs.



EXAMPLES OF 4GLS:

  • 1. General use / versatile :Clarion , Clipper , Perl , PHP , Ruby , Python , Fox Pro , Oracle Application Development Framework.
  • 2.Database Query languages : FOCUS , SQL , Ramis , Informix - 4GL  .
  • 3. Report Generators :  Build Professional , LIRC , NATURAL .
  • 4. GUI creators :4th Dimension (Software) ,MATLAB's GUIDE , Omnis Studio ,OpenROAD , Progress 4GL AppBuilder , SuperCard.


ADVANTAGES -4GLS:

  1. Simplified the programming process.
  2. Use non-procedural languages that encourage users and programmers to specify the results they want, while the computers determines the sequence of instructions that will accomplish those results.
  3. Use natural languages that impose no rigid grammatical rules.
  4. Programmer only interested in what has to be done, at a very high level.
  5. Greater Programmer efficiency and easier maintenance.
  6. Hypertext online help systems.
  7. Integrated debugging environments.
  8. Automation of routine tasks. (Application Generators) .
  9. Data Dictionaries allow automatic type checking (for the programmer and for user input).
  10. Programming Environments have incremental compilation.
  11.  Consistency of the user interface.
  12.  Rapid prototyping of the user interface.
  13. Use of procedural templates means fewer errors.
  14. Its fast.


DISADVANTAGES -4GLS:

  1. Less flexible that other languages.
  2. Programs written in 4GLs are generally far less efficient during program execution that programs in high-level languages. Therefore, their use is limited to projects that do not call for such efficiency.
  3. Very large memory / computer power requirements .
  4.  Learning Curve is long (and possibly steep).

2.IMAGE PROCESSING


Definition:
Image processing is the application osignal processing techniques to the domain of images — two-dimensional signals such as photographs or video.

Image processing applies techniques to modify or interpret existing pictures, such as photographs, X-rays, TV scans etc.


It allows end user to electronically capture, store, process and retrieve images of documents that may include numeric data, text, handwriting, graphics and photographs. This application area is also known as electronic image management (EIM).


APPLICATIONS :

1. These techniques are used extensively in commercial art applications that involve the retouching and arranging of sections of photographs and other artwork.

2. Similar methods are used to analyze satellite photos of the earth and galaxies.


3. Medical applications also make extensive use of image processing techniques for picture enhancements, in tomography (CAT scan, PET scan etc.) and in simulations of operations.

Purpose of Image processing

1.      Visualization - Observe the objects that are not visible.
2.      Image sharpening and restoration - To create a better image.
3.      Image retrieval - Seek for the image of interest.
4.      Measurement of pattern – Measures various objects in an image.
5.      Image Recognition – Distinguish the objects in an image.



TYPES OF IMAGE PROCESSING :


1. Analog Image processing

Analog image processing is done on analog signals. 

An analog or analogue signal is any continuous signal for which the time varying feature (variable) of the signal is a representation of some other time varying quantity, i.e., analogous to another time varying signal. 
For example, in an analog audio signal, the instantaneous voltage of the signal varies continuously with the pressure of the sound waves.  
Analog image processing includes processing on two dimensional analog signals. In this type of processing, the images are manipulated by electrical means by varying the electrical signal. 
Example -The television image.
Analogue image processing can be used for the hard copies like printouts and photographs. Image analysts use various fundamentals of interpretation while using these visual techniques.


2. Digital image processing

The digital image processing deals with developing a digital system that performs operations on an digital image.
This technique helps in manipulation of the digital images by using computers. 
The three general phases that all types of data have to undergo while using digital technique are pre-processing, enhancement, and display, information extraction.

ADVANTAGE -
1. Digital image processing has dominated over analog image processing with the passage of time due its wider range of applications.
2. Since images are defined over two dimensions (perhaps more) digital image processing may be modeled in the form of multidimensional systems.

APPLICATIONS -Films , Digital cameras .



3.VIDEO CONFERENCING

DEFINITION:

Video conferencing is use to allow people sitting in the different parts of the city, country or world to meet face to face without actually being there. This is possible with the help of special cameras attached to computers. The images are digitized and bounced to the place of person’s choice by means of a satellite link.

REQUIREMENTS:

(i) ISDN network                        (iv) Desktop PC
(ii)Video camera                         (v) NT (Network terminal)
(iii)Micro Phone with speakers  (vi) Appropriate software.




KEY FEATURES :

  1. 􀂙High Speed Lines (Minimum speed is 128 kbps).
  2. Use fully digital ISDN (Integrated Service Design Network) line.
  3. Multi-point conference unit: Maximum four remote users can join video conferencing at a time.
  4. Remote users must necessarily be having all the minimum requirements.

TECHNOLOGY :

1. The core technology used in a video conferencing system is digital compression of audio and video streams in real time.

2. The hardware or software that performs compression is called a codec (coder/decoder). Compression rates of up to 1:500 can be achieved.
3. The resulting digital stream of 1s and 0s is subdivided into labeled packets, which are then transmitted through a digital network of some kind (usually ISDN or IP). 

4. The use of audio modems in the transmission line allow for the use of POTS, or the Plain Old Telephone System, in some low-speed applications, such as video telephony, because they convert the digital pulses to/from analog waves in the audio spectrum range.

The other components required for a video conferencing system include:

  • Video input: video camera or webcam
  • Video output: computer monitor, television or projector
  • Audio input: microphones, CD/DVD player, cassette player, or any other source of PreAmp audio outlet.
  • Audio output: usually loudspeakers associated with the display device or telephone
  • Data transfer: analog or digital telephone network, LAN or Internet
  • Computer: a data processing unit that ties together the other components, does the compressing and decompressing, and initiates and maintains the data linkage via the network.

KINDS OF VIDEO CONFERENCING SYSTEMS :

1. DEDICATED SYSTEMS:

They have all required components packaged into a single piece of equipment, usually a console with a high quality remote controlled video camera. 

These cameras can be controlled at a distance to pan left and right, tilt up and down, and zoom. They became known as PTZ cameras. The console contains all electrical interfaces, the control computer, and the software or hardware-based codec.

Omnidirectional microphones are connected to the console, as well as a TV monitor with loudspeakers and/or a video projector.

Types of dedicated video conferencing devices:

  1. Large group video conferencing are non-portable, large, more expensive devices used for large rooms and auditoriums.
  2. Small group video conferencing are non-portable or portable, smaller, less expensive devices used for small meeting rooms.
  3. Individual video conferencing are usually portable devices, meant for single users, have fixed cameras, microphones and loudspeakers integrated into the console.


2. DESKTOP SYSTEMS:

Desktop systems are add-ons (hardware boards or software codec) to normal PCs and laptops, transforming them into videoconferencing devices. 

A range of different cameras and microphones can be used with the codec, which contains the necessary codec and transmission interfaces. 

Most of the desktops systems work with the H.323 standard. 

Videoconferences carried out via dispersed PCs are also known as e-meetings. These can also be nonstandard, Microsoft Lync, Skype for Business, Google Hangouts, or Yahoo Messenger or standards based, Cisco Jabber.


3. WebRTC Platforms 

These are video conferencing solutions that are not resident by using a software application but is available through the standard web browser. 

Solutions such as Adobe Connect and Cisco WebEX can be accessed by going to a URL sent by the meeting organizer and various degrees of security can be attached to the virtual "room". 

Often the user will be required to download a piece of software, called an "Add In" to enable the browser to access the local camera, microphone and establish a connection to the meeting.



APPLICATIONS :

(i) Largely used in medical science to cure patients plunge areas; Medical professionals / consultants / surgeons can help or advise other doctors while watching the surgery on the monitors.

(ii) It allows the users to transit documents, images, drawings, live video etc.


(iii) It provides the online conferencing, seminars, meetings of the board of director’s etc.

Law and Tax consultants can also give their expert comments on this system online.

(v) Exchanging information, reviewing performance, checking on the progress of a project, making a presentation, discussing strategies or taking an interview, etc.

(vi) Cuts out cost and waste full time on travel, set up meetings without usual delays. This virtual helps in time control, decision making and reduce geographical barriers.

(vii) More applications; Training / education interviews, inter and intra company meetings, executive communications, sales presentations, staff / division meetings, product reviews, project management, remote consultation, market research / focus group studies, meeting preparation / follow up.



Multipoint videoconferencing


Simultaneous videoconferencing among three or more remote points is possible by means of a Multipoint Control Unit (MCU). 

This is a bridge that interconnects calls from several sources (in a similar way to the audio conference call). All parties call the MCU, or the MCU can also call the parties which are going to participate, in sequence. 

There are MCU bridges for IP and ISDN-based videoconferencing. There are MCUs which are pure software, and others which are a combination of hardware and software. An MCU is characterised according to the number of simultaneous calls it can handle, its ability to conduct transposing of data rates and protocols, and features such as Continuous Presence, in which multiple parties can be seen on-screen at once. 

MCUs can be stand-alone hardware devices, or they can be embedded into dedicated videoconferencing units.
The MCU consists of two logical components:
  1. A single multipoint controller (MC), and
  2. Multipoint Processors (MP), sometimes referred to as the mixer.

The MC controls the conferencing while it is active on the signaling plane, which is simply where the system manages conferencing creation, endpoint signaling and in-conferencing controls. This component negotiates parameters with every endpoint in the network and controls conferencing resources. 

While the MC controls resources and signaling negotiations, the MP operates on the media plane and receives media from each endpoint. The MP generates output streams from each endpoint and redirects the information to other endpoints in the conference.

Some systems are capable of multipoint conferencing with no MCU, stand-alone, embedded or otherwise. These use a standards-based H.323 technique known as "decentralized multipoint", where each station in a multipoint call exchanges video and audio directly with the other stations with no central "manager" or other bottleneck. 

Advantages of multi video conferencing:

1. With this technique are that the video and audio will generally be of higher quality because they don't have to be relayed through a central point. 

2. Also, users can make ad-hoc multipoint calls without any concern for the availability or control of an MCU. 

3. The added convenience and quality comes at the expense of some increased network bandwidth, because every station must transmit to every other station directly.

Cloud-based video conferencing

Cloud-based video conferencing can be used without the hardware generally required by other video conferencing systems, and can be designed for use by SMEs, or larger international companies like Facebook. 

Cloud-based systems can handle either 2D or 3D video broadcasting. Cloud-based systems can also implement mobile calls, VOIP, and other forms of video calling. 

They can also come with a video recording function to archive past meetings.

ADVANTAGES OF VIDEO CONFERENCING:


  1. Higher data transmission rate and low error rate.
  2. Large travelling distance.
  3. Voice, picture, video, text, graphics etc are transmit at real time basis.
  4. Maintenance is easy.
  5. Reduction in cost.
  6. Enhance decision making;
  7. More people in different part of world can involve.
  8. More timely decisions, informed and involved decisions.
  9. 􀂙Enhance company operations and hence greater productivity is possible with wide ranging applications. (Employee satisfaction, greater involvement, participation in decision making).



DISADVANTAGES- 


1. Technical issues : 
Computer security experts have shown that poorly configured or inadequately supervised videoconferencing system can permit an easy 'virtual' entry by computer hackers and criminals into company premises and corporate boardrooms, via their own videoconferencing systems. 

2. Signal latency
The information transport of digital signals in many steps need time. In a telecommunicated conversation, an increased latency (time lag) larger than about 150–300 ms becomes noticeable and is soon observed as unnatural and distracting. Therefore, next to a stable large bandwidth, a small total round-trip time is another major technical requirement for the communication channel for interactive videoconferencing.

3. Other issues :
Some observers argue that three outstanding issues have prevented videoconferencing from becoming a standard form of communication, despite the ubiquity of videoconferencing-capable systems. These issues are:

  1. Eye contact: Eye contact plays a large role in conversational turn-taking, perceived attention and intent, and other aspects of group communication. While traditional telephone conversations give no eye contact cues, many videoconferencing systems are arguably worse in that they provide an incorrect impression that the remote interlocutor is avoiding eye contact. Some telepresence systems have cameras located in the screens that reduce the amount of parallax observed by the users. This issue is also being addressed through research that generates a synthetic image with eye contact using stereo reconstruction.The issue of eye-contact may be solved with advancing technology, and presumably the issue of appearance consciousness will fade as people become accustomed to videoconferencing.
  2. Appearance consciousness: A second psychological problem with videoconferencing is being on camera, with the video stream possibly even being recorded. The burden of presenting an acceptable on-screen appearance is not present in audio-only communication. Early studies by Alphonse Chapanis found that the addition of video actually impaired communication, possibly because of the consciousness of being on camera.